• DİKKAT

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

Hata alıyorum : range sınıfının select yönetimi

Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Merhaba

"Onay_Cuet" sayfasının "G" sütunundaki verilerini
"ayarlar" sayfasının "L" sütununda olan veriler ile karşılatırıp, eşit olan verilerin bir yanda hücresindeki veriyi kopyalayıp, "Onay_Cuet" sayfasının "G" sütunundaki karşılaştırdığım verinin üzerine kopyalayacağım. Yani bir nevi düşeyara formülü. (kodunu bilemediğim için döngü ile yapmaya çalıştım)



Yazdığım kodda
range sınıfının slecet yönetimi diye hata veriyor. Nerede yanlışlık yapıyorum, bulamadım, yardımcı olursanız memnun olurum

Kod:
Option Explicit
Option Compare Text
Sub amir_bul()
Dim i As Integer
Dim m As Integer
    For i = 4 To 1300
    For m = 3 To 50
        If Sheets("Onay_CUET").Cells(i, 7) = "" Then Exit Sub
            If Sheets("Onay_CUET").Cells(i, 7) = Sheets("Ayarlar").Cells(m, 12) Then
            Sheets("Ayarlar").Cells(m, 12).Offset(0, 1).Select
            Selection.Copy
            Sheets("Onay_CUET").Cells(i, 7).Select
            ActiveSheet.Paste
            End If
        End If
    Next m
    Next i
End Sub
 

Ekli dosyalar

Kodlar ile bir hücre seçimi yapılmadan önce o hücrenin bulunduğu sayfa aktif edilmelidir.

Kodlar aşağıdaki gibi olmalı.

Kod:
Option Explicit
Option Compare Text
Sub amir_bul()
Dim i As Integer
Dim m As Integer
    For i = 4 To 1300
        For m = 3 To 50
            If Sheets("Onay_CUET").Cells(i, 7) = "" Then Exit Sub
            If Sheets("Onay_CUET").Cells(i, 7) = Sheets("Ayarlar").Cells(m, 12) Then
                [COLOR="red"]Sheets("Ayarlar").Activate[/COLOR]
                Sheets("Ayarlar").Cells(m, 12).Offset(0, 1).Select
                Selection.Copy
                [COLOR="Red"]Sheets("Onay_CUET").Activate[/COLOR]
                Sheets("Onay_CUET").Cells(i, 7).Select
                ActiveSheet.Paste
            End If
        Next m
    Next i
End Sub
 
Sayın dalgalıkur çok teşekkür ederim

Ben düşeyara kodlarını bilemediğim için bu şekilde döngü ile yaptım. Yalnız veriler çok olunca hız konusunda sorun yaşabilirim. Daha kısayol olması için Düşeyara ile bu işlemi nasıl yapabilirim. Eğer müsaitseniz bir örnek paylaşabilirmisiniz bu uygulama için
 
Neden kopyala yapıştır yaptığınızı bilemediğim için kodlara müdahale etmemiştim.

Aşağıdaki kodları deneyin.

Kod:
Option Explicit
Option Compare Text
Sub amir_bul()
Dim i As Integer
Dim m As Integer
    For i = 4 To 1300
        For m = 3 To 50
            If Sheets("Onay_CUET").Cells(i, 7) = "" Then Exit Sub
            If Sheets("Onay_CUET").Cells(i, 7) = Sheets("Ayarlar").Cells(m, 12) Then
                Sheets("Ayarlar").Cells(m, 12).Offset(0, 1) = Sheets("Onay_CUET").Cells(i, 7)
            End If
        Next m
    Next i
End Sub
 
Geri
Üst