Wieso gilt ein Excel VBA Makro nur für ein Tabellenblatt?
3 Antworten
Das Makro soll beim Doppelklick in eine Zelle (Spalte 3 und mindestens Zeile 2) den Wert als "Stadt" deklarieren und das dann in einem anderem Sheet (Tabelle1) suchen. Leider funktioniert das Makro nur, wenn ich eine Stadt Doppelklicke die in Tabelle 12 eingetragen ist, dabei soll es für (fast) alle Sheets gelten. Liegt es an ActiveWindow vielleicht?.Hier der Code:
Sub AntragerstellenMakro()
'Variabeln für Informationen aus der Städteliste
Dim Stadt As String, Stadttext As String, Standplatz As String, Mail As String, Telnr As String
'Variabeln für Informationen aus der Vereinstexte
Dim Verein As String, Vereinstext As String, Erteilung As String, Anlagen As String, VereinZ As Integer, VereinS As Integer
'Variabeln für Informationen aus der KW Liste...es fehlen noch Variabeln
Dim eTdM As Integer, mTdM As Integer, Monat As String, Folgemonat As String, TabellenZ As Integer, Count As Integer
'Infos aus Städteliste entnehmen
StadtZ = 3
StadtS = 1
Stadt = ActiveWindow.ActiveCell.Value
'Stadt wird erfolgreich deklariert
Do Until Tabelle1.Cells(StadtZ, StadtS).Value = Stadt
StadtZ = StadtZ + 1
Loop
Stadttext = Tabelle1.Cells(StadtZ, StadtS + 140).Value
Standplatz = Tabelle1.Cells(StadtZ, StadtS + 141).Value
Mail = Tabelle1.Cells(StadtZ, StadtS + 142).Value
Telnr = Tabelle1.Cells(StadtZ, StadtS + 143).Value
'Infos aus Vereinsliste entnehmen
VereinZ = 1
VereinS = 1
Verein = ActiveWindow.ActiveCell.Offset(0, -1).Value
'Verein wird erfolgreich deklariert
Do Until Tabelle24.Cells(VereinZ, VereinS).Value = Verein
VereinZ = VereinZ + 1
Loop
Vereinstext = Tabelle24.Cells(VereinZ, VereinS + 1).Value
Erteilung = Tabelle24.Cells(VereinZ, VereinS + 2).Value
Anlagen = Tabelle24.Cells(VereinZ, VereinS + 3).Value
'Vereinsinhalte werden gespeichert
'Infos der zu beantragenden Tage entnehmen
eTdM = Cells(1, 26).Value
mTdM = Cells(1, 29).Value
Monat = Cells(1, 27).Value
Folgemonat = Cells(1, 31).Value
TagZ = ActiveWindow.ActiveCell.Row
TagS = ActiveWindow.ActiveCell.Offset(0, 3).Column
[...] ich glaube der Rest hat nichts mit der Problematik zu tun
Also ohne den Code zu sehen ist das sehr schlecht zu sagen und dann kann es sein wie MoeS1973 schon geschrieben hat das er entweder Tabellennamen abhängig ist oder das der Makrocode eventuell nur im VBA Modul dieser Tabelle abgelegt wurden ist und nicht in einem eigenen Modul.
Aber besser ist immer einmal den Code und den Ablageort hier zu erwähnen.
Steht in dem Code der Name der Tabelle? Wenn das mit dem Rekorder aufgezeichnet wurde ist das sehr wahrscheinlich. Poste bitte mal den Code.
Das Makro soll beim Doppelklick in eine Zelle (Spalte 3 und mindestens Zeile 2) den Wert als "Stadt" deklarieren und das dann in einem anderem Sheet (Tabelle1) suchen. Leider funktioniert das Makro nur, wenn ich eine Stadt Doppelklicke die in Tabelle 12 eingetragen ist, dabei soll es für (fast) alle Sheets gelten. Liegt es an ActiveWindow vielleicht?.Hier der Code:
Sub AntragerstellenMakro()
'Variabeln für Informationen aus der Städteliste
Dim Stadt As String, Stadttext As String, Standplatz As String, Mail As String, Telnr As String
'Variabeln für Informationen aus der Vereinstexte
Dim Verein As String, Vereinstext As String, Erteilung As String, Anlagen As String, VereinZ As Integer, VereinS As Integer
'Variabeln für Informationen aus der KW Liste...es fehlen noch Variabeln
Dim eTdM As Integer, mTdM As Integer, Monat As String, Folgemonat As String, TabellenZ As Integer, Count As Integer
'Infos aus Städteliste entnehmen
StadtZ = 3
StadtS = 1
Stadt = ActiveWindow.ActiveCell.Value
'Stadt wird erfolgreich deklariert
Do Until Tabelle1.Cells(StadtZ, StadtS).Value = Stadt
StadtZ = StadtZ + 1
Loop
Stadttext = Tabelle1.Cells(StadtZ, StadtS + 140).Value
Standplatz = Tabelle1.Cells(StadtZ, StadtS + 141).Value
Mail = Tabelle1.Cells(StadtZ, StadtS + 142).Value
Telnr = Tabelle1.Cells(StadtZ, StadtS + 143).Value
'Infos aus Vereinsliste entnehmen
VereinZ = 1
VereinS = 1
Verein = ActiveWindow.ActiveCell.Offset(0, -1).Value
'Verein wird erfolgreich deklariert
Do Until Tabelle24.Cells(VereinZ, VereinS).Value = Verein
VereinZ = VereinZ + 1
Loop
Vereinstext = Tabelle24.Cells(VereinZ, VereinS + 1).Value
Erteilung = Tabelle24.Cells(VereinZ, VereinS + 2).Value
Anlagen = Tabelle24.Cells(VereinZ, VereinS + 3).Value
'Vereinsinhalte werden gespeichert
'Infos der zu beantragenden Tage entnehmen
eTdM = Cells(1, 26).Value
mTdM = Cells(1, 29).Value
Monat = Cells(1, 27).Value
Folgemonat = Cells(1, 31).Value
TagZ = ActiveWindow.ActiveCell.Row
TagS = ActiveWindow.ActiveCell.Offset(0, 3).Column