iki dizinin yada erimin eşitliği

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
bir arkadaşın sorusununa istinaden araştırma yapıyorum yardımcı olursanız seviniirm.

Kod:
Sub TotoKuponuKolonKonrol_Hsayar()
Dim Csf As Worksheet: Set Csf = Worksheets("sayfa1")
'Dim snlSat() As String, snlsatTemp() As String
Dim arrSut1 As Variant, arrSut2 As Variant
Dim strSut1 As Variant, strSut2 As Variant
Dim stnNo1%, stnNo2%
 'Dim data As Variant
'Dim i%, ii%, iStn%, iStr%, lngSnsNo1&, lngSnsNo0&, lngSnsNo2&
With Csf
    stnNo1 = 12
    stnNo2 = 15
    arrSut1 = .Range(.Cells(2, stnNo1), .Cells(16, stnNo1)).Value
    arrSut2 = .Range(.Cells(2, stnNo2), .Cells(16, stnNo2)).Value
    
    
    If arrSut1 = arrSut2 Then
       MsgBox "12 ve 13 nolu kolonlar birbirine eşittir"
    End If
End With
End Sub
100 lü döngüye gireceği için içine birde 16 lık birleştirme döngüsü yazmadan evvel sorayım dedim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
benim bulduğum yöntemim aşağıdaki gibi; dediğim gibi 8 ila 107. ci sütunlar arasında kontroller yapılacak.
Kod:
Sub TotoKuponuKolonKonrol_Hsayar()

Dim Csf As Worksheet: Set Csf = Worksheets("sayfa1")
'Dim snlSat() As String, snlsatTemp() As String
Dim arrSut1 As Variant, arrSut2 As Variant
Dim strSut1 As Variant, strSut2 As Variant
Dim stnNo1%, stnNo2%
 'Dim data As Variant
'Dim i%, ii%, iStn%, iStr%, lngSnsNo1&, lngSnsNo0&, lngSnsNo2&
With Csf
    stnNo1 = 14
    stnNo2 = 15
    arrSut1 = .Range(.Cells(2, stnNo1), .Cells(16, stnNo1)).Value
    arrSut2 = .Range(.Cells(2, stnNo2), .Cells(16, stnNo2)).Value

    For i = LBound(arrSut1) To UBound(arrSut1)
      strSut1 = strSut1 & arrSut1(i, 1)
    Next i
    For i = LBound(arrSut2) To UBound(arrSut2)
      strSut2 = strSut2 & arrSut2(i, 1)
    Next i
    Erase arrSut1, arrSut2
 
    If strSut1 = strSut2 Then
       MsgBox stnNo1 & " ve " & stnNo2 & " nolu kolonlar birbirine eşittir"
    End If
End With
Set Csf = Nothing
End Sub
 
Üst