Makro kodu hata mesajı veriyor

Katılım
6 Mart 2007
Mesajlar
76
Excel Vers. ve Dili
xp ingilizce
Aşağıdaki kodalarda hata mesajı veriyor

mesaj
compile error
ambiguous name detected :Worksheet_Change

Teşekkürler

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
Set s66 = Sheets("Genel Bilgiler")
If Intersect(Target, [d5:d500]) Is Nothing Then Exit Sub
sat = s66.[a1:a50].Find(Target).Row
Cells(Target.Row, "b") = s66.Cells(sat, "c")
Cells(Target.Row, "c") = s66.Cells(sat, "b")
Exit Sub
10 MsgBox "Yazılan veri bulunamadı."
Target.Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
On Error Resume Next
Application.ScreenUpdating = False
If Intersect(Target, [h5:h300]) Is Nothing Then Exit Sub

Set s1 = Sheets("fıyat")
Set s2 = Sheets("pat")
Set s3 = Sheets("bmc takip")

Set Alan1 = s2.Range("B2:D454")
Set alan2 = s2.Range("H1:H2")
Set alan3 = s2.Range("E2:g454")
Set alan4 = s3.Range("b26:c64")
Set Alan5 = s2.Range("F3:G41")

s2.Visible = xlSheetVisible
alan3.ClearContents

Alan1.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=alan2, CopyToRange:=alan3, Unique:=True
Application.ScreenUpdating = False
Range("E2:F454").Select
Selection.Sort Key1:=Range("F2"), Order1:=xlDescending, Key2:=Range("G2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal

s2.Select
Alan5.Select
Selection.Copy
s3.Select
alan4.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

s2.Visible = xlSheetVeryHidden
s1.Select
s1.[h65536].End(3).Select
End Sub
 
Katılım
15 Ocak 2007
Mesajlar
791
Excel Vers. ve Dili
2003 excel visual basic
peki hata verdiği satır hangisi ya da tam olarak ne yapınca buna maruz kalıyorsunuz ?
 

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
Aynı isimli prosedür sadece bir kez kulanılabilir, siz worksheet_change isimli olayı iki kez kullanmışsınız.
 
Katılım
15 Ocak 2007
Mesajlar
791
Excel Vers. ve Dili
2003 excel visual basic
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
Set s66 = Sheets("Genel Bilgiler")
If Intersect(Target, [d5:d500]) Is Nothing Then Exit Sub
sat = s66.[a1:a50].Find(Target).Row
Cells(Target.Row, "b") = s66.Cells(sat, "c")
Cells(Target.Row, "c") = s66.Cells(sat, "b")
Exit Sub
10 MsgBox "Yazılan veri bulunamadı."
Target.Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
On Error Resume Next
Application.ScreenUpdating = False
If Intersect(Target, [h5:h300]) Is Nothing Then Exit Sub

Set s1 = Sheets("fıyat")
Set s2 = Sheets("pat")
Set s3 = Sheets("bmc takip")

Set Alan1 = s2.Range("B2:D454")
Set alan2 = s2.Range("H1:H2")
Set alan3 = s2.Range("E2:g454")
Set alan4 = s3.Range("b26:c64")
Set Alan5 = s2.Range("F3:G41")

s2.Visible = xlSheetVisible
alan3.ClearContents

Alan1.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=alan2, CopyToRange:=alan3, Unique:=True
Application.ScreenUpdating = False
Range("E2:F454").Select
Selection.Sort Key1:=Range("F2"), Order1:=xlDescending, Key2:=Range("G2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal

s2.Select
Alan5.Select
Selection.Copy
s3.Select
alan4.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

s2.Visible = xlSheetVeryHidden
s1.Select
s1.[h65536].End(3).Select
End Sub
sn leventm hocam benim de gözümden kaçmış :)...
 
Katılım
6 Mart 2007
Mesajlar
76
Excel Vers. ve Dili
xp ingilizce
Peki nasıl çözebiliriz yardım edebilirmisiniz. kodları birleştirmye
 
Katılım
15 Ocak 2007
Mesajlar
791
Excel Vers. ve Dili
2003 excel visual basic
şu kodu dener misiniz >>
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
Set s66 = Sheets("Genel Bilgiler")
If Intersect(Target, [d5:d500]) Is Nothing Then Exit Sub
sat = s66.[a1:a50].Find(Target).Row
Cells(Target.Row, "b") = s66.Cells(sat, "c")
Cells(Target.Row, "c") = s66.Cells(sat, "b")
Exit Sub
Application.ScreenUpdating = False
If Intersect(Target, [h5:h300]) Is Nothing Then Exit Sub

Set s1 = Sheets("fıyat")
Set s2 = Sheets("pat")
Set s3 = Sheets("bmc takip")

Set Alan1 = s2.Range("B2454")
Set alan2 = s2.Range("H1:H2")
Set alan3 = s2.Range("E2:g454")
Set alan4 = s3.Range("b26:c64")
Set Alan5 = s2.Range("F3:G41")

s2.Visible = xlSheetVisible
alan3.ClearContents

Alan1.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=alan2, CopyToRange:=alan3, Unique:=True
Application.ScreenUpdating = False
Range("E2:F454").Select
Selection.Sort Key1:=Range("F2"), Order1:=xlDescending, Key2:=Range("G2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal

s2.Select
Alan5.Select
Selection.Copy
s3.Select
alan4.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

s2.Visible = xlSheetVeryHidden
s1.Select
s1.[h65536].End(3).Select
10 MsgBox "Yazılan veri bulunamadı."
Target.Select
End Sub
 
Katılım
6 Mart 2007
Mesajlar
76
Excel Vers. ve Dili
xp ingilizce
kodu ilk çalıştı ikincisi çalımadı

kodu teke indirdim fakat tablo büyük olduğu için

calculation çalıştığı için Yazılan veri bulunamadı mesajı
geliyor bunu nasıl giderebiliriz.

Teşekkürler

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
Set s1 = Sheets("Genel Bilgiler")
If Intersect(Target, [c5:c250]) Is Nothing Then Exit Sub
sat = s1.[a3:a38].Find(Target).Row
Cells(Target.Row, "b") = s1.Cells(sat, "b")
Cells(Target.Row, "a") = s1.Cells(sat, "c")
10 MsgBox "Yazılan veri bulunamadı."
Target.Select
End Sub
 
Üst