olan makroyu bütün çalışma sayfalarına uygulamak

Katılım
13 Temmuz 2012
Mesajlar
6
Excel Vers. ve Dili
2007,2010- visual studio
arkadaşlar meraba.
ben excel kitabının birinci sayfasında yazdığım bir makroyu kitaptaki bütün sayfalara uygulamak istiyorum ama bunun kodunu bir türlü bulamadım.
kodları şu şekilde oluşturdum :
Sub Makro2()
'
' Makro2 Makro
'
' Klavye Kısayolu: Ctrl+ş
'
Range("a1").Select
ActiveCell.Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
Sheets("ŞABLON").Select
Rows("4:12").Select
Range("D4").Activate
Selection.Copy
Sheets("TRX 100 (NO 1)" ).Select
ActiveCell.Select

ActiveSheet.Paste

End Sub
ben bu kod üzerinde sheets("sayfa 1").select kodunu değiştirip bütün sayfaların geçerli olmasını ve ben sayfa iki üzerinde çalıştığım zaman makronun sayfa iki de çalışmasını veya üç için çalıştığımda makronun sayfa üçte çalışmasını istiyorum. şimdiden teşekkür ederim. :)
 
Son düzenleme:

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

İlk sayfanın adı belirsiz.

Bana kalırsa bu kodu karıştırmadan, yapmak istediğinizi bize detaylı açıklarsanız daha kısa ve net yanıtlar alırsınız.
 
Katılım
13 Temmuz 2012
Mesajlar
6
Excel Vers. ve Dili
2007,2010- visual studio
aslında ilk sayfanın adı "TRX 100 (NO 1)" ben yazdığım bir makroyu aynı dosyadaki bütün sayfalarda kullanabilmek istiyorum. örneğin bu makroyu TRX 100 NO 1 sayfasında yazdım ama ben bunu aynı kitapta başka bir sayfadada kullanamazmıyım?
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
İlk mesajdaki kodları değiştirmişsiniz fakat açıklama aynı kalmış bu yüzden tutarsızlık var.

Tüm sayfalarda tabiki kullanabilirsiniz, tüm sayfayı bir kenara bırakarak tek sayfa için asıl yapmak istediğiniz nedir bunu açıklamanız mümkün mü?


Bu şekilde açıklarsanız soruyu daha iyi anlayacağım. Diğer türlü kodlara bakarak, sayfalar arası sürekli geçiş yaptığınız görülüyor. Bu şekilde söyleyebileceğim, kodlarda uygulanan sayfa adı yerine ActiveSheet yazarak istediğiniz yapılabilir. Fakat bu kodun yerini iyi ayarlamalısınız.

Örnek dosya ekleyerek soruyu değil, konuyu açıklarsanız ben uygulamaya çalışırım.
 
Katılım
13 Temmuz 2012
Mesajlar
6
Excel Vers. ve Dili
2007,2010- visual studio
biz excelde bir tablo hazırladık. bu tablonun hazırlandığı sayfanın adına "şablon" dedik. bu tabloyu bir makro yazarak(kodları birebir yukarıda yazıldığı gibidir.) kullanacağımız çalışma sayfalarına kopyalamak istiyoruz. hatta bunu bir kısa yol tuşu atayarak pratik bir şekilde tek sayfa için başardık. fakat diğer çalışma sayfalarına bu makroyu uygulayamıyoruz. activesheet.select kodunu kullanarak yapalım dedik fakat activesheet.paste kodunda hata verdi.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Konuyu anlatmanızı rica etmiştim siz yine soruya yoğunlaştınız.

Kodlardan anladığım kadarıyla konu; Aktif sayfa A sütunundaki son dolu satırdan hemen sonraki satıra ( yani boş satıra ), şablon sayfasının 4:12 satır aralığını kopyalamak istiyorsunuz. Ve bu kodu her sayfada çalışacak şekilde parametrik istiyorsunuz.

Doğru anladıysam aşağıdaki gibi deneyin.

