• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

If fonksiyonu yerine makro ile birleştirme

Erdinç FIRTINA

Altın Üye
Katılım
14 Şubat 2007
Mesajlar
400
Excel Vers. ve Dili
excel 2003 türkçe
Değerli forum üyeleri,

belirli satırlardaki hücreleri, if fonksiyonu yerine makro ile birleştirmek istiyorum.

Açıklamalarım ek dosyadadır.
Yardımlarınız için şimdiden teşekkürler !!!
 

Ekli dosyalar

Private Sub CommandButton1_Click()
For b = 0 To 50
For a = 0 To 19
If Cells(8 + b, 8 + a).Value <> "" Then
Cells(8 + b, 92 + a).Value = "+"
Else
Cells(8 + b, 92 + a).Value = ""
End If
Next a
Next b


End Sub


şeklinde sadece + koymayı yaptım ama biraz amatörce oldu biraz döngü fazla olunca geç tamamlıyor. ustalarım daha pratik yaparlar bizde öğrenmiş oluruz.
 
Private Sub CommandButton1_Click()
For b = 0 To 50
For a = 0 To 19
If Cells(8 + b, 8 + a).Value <> "" Then
Cells(8 + b, 92 + a).Value = "+"
Else
Cells(8 + b, 92 + a).Value = ""
End If
Next a
Next b


End Sub
şeklinde sadece + koymayı yaptım ama biraz amatörce oldu biraz döngü fazla olunca geç tamamlıyor. ustalarım daha pratik yaparlar bizde öğrenmiş oluruz.
 
Sayın Burhan4,
Çok çok teşekkür ederim. Elinize, yüreğinize sağlık. Umarım diğer ustalar da farklı çözüm yolları konusunda yardımcı olurlar...
 
Sayın Burhan4,
"+" sembollerini aktarmaya CN8 yerine AX8 den başlasaydık makro nasıl olmalıydı?
 
Sayın Burhan4,
makronun açıklanması konusunda yardımcı olabilir misiniz ?

Private Sub CommandButton1_Click()
For b = 0 To 50 (örneğin buradaki 0 ve 50 neyi ifade ediyor ?)
For a = 0 To 19 (örneğin buradaki 0 ve 19neyi ifade ediyor ?)
If Cells(8 + b, 8 + a).Value <> "" Then (örneğin buradaki 8 neyi ifade ediyor ?)
Cells(8 + b, 92 + a).Value = "+" (örneğin buradaki 8 ve 92neyi ifade ediyor ?)
Else
Cells(8 + b, 92 + a).Value = ""
End If
Next a
Next b


End Sub
 
şu kodu deneyin..

Sub dayligt()
Application.ScreenUpdating = False
Range("cm8:dı550").ClearContents
For x = 8 To [h1000].End(3).Row
For y = 8 To 27
If Cells(x, y) <> "" Then
a = a + 1
Cells(x, 84 + y) = "+"
If a = 1 Then
Cells(x, "dı") = Cells(x, y)
Else
Cells(x, "dı") = Cells(x, "dı") & "+" & Cells(x, y)
End If
End If
Next y
a = 0
Next x
Application.ScreenUpdating = True
MsgBox "İşleminiz bitmiştir.", vbInformation
End Sub
 
Sayın apocalyt,

Elinize, beyninize ve de yüreğinize sağlık !!! Her şey için çok çok teşekkürler !!!

Aynı kodları CN8 yerine AX8 den başlatmak isteseydik, kodlar nasıl olacaktı ?

Ya da kodların açıklamasını yapabilir misiniz ? Ben ona göre uyarlayabilirim belki ...
 
Meraba,
şu kodu deneyiniz..

Sub dayligt()
Application.ScreenUpdating = False
Range("ax8:bs550").ClearContents
For x = 8 To [h1000].End(3).Row
For y = 8 To 27
If Cells(x, y) <> "" Then
a = a + 1
Cells(x, 42 + y) = "+"
If a = 1 Then
Cells(x, 71) = Cells(x, y)
Else
Cells(x, 71) = Cells(x, 71) & "+" & Cells(x, y)
End If
End If
Next y
a = 0
Next x
Application.ScreenUpdating = True
MsgBox "İşleminiz bitmiştir.", vbInformation
End Sub
 
Sayın apocalyt,
Çok çok teşekkür ederim. Elinize, beyninize ve karşılıksız yardım eden yüreğinize sağlık !!!
 
Geri
Üst