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.


hamadin 
Beitragsersteller
 01.07.2015, 11:10

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

0