Verschiedene Aktionen bei bestimmtem Feldwert

hallo,
ich stehe vo einem Problem und komme nicht weiter. Folgende Situation:
im Arbeitsblatt Tabelle1 soll in Zelle (K9) ein Monat eingetragen werden (z.B. Mai). Darauf hin soll im Tabellenblatt Januar, Februar März und April jeweils eine Zelle mit einem Wert „befüllt“ werden.
Ist der Monat jedoch „Oktober“ soll das für die Tabellenblätter Januar bis September gemacht werden.
Klar geht das jetzt mit nem Makro für jede Möglichkeit, aber gibt es einen Weg, mit dem ich das auch in einem kleineren makro bewerkstelligen kann. (Habe es bereits mit Matrix versucht, aber da komme ich auch nicht weiter)
Vielen Dank schon mal für eure hilfe.

Dann schreib dir in die Zellen, die sich ändern sollen eine if anweisung rein:

=if(Bedingung;wahrheitswert;alternative)

Und ja, Makro wäre günstiger :wink:

Lg OVM

Hallo,
ich weiß nicht, ob Du Dich mit VBA auskennst, mit Excel-Funktionen kenne ich mich zu diesem Problem nicht aus.
Mit VBA ist das relativ einfach, zunächst eine Routine definieren/aktivieren, die bei Änderung in bestimmten Tabellen aktiviert wird, z.B.:
Sub Auto_Open()

’ Anmelden einer Routine, die bei Eingaben aktiviert wird

Worksheets(„Tabelle1“).OnEntry = „Änderung“
End Sub
In der Routine „Änderung“ dann die entsprechende Codierung, z.B.:
Sub Änderung()

’ wird bei Änderungen in Tabelle1 aktiviert

If Application.Caller.Column = 9 And _
Application.Caller.Row = 9 Then ’ Eingabe in Zelle K9

End If
End Sub
Achtung! reagiert auf Eingabe, nicht aber bei Entfernen/Delete!
… ist der individuelle Code, z.B. den Monat auf die Zahl 1-12 umschlüsseln und in den entsprechenden Tabellen die Einträge vornehmen.
Noch ein Hinweis: der relevante Eingabebereich kann natürlich mehrere Zellen umfassen, in diese darf aber innerhalb der Routine nicht geschrieben werden, das ist eine Änderung -> endlose Schleife
Viel Erfolg
Rainer

Hallo OVM,

das ist so ne Sache. Die Zelle im Januar Tabellenblatt muss ja bei (fast) allen Varianten geändert werden.
Das wird ne ewig lange Formel, wenn es überhaupt geht.

Dann schreib dir in die Zellen, die sich ändern sollen eine if anweisung rein:

=if(Bedingung;wahrheitswert;alternative)

Und ja, Makro wäre günstiger :wink:

Und vielleicht willst Dich mal einem Makro stellen:
Im Excel [alt]+[F11]
dann ein neues Modul einfügen und diesen Code einfügen und nach belieben anpassen.

Sub monatsauswahl()
Select Case sheets(„Tabelle1“).cells(11,4).value

Case „Mai“
Sheets(„Januar“).cells(zeilennummer,spaltennummer).Value = „DasWasDannStehenSoll“

Case „September“
Sheets(„Juli“).cells(zeilennummer,spaltennummer).Value = „DasWasDannStehenSoll“

…weitere Case (also möliche werte in tabelle1 k4
End Select
End sub

Mit F5 starten und schauen ob’s klappt

Wenn weitere Hilfe brauchst, einfach melden. Und über Feedback wäre ich sowieso froh

Viel Erfolg
OVM

Und vielleicht willst Dich mal einem Makro stellen:
Im Excel [alt]+[F11]
dann ein neues Modul einfügen und diesen Code einfügen und
nach belieben anpassen.

Sub monatsauswahl()
Select Case sheets(„Tabelle1“).cells(11,4).value

Case „Mai“
Sheets(„Januar“).cells(zeilennummer,spaltennummer).Value =
„DasWasDannStehenSoll“

Case „September“
Sheets(„Juli“).cells(zeilennummer,spaltennummer).Value =
„DasWasDannStehenSoll“

…weitere Case (also möliche werte in tabelle1 k4
End Select
End sub

Mit F5 starten und schauen ob’s klappt

Wenn weitere Hilfe brauchst, einfach melden. Und über Feedback
wäre ich sowieso froh

Also ich hab absolut nichts gegen makros :wink:

Ich hatte mich scheinbar etwas falsch in meiner Frage ausgedrückt.
Also es ist so:

Wenn im Feld k4 z.B. September steht, dann soll nicht nur im August (Sheets(„August“).cells(zeilennummer,spaltennummer).Value =:„DasWasDannStehenSoll“ passieren, sondern diese Funkion auch bei den Sheets Januar-Juli ebenfalls.
Das mit jeder Möglichkeit gibt dannauch ein riesen Makro. Dann ist es fast gleich, ob ich es so oder mit if, then mache.

Gruß
Stephan

Hallo,

zeichne dein makro auf.

wenn ich’s richtig verstanden ist das die lösung.

LG Fred

Ich geh mal davon aus, dass Tabelle1 das erste blatt ist, Januar Nummer zwei und Dezember dann die 13

Dann basteln wir eine for schleife

Case „Mai“
Dim i As integer
For i =2 to 5 '(januar bis April wird befühlt)
Sheets(i).cells(zeilennummer,spaltennummer).Value =:„DasWasDannStehenSoll“
Next i

Case „Oktober“
Dim i As integer
For i =2 to 10 '(januar bis September wird befühlt)
Sheets(i).cells(zeilennummer,spaltennummer).Value =:„DasWasDannStehenSoll“
Next i

Ich geh mal davon aus, dass Tabelle1 das erste blatt ist,
Januar Nummer zwei und Dezember dann die 13

Dann basteln wir eine for schleife

Case „Mai“
Dim i As integer
For i =2 to 5 '(januar bis April wird befühlt)
Sheets(i).cells(zeilennummer,spaltennummer).Value
=:„DasWasDannStehenSoll“
Next i

Case „Oktober“
Dim i As integer
For i =2 to 10 '(januar bis September wird befühlt)
Sheets(i).cells(zeilennummer,spaltennummer).Value
=:„DasWasDannStehenSoll“
Next i

Das hört sich gut an. Werd ich morgen mal ausprobieren und dir dann bescheid geben, ob es klappt. Danke erst mal.

Gruß
Stephan

Sorry ich kann dir hier leider nicht weiterhelfen

Sorry ich kann dir hier leider nicht weiterhelfen

Macht nix, danke trotzem.
Gruß
Stephan

Hallo bluebyte,

Wie wäre es mit einer Schleife in VBA, in der du die Monate abhängig von der Eingabe in k9 abarbeiten lasst?
Gruß altica

Hallo,
In die Zelle der Tabellenblätter von Januar bis April muß folgende Formel rein:
=WENN(UND(MONAT(Tabelle1!K9)>=1;MONAT(Tabelle1!K9)

Hallo
in Datumswerten kenne ich mich zuweig aus.
Du bekommst sicher anderweit eine Antwort.
Gruss PAUL

Hallo bluebyte,

ich habe zwar viel experimentiert, aber leider keine funktionierende Lösung gefunden. Bin allerdings auch
nicht geradde der Experte. Leider kann ich keine Lösung
übermitteln.

Gruß Hugo

Hallo bluebyte
Es tut mir leid das ich erst jetzt antworte auf deine frage. Ich kann dir bei deinem Problem leider nicht helfen, da ich selber nur Excel Anfänger bin.
MFG
hktchen