Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1376to1380
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
Inhaltsverzeichnis

Hilfe bei einem Code

Hilfe bei einem Code
22.08.2014 15:31:44
Peter

Hallo,
ich habe folgenden Code.
Dabei soll, wenn in der Zelle A5 eine 1 steht, das Makro "Dax" und wenn nichts drin steht das Makro "Daxlöschen" ausgeführt werden.
Wenn jedoch in Zelle B5 eine 1 steht, soll eben das Makro "Mdax" und bei "" das Makro "Mdaxlöschen" ausgeführt werden.
Jetzt werden jedoch beide Makros ausgeführt. Also Dax + Mdax oder Daxlöschen und Mdaxlöschen, wenn in einer der Zellen A5 oder B5 oder C5 eine 1 oder "" steht.
Nun die Frage, wie kann ich das in dem Code eindeutig zuweisen?
Bin Anfänger in VBA und suche mir das alles irgedwie zusammen und versuche daraus zu lernen.
Jedoch bin ich gerade unter Zeitnot und wende mich deshalb an Euch.
Evtl. hat Ihr eine Idee.:-)
Grüße
Peter

Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, Range("A5:c5"))
If Target Is Nothing Then Exit Sub
If Target = 1 Then
Application.EnableEvents = False
Call Dax
Application.EnableEvents = True
Else
If Target = "" Then
Application.EnableEvents = False
Call Daxlöschen
Application.EnableEvents = True
End If
End If
If Target = 1 Then
Application.EnableEvents = False
Call MDAX
Application.EnableEvents = True
Else
If Target = "" Then
Application.EnableEvents = False
Call MDAXlöschen
Application.EnableEvents = True
End If
End If
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei einem Code
22.08.2014 15:36:08
Hajo_Zi
Hallo Peter,
und welches bei B1 <>1 und <>""?

AW: Hilfe bei einem Code
22.08.2014 15:39:01
Peter
bei b5 = 1 soll "Mdax" und B5="" "Mdaxlöschen"
das soll später noch erweitert werden und für c5 soll dann eben ein weiteres Makro ausgeführt werden
D5 ebenso...etc:-)

AW: Hilfe bei einem Code
22.08.2014 15:44:12
Hajo_Zi
Gut Du möchtest meine Fragen nicht beantworten. Ich bin dann raus.
Option Explicit
' Dabei soll, wenn in der Zelle A5 eine 1 steht, das Makro "Dax" und wenn nichts drin steht das  _
Makro "Daxlöschen" ausgeführt werden.
' Wenn jedoch in Zelle B5 eine 1 steht, soll eben das Makro "Mdax" und bei "" das Makro "Mdaxlö _
schen" ausgeführt werden.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, Fals) = "A5" Then
Application.EnableEvents = False
If Target = 1 Then
Dax
If Range("B5") = 1 Then
mdax
ElseIf Range("B5") = "" Then
Mdaxlöschen
Else
' keine Aktion
End If
Dax
ElseIf Target = "" Then
Daxlöschen
If Range("B5") = 1 Then
mdax
ElseIf Range("B5") = "" Then
Mdaxlöschen
Else
' keine Aktion
End If
Else
' keine Aktion
End If
Application.EnableEvents = True
End If
End Sub
Gruß Hajo

Anzeige
AW: Hilfe bei einem Code
22.08.2014 15:51:42
Peter
ach meinst du, was passieren soll, wenn also was anderes als 1 oder "" in der Zelle B5 steht?
dann soll einfach nichts passieren.
Sorry, habe die Frage wohl nicht richtig verstanden. Wollte nicht unhöflich erscheinen.:-/

AW: Hilfe bei einem Code
22.08.2014 15:40:59
Peter
irgendwie evtl. muß ich auch einen genauen Bezug zu einer Zelle herstellen um das Makro auszuführen.
Heißt, wenn in A5 = 1 dann, call Dax, else A5 = "" dann "Daxlöschen"
für B5, c5 dann ebenso

AW: Hilfe bei einem Code
22.08.2014 17:14:22
Frank
Hallo Peter,
gut, dass Du versuchst Dich selber in VBA einzuarbeiten. Da wird Dir sicher gern geholfen.
Für mich vielleicht nochmal zum Mitmeisseln: In Zeile 5 darf immer nur in einer Zelle eine 1 stehen - wenn in B5 ne 1, dann in A5 und C5 und D5 etc ein ""? Und die Makros sollen ausgelöst werden, wenn sich ein Eintrag ändert?
Das würde heissen, beim obigen Beispiel, Du kannst nur für B5 das Makro für den Eintrag "" auslösen. Bei den anderen steht ja das "" schon drin.
Wenn dem so ist, musst Du zuerst allen anderen Zellen den Eintrag zuordnen, den sie haben sollen, wenn einer geändert wird - B5 auf 1, dann A5, C5, D5... auf "".
Du musst anhand der markierten Zelle feststellen, welches Makro gestartet werden soll - durch das Ändern des Eintrages kann sich ja mindestens ein anderer auch verändern (C5 vorher1 jetzt ""), was durch das Change-Ereignis auch erkannt und ausgewertet würde. In der Folge würde das Makro für C5 auf "" geändert auch ausgeführt werden.
Grüsse,
Frank

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige