• DİKKAT

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

satır silme

Katılım
11 Temmuz 2007
Mesajlar
132
Excel Vers. ve Dili
2007
Merhaba arkadaşlar…Aşağıdaki verdiğiniz kodla biraz oynadım…Amacım A sütunundaki değerlerle B sütunundaki değerleri kombinasyonu D ve E sütunlarına yazdırmak.. Sonuçta 10x10=100 değer çıkıyor fakat bir satır kod daha ilave edip,eğer A sütunun daki değer B sütunundaki değere eşitse, o satır silinsin.. böylece sanırım 90 satırlık bir liste oluşmalı.. Yardımcı olur musunuz .. Teşekkürler


Option Explicit

Sub Kombinasyon()

Dim X1, X2, Satır
Dim i As Long
Dim m As Long, sonuc As Long

i = Cells(Rows.Count, "A").End(3).Row
m = Cells(Rows.Count, "b").End(3).Row
Satır = 1
Range("D:E").ClearContents

For X1 = 1 To i
For X2 = 1 To m

Cells(Satır, "D") = Cells(X1, 1)
Cells(Satır, "E") = Cells(X2, 2)

Satır = Satır + 1


sonuc = i * m
Next
Next

MsgBox "..." & son& & ".adet satır var", vbInformation
End Sub
'*** Eğer A1 deki değer B1 deki değere eşitse, o değerler yazılmasın..silinsin
'Bunun için döngünün içine nasıl bir kod yazalım..? Teşekkürler
Ayrıca:"m = Cells(Rows.Count, "b").End(3).Row" satırındaki "End(3).Row" daki 3 ün anlamı ne ?"
 

Ekli dosyalar

Merhaba,

Kod içinde basit bir karşılaştırma ile isteğiniz gerçekleşir.
Aşağıdaki kodları deneyiniz. Kırmızı ile belirtilen benim eklediğim satırlardır.
Ayrıca Sonuç hesaplamasını sildim her seferinde hesaplıyordu.


Kod:
Sub Kombinasyon()
 
    Dim X1, X2, Satır
    Dim i As Long
    Dim m As Long, sonuc As Long
    
    i = Cells(Rows.Count, "A").End(3).Row
    m = Cells(Rows.Count, "b").End(3).Row
    Satır = 1
[COLOR=red]Application.ScreenUpdating = False
[/COLOR]    Range("D:E").ClearContents
    
    For X1 = 1 To i
        For X2 = 1 To m
            [COLOR=red]If Not Cells(X1, 1) = Cells(X2, 2) Then
[/COLOR]                Cells(Satır, "D") = Cells(X1, 1)
                Cells(Satır, "E") = Cells(X2, 2)
                Satır = Satır + 1
           [COLOR=red] End If
[/COLOR]        Next
    Next
    
    [COLOR=red]Application.ScreenUpdating = True
    MsgBox "İşlem Tamamlandı...", vbInformation
[/COLOR]    
End Sub
 
Teşekür ettim...işlem tammam.. elinize sağlıkk..
 
Geri
Üst