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

makro

makro
04.07.2006 10:05:25
Claus
Hallo, ich habe mehrere Makros über den "aufzeichner" geschrieben. Jetzt möchte ich das diese abhängig von einem Feld aktiviert werden.
Z.B.: wenn A1=1 dann Makro1, wenn aber A1=2 dann Makro2, usw...
Kann man einfach mit einer "wenn" Formel ein Makro aktivieren.
Die Makros die ich geschrieben habe, müssen Felder in einer Tabelle kopieren und in einer anderen einfügen.
VIELEN DANK für Eure Hilfe!

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: makro
04.07.2006 10:10:36
Mustafa
Hallo Claus,
NEIN man kann nicht über Formeln ein Makro aktivieren.
Dafür gibt es aber Ereignisse wie das Worksheet_Calculate oder Worksheet_Change.
Wenn du mehr hilfe benötigst dann meld dich wieder.
Viele Grüße aus Köln.
AW: makro
04.07.2006 10:26:58
Claus
Leider sind die Tabelle zu komplex um diese zu uploaden. Ist es für dieses Problem dringend erforderlich? Gibt es keine möglichkeit ein Makro mit einer wenn Formel zu aktivieren? Vielen Dank im Voraus!
Nein
04.07.2006 10:31:06
Mustafa
Mann kann kein Makro per Wenn Formel Starten.
Wie gesagt dafür gibt es andere sachen.
Wann sollen die Makros ablaufen?
Wenn das Blatt aktiviert wird, oder wenn der eintrag in einer bestimmten Zelle manuell geändert wird, oder wenn sich der Eintrag einer bestimmten Zelle durch eine Formel ändert?
Wenn du diese Fragen beantwortest kann ich evtl. weiterhelfen.
Viele Grüße aus Köln.
Anzeige
AW: Nein
04.07.2006 10:45:57
Claus
Ich beantworte deine Frage mit einem Beispiel
Zelle A1: =a2&a3 (Formel)
Zelle A2: variabel: von 1 bis 10, (wird manuell eingetragen)
Zelle A3: variabel: 12, 24 oder 36, (wird manuell eingetragen)
für jede Variation der Zelle A1 gibt es ein Makro. Z.B. wenn A1:
=112 dann bei Knopfdruck "weiter" wir Makro1 ausgeführt
=124 dann bei Knopfdruck "weiter" wir Makro2 ausgeführt
=236 dann bei Knopfdruck "weiter" wir Makro6 ausgeführt
ich hoffe ich konnte dir somit weiterhelfen.
VIELEN DANK!
AW: makro
04.07.2006 10:35:33
Claus
Besser wäre es, wenn ich auf einem Knopf drücke und dann bei Zellenwert A1=1 makro1 und bei Zellenwert A1=2 makro2 ausgeführt wird. Vielen Dank!
Anzeige
AW: makro
04.07.2006 10:41:59
Mustafa
Dann füge einen Commandbutton in deine Tabelle ein, dann rechtsklickdrauf und Code Anzeigen klicken.
Dort hinein schreibst du dann:
If Range("A1")=1 then call Dein 1.Makro
if Range("A1")=2 then call Dein 2.Makro
Rückmeldung obs hilft wäre nett.
Viele Grüße aus Köln.
AW: makro
04.07.2006 10:44:52
Hoffi
Hallo Claus,
füge einen Button in die Tabelle und hinterlege folgenden Code:

Sub CommandButton1_Click()
Dim rng As Range
Set rng = Range("A1")
Select Case rng.Value
Case Is = 1
MsgBox "Makro 1 wird gestartet" 'hier den aufruf für Makro 1 z.Bsp. Call Makro1
Case Is = 2
MsgBox "Makro 2 wird gestartet" 'hier den aufruf für Makro 2 z.Bsp. Call Makro2
Case Else
MsgBox "nix passiert" 'hier hinterlegen was passiert wenn nicht 1 oder 2 drinn steht
End Select
End Sub

