• DİKKAT

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

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

  • Konbuyu başlatan Konbuyu başlatan xternet
  • Başlangıç tarihi Başlangıç tarihi

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
462
Excel Vers. ve Dili
2010 Tr
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?
 
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.
 
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.
 
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...
 
Windows("7501-M001Y00-A.xls").Activate
yerine

şunu yazabilrsiniz.
Kod:
Workbooks(ThisWorkbook.Sheets("Sayfa1").[A1] & ".xls").Activate
 
Tesekkürler sayın alpi bu kod işimi gördü.
 
Geri
Üst