• DİKKAT

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

Seçili hücrenin bir sağındaki hücreyi seçme makrosu

Katılım
21 Mart 2013
Mesajlar
205
Excel Vers. ve Dili
Microsoft Excel Professional Plus 2016 - İngilizce
Arkadaşlar merhaba,

VisualBasic'te yazılmasını istediğim kod; excelde benim seçeceğim hücrenin bir sağındaki hücreye gelecek, oraya yeni bir sütun açacak ve soldaki veriyi alarak vlookup çekecek.

Mesela ben B1 hücresindeki veriyi alarak düşeyara çalışmak isteyebilirim, ben b1 hücresini seçeceğim, makroyu çalıştırdığımda, o c1 hücresine gelecek,yeni bir sütun açacak ve düşeyara çekecek.

ben başka bir excel dosyasında c1 hücresindeki veriyi kullanarak düşeyara kullanacağım diyelim, o zaman c1'e tıklayacağım bu sefer makroyu çalıştırdığımda d1'e gelecek ve anlattığım gibi devam edecek.

Düşeyara başka bir exceldeki verilere çekecek, ben makroyu çalıştırmadan o exceli açık tutacağım.

Yardımcı olursanız çok sevinirim, bu iş Makro Kaydet ile yapılamıyor maalesef, Buradaki esas nokta, makro düşeyara'yı seçtiğim hücredeki veriyi arayarak bir sağındaki hücreye sonuçları getirmesi.
 
makro kayıt ederken "Göreceli başvuru kullan" seçeneğini denediniz mi?

excelde boş bir makro oluşturun ve kaydı durdurun. aşağıdaki kodları içine yazın. Makroya kısayol da atadınız mı dadından yenmez.
Kod:
Sub Makro2()
'
' Klavye Kısayolu: Ctrl+q
'
    satir = ActiveCell.Row
    ActiveCell.Offset(0, 1).Columns("A:A").EntireColumn.Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    ActiveCell.Offset(0, 0).Range("A" & satir).Select
    
    ActiveCell.Formula = "buraya da formülünüzü yazın."
End Sub
 
Son düzenleme:
makro kayıt ederken "Göreceli başvuru kullan" seçeneğini denediniz mi?

excelde boş bir makro oluşturun ve kaydı durdurun. aşağıdaki kodları içine yazın. Makroya kısayol da atadınız mı dadından yenmez.
Kod:
Sub Makro2()
'
' Klavye Kısayolu: Ctrl+q
'
    satir = ActiveCell.Row
    ActiveCell.Offset(0, 1).Columns("A:A").EntireColumn.Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    ActiveCell.Offset(0, 0).Range("A" & satir).Select
    
    ActiveCell.Formula = "buraya da formülünüzü yazın."
End Sub


Üstat çok teşekkür ederim, aradığım tam da buydu.

Makroyu kaydettim, istediğim gibi çalışıyor fakat RunTime Error 1004 uyarısı çıkıyor makro çalıştıktan sonra, halbuki sorunsuz çalıştığını ben görüyorum.

Uyarıda; Application Defined or Object-defined error yazıyor.

Nedenini anlamadım....

Edit: Yukarıdaki mesajımı ben siz kodunuzu eklemeden yazdım. Ben sizin kodunuzu kullanmadan Makro Kaydet diyerek, makroyu oluşturdum, uyarı benim hazırladığım makroyu çalıştırırken çıkıyor.
 
kodların bulunduğu SUB içinde f8 kullanarak, adım adım çalıştırıp hatanın yerini tespit etmeyi deneyiniz.
 
Çıkan hata ekranında Debug'a tıkladığımda, sarı olarak şu satır vurgulanıyor.

ActiveCell.Offset(-6, 0).Range("A1").Select
 
-6 ya dikkat et, benim kodlarda öyle bişey yok!
 
Hocam evet, ben sizin kodunuzu kullanmadım, göreceli başvuru kullan diyerek makro kaydettim.

Neden sizin kodunuzu kullanmadığımı da söyleyeyim; ben düşeyara çektikten sonra tüm çekilen verileri kopyalayıp veri olarak yapıştırıyorum. Sizin kodunuz da bu olmadığı için kullanmadım.
 
Geri
Üst