• DİKKAT

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

Değeri ara bul, Bulunan hücrenin yanına bir başka değeri yapıştır

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

Formüllerle gayet iyi çalışıyorum. Ama iş makro yazmaya gelince orada kalıyorum. Bir türlü beceremiyorum. Ekte bi dosyam var. Ara bul kopyala yapıştır tarzı bi olay. Yardımcı olursanız memnun olurum

Butona tıklandığında A3'te yazan ilgili haftayı A8:A59 Satırlarında bulacak. Bulduktan sonra B4:J4 hücresinde yazan değerleri ilgili haftanın (bulduğu haftanın) yanındaki sutunlara taşıyacak
 

Ekli dosyalar

Merhaba
Boş bir module kopyalayın ve deneyin.
Kod:
Option Explicit
Sub bul_aktar()
Dim STR As Long
With WorksheetFunction
STR = .Match(Replace(Range("A3"), "H", "") * 1, _
Range("A8:A59"), 0) + 7
Range("B4:J4").Copy 
Range("B" & STR).pastespecial(xlpastevalues)
End With
End Sub
 
Son düzenleme:
Eline sağlık hocam, süper olmuş. Sadece değerleri kopyalasın.

Çizgileri felan kopyalamadan yapmasını için makroya "Selection.PasteSpecial Paste:=xlPasteValues" yazmam gerekiyor sanırım dimi
 
Yardımlarınız için çook teşekkürler, sağolun
 
Hocam bi problemim daha var
A3 hücresine H1-H2.... yerine Mart-Nisan gibi değerler yazdığımda alttaki satırlarda da mart nisan gibi değişiklikler yaptığımda, aramada problem oluyor

Sanırım rakam ile harfi birbirinden ayırıyor ve rakamı bulamaya çalışıyor. A3 hücresinde ne varsa aldıramazmıyız. Rakamsa rakam, text ise text gibi
STR = .Match(Replace(Range("A3"), "H", "") * 1, _
 
Hocam bi problemim daha var
A3 hücresine H1-H2.... yerine Mart-Nisan gibi değerler yazdığımda alttaki satırlarda da mart nisan gibi değişiklikler yaptığımda, aramada problem oluyor

Sanırım rakam ile harfi birbirinden ayırıyor ve rakamı bulamaya çalışıyor. A3 hücresinde ne varsa aldıramazmıyız. Rakamsa rakam, text ise text gibi
STR = .Match(Replace(Range("A3"), "H", "") * 1, _

Siz A8:A59 aralığında özel hücre biçilendir yapmıştınız ondan dolayı tanımıyordu. Hücrede rakam var gibi görünüyordu. Oysa arama yaptığı yer ise metin idi bundan dolayı böyle bir çözüme gittim.

Çözüm ise oradaki özel hücre biçimlendirmesini normal'e çevirin ve üstteki kodda kırmızıya boyadığım yere
Kod:
range("A3")
yazın. Öyle deneyin.
 
Sub bul_aktar()
Dim STR As Long
With WorksheetFunction
STR = .Match(range("A3")_
Range("A8:A59"), 0) + 7
Range("B4:J4").Copy
Range("B" & STR).PasteSpecial (xlPasteValues)
End With
End Sub

Bu şekilde denedim. Hata verdi
 

Ekli dosyalar

m.batu üstadın yazdığı kodu ben denedim çalışıyo ancak biraz sizin tarafınızdan değişime uğramış..şu satırı STR = .Match(range("A3")_

şu şekilde değiştirin STR = .Match(range("A3"), _
birde End With ile End Sub arasına Application.CutCopyMode = False kodunu yapıştırın..
 
Oldu, elinize sağlık, çok teşekkür ederim
 
Geri
Üst