makro açıklaması

Katılım
20 Ekim 2005
Mesajlar
476
aşağıdaki kod içinde bulunan satırları karşılarına açıklayacak arkadaşlara şimdiden teşekkür ederim.

kod :

Private Sub CommandButton1_Click()
If ComboBox1.ListIndex < 0 Then Exit Sub
For i = 2 To Worksheets("Sayfa34").Cells(65536, 2).End(xlUp).Row
For k = 2 To Worksheets("Sayfa31").Cells(65536, 2).End(xlUp).Row
If Worksheets("Sayfa34").Cells(i, 2) = Worksheets("Sayfa31").Cells(k, 2) Then
b = 3 * (ComboBox1.ListIndex + 1)
c = 2
For a = b To b + 2
c = c + 1
Worksheets("Sayfa31").Cells(k, a) = Worksheets("Sayfa34").Cells(i, c) Next a

GoTo SONRAKİ
End If
Next k
SONRAKİ:
Next i
MsgBox "Aktarma Tamamlandı", vbOKOnly
End Sub
 
Katılım
20 Ekim 2005
Mesajlar
476
bu konuda yardımcı olabilecek arkadaşlarlar lütfen yardımcı olursanız çok sevinirim
 
Katılım
16 Aralık 2005
Mesajlar
130
Private Sub CommandButton1_Click()
(Ã?zel Yordam) Komut Düğmesi1'in tıklanması olayı hakkında

If ComboBox1.ListIndex < 0 Then Exit Sub
Eğer AçılanKutu1'in Liste Sıra nosu 0'dan küçükse Sub yordamından çık

For i = 2 To Worksheets("Sayfa34").Cells(65536, 2).End(xlUp).Row
i için = 2 ile Sayfa34 adlı sayfada 65536.satır 2. sütundan yukarı çık satır nosunu al işte 2 ile bu no arasında hareket et

For k = 2 To Worksheets("Sayfa31").Cells(65536, 2).End(xlUp).Row
k için = 2 ile Sayfa31 adlı sayfada 65536.satır 2. sütundan yukarı çık satır nosunu al işte 2 ile bu no arasında hareket et

If Worksheets("Sayfa34").Cells(i, 2) = Worksheets("Sayfa31").Cells(k, 2) Then
Eğer Sayfa34 adlı sayfa i'nci satır[2 ile 65536.satır 2. sütundan yukarı çıkılıp bulunan satır no arasını ifade eder] 2. sütun eşitse = Sayfa31 adlı sayfa k'ncı satıra[2 ile 65536.satır 2. sütundan yukarı çıkılıp bulunan satır no arasını ifade eder]

b = 3 * (ComboBox1.ListIndex + 1)
b değişkeni = 3 çarpı (AçılanKutu1'in Liste Sıra nosuna 1 ekle

c = 2
c değişkenide 2 olsun

For a = b To b + 2
a değişkeni için = b değişkeni ile b değişkeninin 2 fazlası arasında hareket et

c = c + 1
c değişkeni = c değişkeninin 1 fazlası ( c döngü hareketince 1 artacak)

Worksheets("Sayfa31").Cells(k, a) = Worksheets("Sayfa34").Cells(i, c)
Sayfa31'de k. satır a. sütun) eşittir Sayfa34'de i.satır, c.sütuna

Next a
a değişkeni kontrolörü

GoTo SONRAKİ
SONRAKİ yazan satıra git

End If
eğer sonu

Next k
k değişkeni kontrolörü

SONRAKİ:
sonraki yazan satır burası

Next i
i değişkeni kontrolörü

MsgBox "Aktarma Tamamlandı", vbOKOnly
Meseaj Kutusu iletisi "Notunuz", Sadece OK düğmesi görüntülensin

End Sub
Sub yordamı bitişi

Genel Anlam: Sayfa34 ile Sayfa31 arasında döngüler yardımıyla benzeşmeler oluşmuşmu kontrol ediliyor, bazı değişkenler belirli kriterlere göre sayaç şeklinde artıyor, ilk döngülerdeki değişkenler ve sayaç ifadeleri ile artırılan değişkenler kullanılarak Sayfa31 ile Sayfa34 arasında satır sütunlar birbirlerine eşitleniyor. Döngüler sonrasında mesaj veriliyor
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sn osmantelci gayet güzel açıklamalarda bulunmuş, bende yeri gelmişken ufak bir bilgi vereyim.

[vb:1:e5670c1dbf]If ComboBox1.ListIndex < 0 Then Exit Sub
[/vb:1:e5670c1dbf]

Yukarıdaki satırın manasını biraz daha açarsak, comboboxun listindex değerinin sıfırdan küçük olması demek (bu değer sadece "-1" olabilir) comboboxta hiç bir verinin seçili olmaması demektir.
 
Üst