• DİKKAT

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

Çalıştıramadığım kod

  • Konbuyu başlatan Konbuyu başlatan m.gur
  • Başlangıç tarihi Başlangıç tarihi
Katılım
9 Temmuz 2004
Mesajlar
427
Excel Vers. ve Dili
Office 2007 Tr & Office 2019 Tr
Hayırlı akşamlar;
Youtube dan izleyerek yazdığım aşağıdaki kodun bir satırı hata veriyor. Halbuki orda gördüğüm kodun aynısını yazdım orada çalışıyor benim yazdığım çalışmıyor. F8 ile satır satır kontrol ettim " Sheets("sayfa4").Range(Cells(j, "D"), Cells(j, "H")).Select " bu satırda hata veriyor. Sebebi ne olabilir acaba..
Kod:
Sub transfer()
Dim i As Long, j As Long, lastrow1 As Long, lastrow2 As Long
Dim myname As String
lastrow1 = Sheets("sayfa3").Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lastrow1
    myname = Sheets("sayfa3").Cells(i, "A").Value
    Sheets("sayfa4").Activate
    lastrow2 = Sheets("sayfa4").Range("A" & Rows.Count).End(xlUp).Row
   For j = 2 To lastrow2
      If Sheets("sayfa4").Cells(j, "A").Value = myname Then
        Sheets("sayfa3").Activate
        Sheets("sayfa3").Range(Cells(i, "B"), Cells(i, "F")).Copy
        Sheets("sayfa4").Activate
       Sheets("sayfa4").Range(Cells(j, "D"), Cells(j, "H")).Select
        ActiveSheet.Paste
       End If
    Next j
        Application.CutCopyMode = False
Next i
    Sheets("sayfa3").Activate
    Sheets("sayfa3").Range("A1").Select
End Sub
 
Merhaba
Kodlarınızdaki şu iki satırı
Kod:
'...
'...kodlar
'.....
Sheets("sayfa4").Activate
Sheets("sayfa4").Range(Cells(j, "D"), Cells(j, "H")).Select
'...
'..diğer kodlar

şu satırlarla değiştirip denermisiniz?
Kod:
With Sheets("sayfa4")
.Activate
.Range(.Cells(j, "D"), .Cells(j, "H")).Select
End With
 
Deneyiniz.
Kod:
Sub transfer()
    Dim i As Long, j As Long, lastrow1 As Long, lastrow2 As Long
    Dim myname As String
    lastrow1 = Sheets("sayfa3").Range("A" & Rows.Count).End(xlUp).Row
    lastrow2 = Sheets("sayfa4").Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To lastrow1
        myname = Sheets("sayfa3").Cells(i, "A").Value
 
        For j = 2 To lastrow2
            If Sheets("sayfa4").Cells(j, "A").Value = myname Then
                Sheets("sayfa3").Range("B" & i & ":F" & i).Copy Destination:=Sheets("sayfa4").Range("D" & j)
    
            End If
        Next j
        Application.CutCopyMode = False
    Next i
    Sheets("sayfa3").Activate
    Sheets("sayfa3").Range("A1").Select
End Sub
 
Sayın PLİNT ve sayın muratboz06 ikinize de ayrı ayrı teşekkür ederim. Her iki kod da düzgün çalıştı sorun yok. Merak ettiğim şey şu;
Sheets("sayfa4").Range(Cells(j, "D"), Cells(j, "H")).Select
bu kod neden D ile H aralığını seçmedi. İyi akşamlar.
 
Sayın PLİNT ve sayın muratboz06 ikinize de ayrı ayrı teşekkür ederim. Her iki kod da düzgün çalıştı sorun yok. Merak ettiğim şey şu;
Sheets("sayfa4").Range(Cells(j, "D"), Cells(j, "H")).Select
bu kod neden D ile H aralığını seçmedi. İyi akşamlar.
Kod:
Sheets("sayfa4").Range(Sheets("sayfa4").Cells(j, "D"), Sheets("sayfa4").Cells(j, "H")).Select
Yazmanız gerekir. Farkı anlamışsınızdır umarım. Bu şekilde kullanmadığınız zaman cells komutu aktif sayfa üzerinde adresleme yapacaktır. İlk range komutu da aktif sayfayı ilgilendirseydi sorun çıkmazdı.
 
Teşekkür ederim Sayın veyselemre açıklayıcı bilginiz için.
 
Geri
Üst