Makro ile arama ve offset

Katılım
7 Aralık 2006
Mesajlar
160
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
27-05-2023
Merhabalar,
Excel kitabındaki "model" sayfasında CTK.2232 verisini bulmak istiyorum. (CTK.2232 formül ile gelen bir değer).
aranan değeri bulduktan sonra CTK2232 yazan hücrenin 1 hücre solunu seçecek,
sonra sağ tarafa doğru 3 hücre, aşağı doğru 39 hücre seçip seçili alanı kopyalayacak
veri hücresi a1 e yapıştıracak,
Umarım çok karışık olmamıştır, örnek dosya ektedir
 

Ekli dosyalar

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub findValue()
    Dim c As Range
    Dim ara As String
    Range("A:C").Clear
    ara = "CTK.2232"
    Set c = Cells.Find(ara, , xlValues)
    If Not c Is Nothing Then
        c.Offset(, -1).Resize(39, 3).Copy
        With Range("A1")
            .PasteSpecial xlPasteValues
            .PasteSpecial xlPasteFormats
        End With
    End If
    Application.CutCopyMode = False
End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Boş bir modül içine kopyalayıp kullanabilirsiniz.
C++:
Sub Bul_Kopyala_Yapıştır()
    Dim Aranan As Variant, Bul As Range, Sh As Worksheet
    Set Sh = Worksheets("model")
    Aranan = "CTK.2232"
    Set Bul = Sh.Cells.Find(Aranan, , xlValues)
    If Bul Is Nothing Then
        MsgBox "Aranan " & Aranan & " değer bulunamadı"
        Exit Sub
    Else
        Bul.Offset(, -1).Resize(39, 3).Copy
        Worksheets("veri").Range("A1").PasteSpecial xlPasteValues
        'Formatları da kopyalamak isterseniz aşağıdaki satırın başındaki tek tırnağı kaldırın.
        Worksheets("veri").Range("A1").PasteSpecial xlPasteFormats
        Application.CutCopyMode = False
    End If
End Sub
 
Katılım
7 Aralık 2006
Mesajlar
160
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
27-05-2023
Kod:
Sub findValue()
    Dim c As Range
    Dim ara As String
    Range("A:C").Clear
    ara = "CTK.2232"
    Set c = Cells.Find(ara, , xlValues)
    If Not c Is Nothing Then
        c.Offset(, -1).Resize(39, 3).Copy
        With Range("A1")
            .PasteSpecial xlPasteValues
            .PasteSpecial xlPasteFormats
        End With
    End If
    Application.CutCopyMode = False
End Sub

Teşekkür ederim.
 
Üst