Kod:
Sub Makro2()
' Klavye Kısayolu: Ctrl+ş
    Dim son As Long
    son = Cells(Rows.Count, "A").End(xlUp).Row + 1
    Sheets("şablon").Rows("4:12").Copy Range("A" & son)
End Sub
---------------------------------------------------------------------------------------------------------------
Ayrıca eğer isterseniz, tek tek sayfalarda kodu çalıştırmak yerine tek seferde tüm sayfalara aşağıdaki kod ile kopyalamayı uygulayabilirsiniz.

Kod:
Sub Makro2_TumSayfa()
' Klavye Kısayolu: Ctrl+ş
    Dim son As Long, i As Integer
    For i = 1 To Worksheets.Count
        With Sheets(i)
            If .Name <> "şablon" Then
                son = .Cells(Rows.Count, "A").End(xlUp).Row + 1
                Sheets("şablon").Rows("4:12").Copy .Range("A" & son)
            End If
        End With
    Next i
End Sub
.
 
Katılım
13 Temmuz 2012
Mesajlar
6
Excel Vers. ve Dili
2007,2010- visual studio
Ömer Bey yazmış olduğunuz aşağıdaki makroyla ihtiyacımıza cevap vermiş oldunuz.Bunun için size teşekkür ediyorum. Fakat şöyle bir durum da var: bu tabloyu "ŞABLON"un haricinde "KALIPLAR" sayfasına da yapıştırmamasını istiyoruz. Bunun kodunu nasıl oluşturabiliriz?

Sub Makro2_TumSayfa()
' Klavye Kısayolu: Ctrl+ş
Dim son As Long, i As Integer
For i = 1 To Worksheets.Count
With Sheets(i)
If .Name <> "şablon" Then
son = .Cells(Rows.Count, "A").End(xlUp).Row + 1
Sheets("şablon").Rows("4:12").Copy .Range("A" & son)
End If
End With
Next i
End Sub
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
If .Name <> "şablon" Then

yukarıdaki satırın yerine aşağıdaki satırı yazınız.

If .Name <> "şablon" And .Name <> "KALIPLAR" Then
 
Katılım
13 Temmuz 2012
Mesajlar
6
Excel Vers. ve Dili
2007,2010- visual studio
teşekkür ederim ömer bey büyük bi dertten kurtardınız bizi :)
 
Katılım
12 Nisan 2012
Mesajlar
19
Excel Vers. ve Dili
excel 2016/tr
Altın Üyelik Bitiş Tarihi
9-11-2021
arkadaşlar
sayfa isimleri 1 , 2 , 3 diye 35 sayfaya kadar devam eden dosyaya
"REF" isimli sayfadan veriyi kopyalamak istiyorum. bu makroyu 1.sayfaya değil o anda aktif olan sayfada çalıştırmak istiyorum yardımcı olabilirmisiniz !!!
Sub SIFIRLA()
'
' SIFIRLA Makro
'

'
Sheets("REF").Select
Range("C7:L64").Select
Selection.Copy
Sheets("1").Select
Range("C9").Select
Range("C7: D8").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=48
Range("C73: D74").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=72
Range("C139: D140").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=-126
End Sub
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Yanlış anlamadıysam, aşağıdaki kod yeterli olacaktır.

Kod:
Sub SIFIRLA()

    If ActiveSheet.Name = "REF" Then Exit Sub
    Sheets("REF").Range("C7:L64").Copy Range("C7,C73,C139")

End Sub
.
 
Katılım
10 Şubat 2021
Mesajlar
1
Excel Vers. ve Dili
makro
Sub Makro1()
'
' Makro1 Makro
'
' Klavye Kısayolu: Ctrl+x
'
Sheets("Abaylar").Range("C1:AI4250").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("D1:I3"), CopyToRange:=Range("D6:I6"), Unique:=False
End Sub

yaklaşık 300 sayfam var bütün sayfalarımda çalıştırma imkanım var mı .
ARAÇ LİSTESİ , VET, PRK, BLD,TNKR sayfaları hariç
 
Üst