Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
776to780
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
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Automatisierung der Änderungen von "Range-Angaben"

Automatisierung der Änderungen von "Range-Angaben"
05.07.2006 15:20:48
"Range-Angaben"
Hallo liebe Excel-Experten!
Ich bin gerade dabei ein Buchführungsprogramm für meine Vereins-Kassenführung zu schreiben.
Ich habe eine Eingabemaske bzw. ein Eingabetabellenblatt, in dem u.a. Datum und Betrag eingetragen werden. Dann kann per Dropdownmenü die Kosten- bzw. Erlösart gewählt werden. Je nach gewählter Kosten- bzw. Erlösart, soll dann der Betrag im "Journal" unterschiedlich verbucht werden. Ich habe das per Fallauswahl (Case) gemacht (siehe Auszug vom Programmcode unten).
Es funktioniert soweit auch alles, das Problem ist nur, dass ich diesen Makro bzw. das Dropdownmenü in ca. 250 Zeilen brauche und ich mit der manuellen Änderungen der ganzen "Range-Angaben" (z.B. Range("Journal!D7") in Range("Journal!D8")) wohl sehr lange beschäftigt sein werde (Es sind insgesamt 25 Cases pro Dropdownmenü bzw. Makro).
Gibt es eine Möglichkeit, diesen Vorgang zu automatisieren? Also z.B. eine Anweisung, bei der ich sagen kann: "Ändere überall in diesem Makro bzw. Programmcode die Zahl "7" in die Zahl "8" bzw. "9" usw.?
Sub Dropdown1()
Dim Zahl As Integer
Zahl = Range("G7")
Select Case Zahl
Case 1
Range("Journal!D7") = "Beitrag"
Range("Journal!I7,Journal!W7") = Range("Journal!G7")
Range("Journal!L7:Journal!V7") = ""
Range("Journal!X7:Journal!BQ7") = ""
Case 2
Range("Journal!D7") = "Beitrag Retour"
Range("Journal!L7") = Range("Journal!F7")
Range("Journal!AV7") = Range("Journal!F7") - 3
Range("Journal!BC7") = 3
Range("Journal!I7") = ""
Range("Journal!M7:Journal!AT7") = ""
Range("Journal!AW7:Journal!BB7") = ""
Range("Journal!BD7:Journal!BQ7") = ""
Case 3
Range("Journal!D7") = "Rücküberweisung Beitrag"
Range("Journal!L7,Journal!AV7") = Range("Journal!F7")
Range("Journal!I7") = ""
Range("Journal!M7:Journal!AT7") = ""
Range("Journal!AW7:Journal!BQ7") = ""
Case 4
Case 5
...
Schon mal vielen Dank für Eure Hilfe und schöne Grüße,
stefanseevetal

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

Betreff
Datum
Anwender
Anzeige
AW: Automatisierung der Änderungen von "Range-Angaben"
05.07.2006 15:40:10
"Range-Angaben"
Hallo,
du machst da was grundlegend falsch. Range("Journal!D7") etc. brauchst du nicht immer zu schreiben.
With Sheets("Journal")
Select Case Zahl
Case 1
.Range("D7") = "Beitrag"
.Range("I7,W7") = .Range("G7")
.Range("L7:V7") = ""
.Range("X7:BQ7") = ""
Case 2
.Range("D7") = "Beitrag Retour"
.Range("L7") = .Range("F7")
.Range("AV7") = .Range("F7") - 3
.Range("BC7") = 3
.Range("I7") = ""
.Range("M7:AT7") = ""
.Range("AW7:BB7") = ""
.Range("BD7:BQ7") = ""
End Select
End With
spart schon mal einen Haufen Tipparbeit.
Schau dir mal die .cells-Eigenschaft an.
Anstatt .Range("D7") kannst du auch .cells(7,4) schreiben.
Weiterhin kannst du dann den Zeilenindex durch eine Variable ersetzen und in einer Schleife verarbeiten.
Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
Anzeige
AW: Automatisierung der Änderungen von "Range-Angaben"
05.07.2006 15:43:54
"Range-Angaben"
Hallo Stefan
Handelt es sich bei deinem Dropdown um eine Liste/Gültigkeit (in Bereich G7:G257)?
Wie wird dein Makro ausgeführt (Worksheet_Change oder manuell)?
Gruss
Chris
AW: Automatisierung der Änderungen von "Range-Anga
05.07.2006 15:52:48
"Range-Anga
Hallo und vielen Dank für die Antworten!
Das Dropdownmenü besteht aus einer Liste mit 25 Einträgen, die in einem anderen Tabellenblatt abgelegt ist. Je nach Auswahl des Eintrags, wird im Feld "G7" der Eingabeseite eine Zahl zwischen 1 und 25 angezeigt. Auf diese Zahl greife ich dann bei der Makroprogrammierung zurück (Case 1 bis 25).
Der Makro wird manuell durch die Auswahl eines der Einträge im Dropdownmenü ausgeführt.
Danke und Gruß,
stefanseevetal
Anzeige
AW: Automatisierung der Änderungen von "Range-Anga
05.07.2006 16:28:00
"Range-Anga
Hallo Stefan
Dropdownmenüs gibt es nicht. Deshalb die Frage, welche der vielen Möglichkeiten du verwendest (ich vermute Gültigkeit oder?).
Du sprichst immer nur von G7, aber anscheinend gibt es 250 solche Auswahlen? Oder kannst du 250 Möglichkeiten aus Gültigkeit G7 auswählen?
Die Frage zielt darauf ab, wo eigentlich deine Variable steht. Ist die Variable "G7" oder die "Cases".
Generell fehlt mir die Vorstellungskraft und ich denke eine konkrete Beispieldatei wäre hilfreich.
Gruss
Chris
AW: Automatisierung der Änderungen von "Range-Anga
05.07.2006 16:45:19
"Range-Anga
Hallo Chris,
vielen Dank für Deine Antwort! Du hast recht, habe das etwas unklar formuliert, sorry dafür!
Habe das Problem gerade eben bereits beheben können und arbeite jetzt mit ner while-Schleife. Insofern erübrigt sich meine Frage.
Trotzdem vielen Dank und Gruß,
stefanseevetal
Anzeige

30 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige