Hazır makroyu dosya adından bağımsızlaştırmak

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
462
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Yaptığım vergi iade çalışmasında sayfaları silmek için makro kaydı yapmıştım. Sorunsuz çalışıyor. Birde Tüm sayfaları silmek için makro kaydı yapmıştım. Oda sorunsuz çalışıyordu fakat dosyanın ismini değiştirince hata verdi.

Kod:

Range("AZ3:BL5").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Application.Run "'Vergi İade Programı v0.5 (Çalışanlar İçin).xls'!kapaksil"
Range("CJ29:CL32").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Application.Run "'Vergi İade Programı v0.5 (Çalışanlar İçin).xls'!sayfasil"
Range("CM29:CO32").Select...

Þeklinde oluştuğu için, sayfa adı değiştiğinde hata kaçınılmaz. Yeni bir makro kaydetmeden bu durumu nasıl düzeltebilirim?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sayfa adı yerine sayfanın indexini kullanabilirsiniz. İndex sayfanın sıralamadaki yerini gösterir. Ã?rneğin;

Sheets("sayfa1").delete yerine (sayfa1 in birinci sırada olduğu kabul edilmiştir)

Sheets(1).delete olabilir.
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
sheet değil workbook olmaz mı?

Bir soru da benden izninizle.... xternet'in sorununa benzer olması sebebiyle bu başlık altında sormayı uygun gördüm.

Sub Makro4()
Windows("List.xls").Activate
Application.Run "List.xls!Sayfa1.kaçıncıcalısması"
Range("I2").Select
Selection.Copy
Windows("7501-M001Y00-A.xls").Activate
Range("B6").Select
Selection.End(xlDown).Select
Selection.End(xlToLeft).Select...........
... şeklinde uzayan bir makro var.("7501-M001Y00-A.xls") yerine ne yazmalıyım ki oluşturduğum yeni çalışma kitapları için her seferinde kitap ismi yazmak zorunda kalmayayım?Bahsi geçen dosya ismi iki sayfadan oluşan çalışma kitabının bir sayfasında ve belli bir hücrede yazıyor.Orayı referans gösterebilir miyiz? Atıyorum A1 hücresinde bu isim yazmakta.Şimdiden teşekkür ediyorum.
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Son yazdığım mesaj havada kalmış,sanırım es geçildi.Ustalar bu konuya bir baksanız,bir çözüm yolu bulunabilir mi acaba?İlginize şimdiden teşekkürler...
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
Windows("7501-M001Y00-A.xls").Activate
yerine

şunu yazabilrsiniz.
Kod:
Workbooks(ThisWorkbook.Sheets("Sayfa1").[A1] & ".xls").Activate
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Tesekkürler sayın alpi bu kod işimi gördü.
 
Üst