Der Code ist beliebig erweiterbar.
Grüße
Hoffi
P.S. Rückmeldung wäre nett...
Anzeige
AW: makro
04.07.2006 11:45:56
Claus
Was muss ich bei 'hier den aufruf für Makro 1 z.Bsp. Call Makro1 eintragen? Den Name oder die ganze funktion? Am besten wäre wenn ich nur den name z.B. option3kopierenopen
Also wenn das der Name ist muss ich 'option3kopierenopen eintragen oder 'option3kopierenopen() (ich habe es mit diesen 2 Varianten probiert und es hat nicht funktioniert) oder muss ich die ganzen Text des Makros schreiben, also
'

Sub option2kopierenm()
' option2kopierenm Makro
' Makro am 04.07.2006 von Freiwald aufgezeichnet
Rows("15:15").Select
Selection.Copy
Workbooks.Open Filename:= _
"\Temp\makros\probe einfügen.xls"
Rows("18:18").Select
ActiveSheet.Paste
Range("A19").Select
Windows("probe eingabe.xls").Activate
Application.CutCopyMode = False
Range("B15").Select
End Sub

Vielen Dank!
Anzeige
AW: makro
04.07.2006 11:47:55
Mustafa
Du musst call option3kopierenopen eintragen.
Ohne die Klammern.
Viele Grüße aus Köln.
AW: makro
04.07.2006 11:54:23
Claus
Wäre also folgenderweise korrekt?

Sub CommandButton1_Click()
Dim rng As Range
Set rng = Range("A1")
Select Case rng.Value
Case Is = 1
MsgBox "Makro 1 wird gestartet" 'Call option1kopieren
Case Is = 2
MsgBox "Makro 2 wird gestartet" 'call option3kopierenopen
Case Else
MsgBox "nix passiert" 'hier hinterlegen was passiert wenn nicht 1 oder 2 drinn steht
End Select
End Sub

AW: makro
04.07.2006 12:00:05
Claus
Wäre also folgenderweise korrekt?

Sub CommandButton1_Click()
Dim rng As Range
Set rng = Range("A1")
Select Case rng.Value
Case Is = 1
MsgBox "Makro 1 wird gestartet" 'Call option1kopieren
Case Is = 2
MsgBox "Makro 2 wird gestartet" 'call option3kopierenopen
Case Else
MsgBox "nix passiert" 'hier hinterlegen was passiert wenn nicht 1 oder 2 drinn steht
End Select
End Sub

Anzeige
AW: makro
04.07.2006 12:10:56
Hoffi
Hallo Claus,
so sollte es gehen:

Sub CommandButton1_Click()
Dim rng As Range
Set rng = Range("A1")
Select Case rng.Value
Case Is = 1
Call option1kopieren
Case Is = 2
Call option3kopierenopen
Case Else
MsgBox "nix passiert" 'hier hinterlegen was passiert wenn nicht 1 oder 2 drinn steht
End Select
End Sub

AW: makro
05.07.2006 08:54:58
Claus
Hallo, vielen dank für Eure Hilfe. Leider funktioniert die Makro Programierung wie oben beschrieben nicht. Also bei diesem Makro kommt folgender Fehler "Fehler beim Kompilieren:

Sub oder 

Function nicht definiert"

Sub CommandButton1_Click()
Dim rng As Range
Set rng = Range("A1")
Select Case rng.Value
Case Is = 1
Call option1kopieren
Case Is = 2
Call option3kopierenopen
Case Else
MsgBox "nix passiert" 'hier hinterlegen was passiert wenn nicht 1 oder 2 drinn steht
End Select
End Sub

VIELEN DANK!!!
Anzeige
AW: makro
06.07.2006 01:18:26
Gerd
Hallo Claus,
des geht schon.
Das erste Makro ins Modul der Userform oder wenn der Commandbutton in der Tabelle ist,
ins Modul zu dieser Tabelle stellen.
Die beiden weitern Makros auch dort hin oder in ein allgemeines Modul.

Private Sub CommandButton1_Click()
Dim rng As Range
Set rng = Range("A1")
Select Case rng.Value
Case Is = 1
Call option1kopieren
Case Is = 2
Call option3kopierenopen
Case Else
MsgBox "nix passiert" 'hier hinterlegen was passiert wenn nicht 1 oder 2 drinn steht
End Select
End Sub

Sub option1kopieren()
MsgBox " Bin in option1kopieren"
End Sub
Sub option3kopierenopen()
MsgBox " Bin in option3kopierenopen"
End Sub
Gruß
Gerd
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige