Aynı sayfa için birden çok sayıda private makro

Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
Foruma üye herkesin geçmiş bayramını kutluyorum.
Değerli arkadaşlar.

Aynı sayfa için geçerli olmak üzere birden fazla sayıda private makroyu sayfaya nasıl yazarız.
Örneğin aşağıdaki 3 makro aynı anda yazıldığında hata veriyor.
ilgilenecek arkadaşlara teşekkür ederim.

1. makro
'BÜYÜK HARFE ÇEVİRME MAKROSU
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
Target = UCase(Target)
Application.EnableEvents = True
End Sub

2. makro
'Enter tuşu yönlendirme makrosu
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A:H]) Is Nothing Then Exit Sub
If Target.Column = 8 Then
Target.Offset(1, -7).Select
Else
Target.Offset(0, 1).Select
End If
Son:
End Sub

3. makro
'DEĞER GİRİLEN SATIRLARA SIRA NUMARASI VERME
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [d:d]) Is Nothing Then Exit Sub
Dim i As Long, sr As Long
[A2:A500].ClearContents
For i = 2 To [D500].End(3).Row
If Not Cells(i, 4) = "" Then
sr = sr + 1
Cells(i, 1) = sr
End If
Next
DrawingObjects:=False, Contents:=True, Scenarios:= _
True, AllowFormattingCells:=True
End Sub
 
Katılım
16 Haziran 2007
Mesajlar
163
Excel Vers. ve Dili
Excel 2003 - Türkçe
1. makro
'BÜYÜK HARFE ÇEVİRME MAKROSU
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
Target = UCase(Target)
Application.EnableEvents = True
On Error GoTo Son
If Intersect(Target, [A:H]) Is Nothing Then Exit Sub
If Target.Column = 8 Then
Target.Offset(1, -7).Select
Else
Target.Offset(0, 1).Select
End If
If Intersect(Target, [d:d]) Is Nothing Then Exit Sub
Dim i As Long, sr As Long
[A2:A500].ClearContents
For i = 2 To [D500].End(3).Row
If Not Cells(i, 4) = "" Then
sr = sr + 1
Cells(i, 1) = sr
End If
Next
DrawingObjects:=False, Contents:=True, Scenarios:= _
True, AllowFormattingCells:=True
End Sub

böyle bi dene bakalım olma ihtimali var
 
Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
sayın iaydın 20 ilgin için teşekkür ederim.
önerini denedim.
"label not defined" hatası veriyor.

bu üç makroyu bir arada hata verdirmeden çalıştırmak istiyorum
yardımcı olacak arkadaşlara müteşekkirim.

1. makro
'BÜYÜK HARFE ÇEVİRME MAKROSU
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
Target = UCase(Target)
Application.EnableEvents = True
On Error GoTo Son
'ENTER TUŞU YÖNLENDİRME MAKROSU
If Intersect(Target, [A:H]) Is Nothing Then Exit Sub
If Target.Column = 8 Then
Target.Offset(1, -7).Select
Else
Target.Offset(0, 1).Select
End If
'D SÜTUNUNA VERİ GİRİLDİĞİNDE SIRA NUMARASI VERME MAKROSU
If Intersect(Target, [d:d]) Is Nothing Then Exit Sub
Dim i As Long, sr As Long
[A2:A500].ClearContents
For i = 2 To [D500].End(3).Row
If Not Cells(i, 4) = "" Then
sr = sr + 1
Cells(i, 1) = sr
End If
Next
End Sub
 
Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
Tekrar merhaba
Target = UCase(Target)
satırı birkre hata verdimi diğer makrolarda artık hiç çalışmıyor
excel itüm kapatıyorum yeni bir sayfaya kodları kopyalıyorum biraz çalışıyor
target satırı bir hata yaptımı bi daha çalışmıyor
arkadaşlar yardım lütfen
 
Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
selam arkadaşlar
sorunuma bir çare bulacak arkadaşın ilgisini bekliyorum.
 
Katılım
16 Haziran 2007
Mesajlar
163
Excel Vers. ve Dili
Excel 2003 - Türkçe
merhaba;
kardeş çalışma yaptığın dosyayı ekle bide öyle bakalım yapabileceğim bişey varsa elimden geleni yaparım
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,249
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Sayın cebilitarık, makroları arka arkaya vermektense tam olarak ne yapmak istediğinizi söylerseniz sanırım daha iyi anlaşılır.

Örneğin hangi sütunda yazılanları büyük harfe çevirmek istiyorsunuz.
Hangi sütunda sıra numarası istiyorsunuz.
Hangi sütundan sonra bir alt satıra geçip devam etmek istiyorsunuz.
 

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
Aşağıdaki gibi deneyin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column <> 1 Then Target = UCase(Target)
If Not Intersect(Target, [d:d]) Is Nothing Then
[A2:A500].ClearContents
For i = 2 To [D500].End(3).Row
If Not Cells(i, 4) = "" Then
sr = sr + 1
Cells(i, 1) = sr
End If
Next
End If
If Not Intersect(Target, [A:H]) Is Nothing Then
If Target.Column = 8 Then
Target.Offset(1, -7).Select
Else
Target.Offset(0, 1).Select
End If
End If
Application.EnableEvents = True
End Sub
 
Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
Say&#305;n Leventm &#231;ok te&#351;ekk&#252;r ederim
sorunum bu konuda &#231;&#246;z&#252;ld&#252;.
di&#287;er sorun i&#231;in "Veri sayfas&#305;ndan 2 farkl&#305; rapor" isminde yeni topik a&#231;t&#305;m
ilgilenirseniz m&#252;te&#351;ekkir kal&#305;r&#305;m.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
selamlar burada g&#246;rd&#252;&#287;&#252;m i&#231;in burada soruyorum
Kod:
Application.EnableEvents = False
sat&#305;r&#305;n&#305;n anlam&#305; nedir?
 

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
selamlar burada gördüğüm için burada soruyorum
Kod:
Application.EnableEvents = False
satırının anlamı nedir?
Olayın sadece bir kez çalışmasını sağlar diğer bir deyişle sonsuz döngüye girmesini engeller.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
te&#351;ekk&#252;r ederim sn. leventm
 
Üst