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

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
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
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
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
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
 
Katılım
9 Temmuz 2004
Mesajlar
427
Excel Vers. ve Dili
Office 2007 Tr & Office 2019 Tr
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.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
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ı.
 
Katılım
9 Temmuz 2004
Mesajlar
427
Excel Vers. ve Dili
Office 2007 Tr & Office 2019 Tr
Teşekkür ederim Sayın veyselemre açıklayıcı bilginiz için.
 
Üst