Arkadaşlar,
Sorum biraz uzun gibi görünüyor ama detaylı anlatmak için biraz uzun yazdım. Şimdiden zamanınızı aldığım için özür diliyorum. Sorum ile ilgili çözüm bulmanız durumunda çalışmalarımda inanılmaz zaman kazanacağım ve size şimdiden teşekkür etmek istiyorum.
Excel'de "record makro" komutu ile yapılan bir makro ile ilgili bire sorum olacak. Ekte koyduğum örnek dosyalarda
Fiyatlar
Ankara
İstanbul
İzmir
isimli 4 tane ayrı excel dosyası var. Bu excel dosyalarının her birinde de farklı sheet'ler var. Boş bir excel sayfası açıp, ismini de makro olarak kaydedip bu dosya içinde diğer dosyalardan bağımsız olarak "record makro" yöntemi ile bir tane makro hazırlıyorum ve daha sonra bu makroyu her bir şehir (tüm dosyalar aynı formatta) için ayrı ayrı çalıştırarak (makro kodları içerisinde replace ile şehir (dosya) isimlerini değiştirerek) işimi hallediyorum. Fakat şehir, yani dosya sayısının 70 tane olduğunu varsayarsak, benim bu yöntem saatler sürüyor.. Dolayısı ile, RECORD MAKRO'da yaptığım bir makroyu her bir dosya için ayrı ayrı çalıştırmak yerine tek bir makro haline nasıl getirebilirim.. Bu konuda yardım istiyorum.
Ekte koyduğum dosyalarla ilgili olarak record makro yöntemi ile yaptığım örnek makro aşağıdaki gibidir.
Makro isimli excel dosyasında makroyu çalıştırdığımda önce "fiyatlar" excel dosyasını açıyor ve "fiyatlar" excel dosyası içerisindeki "Ankara Fiyatları" sheet'ine gidiyor. Burdaki 2008 ve 2009 fiyatlarını kopyalayarak "Ankara" dosyasında bulunan "butce" sheet'i içerisindeki 2008 ve 2009 fiyatları bölümüne yapıştırıyor. Daha sonra Ankara dosyası içinde bazı format değişiklikleri yapıyor ve makro bitiyor.
Tüm dosyalar aynı formatta olduğu için bu makroyu her bir şehir için ayrı ayrı çalıştırıyorum. Sizden ricam ayrı ayrı çalıştırmak yerine bunu tek bir makroda tüm şehirler (dosya) için aynı işlemleri yapmasını sağlamak konusunda bana yardım etmenizdir. Şimdiden yardım eden edemeyen herkese çok çok teşekkürler..
Workbooks.Open Filename:= _
"C:\Örnek\Fiyatlar.xls"
Sheets("Ankara Fiyatları").Select
Workbooks.Open Filename:= _
"C:\Örnek\Ankara.xls"
Sheets("Butce").Select
Windows("Fiyatlar.xls").Activate
Range("C3:C1576").Select
Selection.Copy
Windows("Ankara.xls").Activate
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Fiyatlar.xls").Activate
Range("D3
1576").Select
Range("D1576").Activate
Application.CutCopyMode = False
Selection.Copy
Windows("Ankara.xls").Activate
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D3:E1576").Select
Application.CutCopyMode = False
Selection.NumberFormat = "#,##0"
Range("G3:H1576").Select
Range("G1576").Activate
Selection.NumberFormat = "#,##0"
Range("J3:K1576").Select
Selection.NumberFormat = "#,##0"
Range("C3").Select
ActiveWorkbook.Save
ActiveWindow.Close
Range("G19").Select
Sorum biraz uzun gibi görünüyor ama detaylı anlatmak için biraz uzun yazdım. Şimdiden zamanınızı aldığım için özür diliyorum. Sorum ile ilgili çözüm bulmanız durumunda çalışmalarımda inanılmaz zaman kazanacağım ve size şimdiden teşekkür etmek istiyorum.
Excel'de "record makro" komutu ile yapılan bir makro ile ilgili bire sorum olacak. Ekte koyduğum örnek dosyalarda
Fiyatlar
Ankara
İstanbul
İzmir
isimli 4 tane ayrı excel dosyası var. Bu excel dosyalarının her birinde de farklı sheet'ler var. Boş bir excel sayfası açıp, ismini de makro olarak kaydedip bu dosya içinde diğer dosyalardan bağımsız olarak "record makro" yöntemi ile bir tane makro hazırlıyorum ve daha sonra bu makroyu her bir şehir (tüm dosyalar aynı formatta) için ayrı ayrı çalıştırarak (makro kodları içerisinde replace ile şehir (dosya) isimlerini değiştirerek) işimi hallediyorum. Fakat şehir, yani dosya sayısının 70 tane olduğunu varsayarsak, benim bu yöntem saatler sürüyor.. Dolayısı ile, RECORD MAKRO'da yaptığım bir makroyu her bir dosya için ayrı ayrı çalıştırmak yerine tek bir makro haline nasıl getirebilirim.. Bu konuda yardım istiyorum.
Ekte koyduğum dosyalarla ilgili olarak record makro yöntemi ile yaptığım örnek makro aşağıdaki gibidir.
Makro isimli excel dosyasında makroyu çalıştırdığımda önce "fiyatlar" excel dosyasını açıyor ve "fiyatlar" excel dosyası içerisindeki "Ankara Fiyatları" sheet'ine gidiyor. Burdaki 2008 ve 2009 fiyatlarını kopyalayarak "Ankara" dosyasında bulunan "butce" sheet'i içerisindeki 2008 ve 2009 fiyatları bölümüne yapıştırıyor. Daha sonra Ankara dosyası içinde bazı format değişiklikleri yapıyor ve makro bitiyor.
Tüm dosyalar aynı formatta olduğu için bu makroyu her bir şehir için ayrı ayrı çalıştırıyorum. Sizden ricam ayrı ayrı çalıştırmak yerine bunu tek bir makroda tüm şehirler (dosya) için aynı işlemleri yapmasını sağlamak konusunda bana yardım etmenizdir. Şimdiden yardım eden edemeyen herkese çok çok teşekkürler..
Workbooks.Open Filename:= _
"C:\Örnek\Fiyatlar.xls"
Sheets("Ankara Fiyatları").Select
Workbooks.Open Filename:= _
"C:\Örnek\Ankara.xls"
Sheets("Butce").Select
Windows("Fiyatlar.xls").Activate
Range("C3:C1576").Select
Selection.Copy
Windows("Ankara.xls").Activate
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Fiyatlar.xls").Activate
Range("D3
Range("D1576").Activate
Application.CutCopyMode = False
Selection.Copy
Windows("Ankara.xls").Activate
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D3:E1576").Select
Application.CutCopyMode = False
Selection.NumberFormat = "#,##0"
Range("G3:H1576").Select
Range("G1576").Activate
Selection.NumberFormat = "#,##0"
Range("J3:K1576").Select
Selection.NumberFormat = "#,##0"
Range("C3").Select
ActiveWorkbook.Save
ActiveWindow.Close
Range("G19").Select
