Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
552to556
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
552to556
552to556
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mehrdeutiger Name - Worksheet_Change

Mehrdeutiger Name - Worksheet_Change
22.01.2005 08:29:23
Heinz
Guten Morgen Leute
Habe in der unterstehenden Formel einen Fehler Fehlermeldung."Mehrdeutiger Name - Worksheet_Change"
Könnte mir bitte jemand dabei helfen.
Danke Heinz

Private Sub CommandButton1_Click()
Sheets("Hauptblatt").Select
End Sub


Private Sub Workbook_Open()
On Error Resume Next
ThisWorkbook.Names("OK").Delete
On Error GoTo 0
End Sub

basMain:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$6" Or Target.Address = "$A$52" Then
Dim neuer_Blattname As String
neuer_Blattname = Range("A6") & " bis " & Range("A52")
ActiveSheet.Name = neuer_Blattname
End If
End Sub


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, [c6:c52]) Is Nothing Then
Call pause_akt_Z
ActiveCell.Offset(0, 3).Activate
End If
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrdeutiger Name - Worksheet_Change
Ramses
Hallo
Das ist doch klar, ein bischen lesen und überlegen führt da schon zu Lösung.
Du hast im Klassenmodul der Tabelle zwei Makros die gleich heissen.
Auch die Fehlermeldung weist bereits darauf hin.
Ohne das geprüft zu haben, muss es zumindest so heissen:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$6" Or Target.Address = "$A$52" Then
Dim neuer_Blattname As String
neuer_Blattname = Range("A6") & " bis " & Range("A52")
ActiveSheet.Name = neuer_Blattname
End If
If Not Intersect(Target, [c6:c52]) Is Nothing Then
Call pause_akt_Z
ActiveCell.Offset(0, 3).Activate
End If
End Sub

Gruss Rainer
Anzeige
AW: Mehrdeutiger Name - Worksheet_Change
22.01.2005 10:28:46
Heinz
Hallo Rainer
Erstmal DANKE für Deine Lösung bei diesen Problem.Du hast leicht reden bist Profi.Ich komme mir in VBA Programmieren wie ein Bär auf dem Glateis vor.Sind meine allerersten Schritte.
Wenn Du noch so nett wärest und mein 2.Problem ansehen würdest BITTE.
DANKE
Hier ist der Fehler bei Set sh = Worksheets("blatt").Denn die Tabellenblätter werden automatisch nach Zelle A6 & A52 unbennant.
Option Explicit
'in das Tabellenmodul

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, [c6:c52]) Is Nothing Then
Call pause_akt_Z
ActiveCell.Offset(0, 3).Activate
End If
End Sub

'für die gesamte Tabelle
Public Sub pause_ges_Tab()
Dim wt As Byte, i%, x As Byte, optB$
Dim sh As Worksheet
Dim sh1 As Worksheet
Set sh = Worksheets("blatt")
Set sh1 = Worksheets("Legende")
For x = 1 To 5
If sh1.OLEObjects(x).Object = True Then
optB = sh1.OLEObjects(x).Name
End If
Next
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
For i = 6 To 52
wt = Weekday(sh.Cells(i, 2))

Select Case optB
Case "OptionButton1"
If wt = 2 Then
Range(sh.Cells(i, 4), sh.Cells(i, 5)) = ""
Else
sh.Cells(i, 4) = 11#
sh.Cells(i, 5) = 11.5
End If

Case "OptionButton2"
If wt = 3 Then
Range(sh.Cells(i, 4), sh.Cells(i, 5)) = ""
Else
sh.Cells(i, 4) = 11#
sh.Cells(i, 5) = 11.5
End If

Case "OptionButton3"
If wt = 4 Then
Range(sh.Cells(i, 4), sh.Cells(i, 5)) = ""
Else
sh.Cells(i, 4) = 11#
sh.Cells(i, 5) = 11.5
End If

Case "OptionButton4"
If wt = 5 Then
Range(sh.Cells(i, 4), sh.Cells(i, 5)) = ""
Else
sh.Cells(i, 4) = 11#
sh.Cells(i, 5) = 11.5
End If

Case "OptionButton5"
If wt = 6 Then
Range(sh.Cells(i, 4), sh.Cells(i, 5)) = ""
Else
sh.Cells(i, 4) = 11#
sh.Cells(i, 5) = 11.5
End If

End Select

Next
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End Sub
'für die Eingabe in der Zeile
Sub pause_akt_Z()
Dim wt As Byte, i%, x As Byte, optB$
Dim sh As Worksheet
Dim sh1 As Worksheet
Set sh = Worksheets("blatt")
Set sh1 = Worksheets("Legende")
For x = 1 To 5
If sh1.OLEObjects(x).Object = True Then
optB = sh1.OLEObjects(x).Name
End If
Next
i = ActiveCell.Row
wt = Weekday(sh.Cells(i, 2))

Select Case optB
Case "OptionButton1"
If wt = 2 Then
Range(sh.Cells(i, 4), sh.Cells(i, 5)) = ""
Else
sh.Cells(i, 4) = 11#
sh.Cells(i, 5) = 11.5
End If

Case "OptionButton2"
If wt = 3 Then
Range(sh.Cells(i, 4), sh.Cells(i, 5)) = ""
Else
sh.Cells(i, 4) = 11#
sh.Cells(i, 5) = 11.5
End If

Case "OptionButton3"
If wt = 4 Then
Range(sh.Cells(i, 4), sh.Cells(i, 5)) = ""
Else
sh.Cells(i, 4) = 11#
sh.Cells(i, 5) = 11.5
End If

Case "OptionButton4"
If wt = 5 Then
Range(sh.Cells(i, 4), sh.Cells(i, 5)) = ""
Else
sh.Cells(i, 4) = 11#
sh.Cells(i, 5) = 11.5
End If

Case "OptionButton5"
If wt = 6 Then
Range(sh.Cells(i, 4), sh.Cells(i, 5)) = ""
Else
sh.Cells(i, 4) = 11#
sh.Cells(i, 5) = 11.5
End If

End Select

End Sub
Anzeige
AW: Mehrdeutiger Name - Worksheet_Change
Ramses
Hallo
Du musst halt den Namen dafür einsetzen, der für diese Tabelle verwendet wird.
Offensichtlich gibt es eine Tabelle "Blatt" nicht
Gruss Rainer
AW: Mehrdeutiger Name - Worksheet_Change
WernerB.
Hallo Heinz,
Excel/VBA moniert (zurecht), dass Du offenbar zwei Makros mit dem selben Namen ("Worksheet_Change") in einem Projekt verwendest.
Mein Vorschlag (ungetestet): packe den Inhalt beider Makros in ein gemeinsames Makro; dieses ereignisgesteuerte Makro gehört in ein Tabellenblatt-Modul und nicht in ein normales Standard-Modul.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim neuer_Blattname As String
If Target.Address = "$A$6" Or Target.Address = "$A$52" Then
neuer_Blattname = Range("A6") & " bis " & Range("A52")
ActiveSheet.Name = neuer_Blattname
End If
If Not Intersect(Target, [c6:c52]) Is Nothing Then
Call pause_akt_Z
ActiveCell.Offset(0, 3).Activate
End If
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Mehrdeutiger Name - Worksheet_Change
23.01.2005 08:25:28
Heinz
Guten Morgen WernerB
Danke für Deine Hilfestellung.Werde es mal nach Deiner Anleitung probieren.
M.f.G.
Heinz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige