VBA Makro nach Ereigniss starten

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: VBA Makro nach Ereigniss starten
von: klaus
Geschrieben am: 08.03.2005 14:47:43
Hallo,
ich habe eine Arbeitsmappe mit verschiedenen Arbeitsblättern.
Ich möchte dem Nutzer die Möglichkeit geben seine Kosteneinsparung einmal mittels absoluter Werte bzw. mittels relativer Werte zu ermöglichen.
Die einzelnen Ergebnisse der unterschiedlichen Benchmark werden nochmal zu einer Totalen Summen addiert.
Nun zu meinem Problem:
Damit es nicht zu Doppelzählungen kommt darf nur die relative Berechnung bzw. die absolute Berechnung herangezogen werden.
Ich habe mir gedachte, dass der Nutzer, sollte er ausversehen doch beide Felder ausfüllen durch eine MsgBox darauf aufmerksam gemacht wird, nur eins der beiden Felder auszufüllen.
Leider fehlt mir hierfür das nötige KnowHow.
Könnt Ihr mir helfen bzw. habt Ihr eine elegantere Alternativ im Hinterkopf?
Danke, im voraus
Klaus

Bild

Betrifft: AW: VBA Makro nach Ereigniss starten
von: Matthias G
Geschrieben am: 08.03.2005 14:51:49
Hallo Klaus,
nun, entweder du lädst mal eine Beispielmappe hoch oder du beschreibst mal genauer:
- Welche "Felder" sind betroffen? Wie werden sie ausgefüllt? (Manuell, per Button?)
- Existiert bereits ein Makro? Wie schaut das aus?
Gruß Matthias
Bild

Betrifft: AW: VBA Makro nach Ereigniss starten
von: klaus
Geschrieben am: 08.03.2005 15:14:37
https://www.herber.de/bbs/user/19361.xls
Die Eingabe erfolgt nicht mittels Buttons, sondern durch direkte Eingabe in das Arbeitsblatt. Ich hab mal eine exemplarische Wahlmöglichkeit zur Veranschaulichung hochgeladen. Hoffe, es wir nun klarer.
Die Möglichkeit zur Wahl zwischen zwei Benchmarks besteht auf mehreren unterschiedlichen Arbeitsblättern in einer Arbeitsmappe. Ich vermute, man muss wohl mehrer Makros mit unterschiedlichen Blatt-Zell-Bezügen schreiben, oder?
Bild

Betrifft: AW: VBA Makro nach Ereigniss starten
von: Matthias G
Geschrieben am: 08.03.2005 15:20:02
Hallo Klaus,
also wenn du willst, dass nicht in beiden Zellen (C11 und B16) gleichzeitig was steht, dann z.B. so:
(ins Tabellenblattmodul:)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C11]) Is Nothing Then
    If [C11] <> "" Then
        Application.EnableEvents = False
        [B16] = ""
        Application.EnableEvents = True
    End If
End If
If Not Intersect(Target, [B16]) Is Nothing Then
    If [B16] <> "" Then
        Application.EnableEvents = False
        [C11] = ""
        Application.EnableEvents = True
    End If
End If
End Sub
Gruß Matthias
Bild

Betrifft: AW: VBA Makro nach Ereigniss starten
von: klaus
Geschrieben am: 08.03.2005 15:41:09
Super, sehr elegant gelöst.
Danke
klaus
 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA Makro nach Ereigniss starten"