Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1864to1868
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

Excel mit Makro öffnen?

Excel mit Makro öffnen?
27.01.2022 16:47:18
Andreas
Hi Leute,
hab 2 Excel-Dateien und möchte gerne, dass wenn in Datei 1, (die heißt: Mappe1) in Feld "A1" etwas eingetragen wird (egal was) sich Datei 2 (heißt: öffne diese Datei) automatisch öffnet.
Hab's mit dem Makrorekorder versucht, geht aber leider nicht =(
Wundert mich irgendwie auch nicht, der Code sieht nämlich ziemlich komisch aus und es ist gar kein Bezug zur zweiten Datei darin enthalten.

Sub öffnen()
' öffnen Makro
Windows("Mappe1").Activate
End Sub
Hoffe mir kann jemand helfen =D
Gruß Andreas

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel mit Makro öffnen?
27.01.2022 20:35:03
ralf_b
das muß über ein Eventmakro realisiert werden.
Worksheet_change()
darin prüfst du ob die Änderung in der bestimmten Zelle stattgefunden hat und ob der bestimmte Wert drin steht.
dann prüfst du ob die Datei evtl schon offen ist (selbstständig recherchieren )
wenn nicht, dann externe Datei öffnen (selbstständig recherchieren wie das geht.)
AW: Excel mit Makro öffnen?
31.01.2022 08:35:49
Andreas
Guten Morgen Ralf,
danke für deine Ansätze.
Meine Versuche sind bisher leider erfolglos, hoffe dass ich heute Mittag nochmal Zeit hab es zu versuchen.
Gruß Andreas
AW: Excel mit Makro öffnen?
01.02.2022 10:47:16
Peter
Hallo Andreas,
ich habe nach Deinen Angaben mal zwei Dateien erstellt. Die Datei "Mappe1" enthält die Steuerungsfunktionen und die Makros. Trage hier in Zelle M3 den von Dir für beide Dateien verwendeten Pfad ein und speichere die Dateien unter diesem Pfad ab. Sobald in Mappe1 ein Eintrag in Zelle A1 erfolgt, wird die Datei "Oeffne_diese_Datei" aufgerufen. Dies geschieht durch das Ereignismakro, welches dem Arbeitsblatt "Tabelle1" zugeordnet ist. Du kannst dies anzeigen lassen, indem Du auf Tabelle1 rechts klickst und dann auf "Code..." Der eigentliche Aufruf der Datei "Oeffne_diese_Datei" erfolgt mit dem Makro1 in Modul1. Hier ist der letzte Befehl durch das Hochkomma deaktiviert. Dadurch bleibt der Eintrag in Zelle A1 erhalten und bewirkt, dass beim Hochladen der Datei "Mappe1" die Datei "Oeffne_diese_Datei" automatisch geladen wird. Das erfolgt durch den Ereignismakro in "Diese Arbeitsmappe". Du kannst den Makro-Befehl aktivieren, indem Du das Hochkomma entfernst. Dann wird der Eintrag nach laden von "Oeffne_diese_Datei" sofort entfernt und beim Laden von "Mappe1" wird diese nicht automatisch geladen.
Hier die "Mappe1"
https://www.herber.de/bbs/user/150802.xlsm
und hier die Mappe "Oeffne_diese_Datei"
https://www.herber.de/bbs/user/150803.xlsm
Bitte mal ausprobieren, Rückmeldung wäre schön.
Mit freundlichem Gruß
Peter Kloßek
Anzeige
AW: Excel mit Makro öffnen?
02.02.2022 14:39:18
Andreas
Hi Peter,
zuerst einmal vielen Dank für deine Müh und die ausführliche Erklärung :)
Hätte ich alleine niemals hinbekommen.
Ist genau das was ich brauche, deine Testdateien funktionieren auch super.
Hab's dann direkt in meiner Originaldatei versucht und mir seit gestern den Kopf zerbrochen wieso es nicht funktioniert.
Hab heute meiner Datei dann mal den Namen "Steuerung" gegeben und jetzt geht's =D
Aber wieso? Kannst du mir sagen woran das liegen könnte?
Gruß Andreas
AW: Excel mit Makro öffnen?
02.02.2022 15:27:12
Andreas
Hey Peter,
nachdem ich meine Datei in "Steuerung" umbenannt habe und es funktioniert hat, habe ich ihr wieder den alten Namen gegeben und es funktioniert immer noch =D
Keine Ahnung wieso, aber es passt.
Eine Frage habe ich aber noch - und zwar öffnet sich die Datei ja wenn in Zelle "A1" etwas eingetragen wird.
In Zelle A1 wollte ich eine Formel einfügen, damit das Blatt, welches die Pfade enthät ausgeblendet werden kann: =WENN(Planung!E3="";"";1)
Das scheint aber nicht zu gehen. Hast du vielleicht eine Idee?
Besten Dank vorab
Gruß Andreas
Anzeige
AW: Excel mit Makro öffnen?
02.02.2022 15:39:03
Peter
Hallo Andreas,
wenn Du in der Zelle "A1" eine Formel einträgst, dann erscheint (normalerweise) ein Ergebnis. In diesem Falle musst Du das Ergebnis abfragen, also anstelle der Anweisung im Makro
If Range("a1") 0 Then
ändern in
If Range("a1") = "Ergebnis_X" Then
wenn "Ergebnis_X" bei der Formel herauskommt.
M.f.G. Kloßek
AW: Excel mit Makro öffnen?
02.02.2022 16:23:33
Andreas
Hallo Peter,
hab ich angepasst, Danke übrigens für deine schnelle Rückmeldung =)
Irgendwie funktionierts aber nicht.
Korrigier mich bitte wenn ich falsch lieg, die Änderung habe ich in dem Code vorgenommen, der in dem Modul1 liegt.
Meine Formel in Zelle "A1" lautet dann: =WENN(Planung!E3="";"";"Ergebnis_X")
Kann es sein, das der Code, der im Tabellenblatt liegt auch noch eine Anpassung braucht?
Da wird ja auf jeden Fall auch Bezug auf die Zelle "A1" genommen.
Gruß Andreas
Anzeige
AW: Excel mit Makro öffnen?
02.02.2022 18:48:41
Peter
Hallo Andreas,
ich habe meine "Mappe1" (die Steuerungsdatei) angepasst. Das Blatt Planung habe ich hinzugefügt. Zu diesem Blatt gehört ebenfalls ein Makro (Blatt-Code). Wenn Du die Zelle E3 änderst, wird die Testdatei aufgerufen. Das Ergebnis der Formel wird jetzt unter der Zelle "A2" angezeigt, von dort wird es in Zelle A1 kopiert. Der Inhalt in Zelle A1 bleibt stehen, wenn der letzte Befehl in Makro 1 deaktiviert ist, wenn nicht, wird der Eintrag in A1 gelöscht. Wenn beim Laden der Steuerungsdatei in der Zelle A1 der Eintrag vorhanden ist, wird die Test-Datei automatisch geladen.
Hier die geänderte Arbeitsmappe (Mappe1)
https://www.herber.de/bbs/user/150822.xlsm
Du musst auch hier wieder in Spalte M auf Deine Version anpassen!
M.f.G. Kloßek
Anzeige
AW: Excel mit Makro öffnen?
03.02.2022 10:09:35
Andreas
Guten Morgen Peter,
mein Problem damit ist, dass ich in der Tabelle "Planung" leider schon ein ziemlich großes Makro hab.
Ist aber das einzige Blatt, in dem nachher Daten eigegeben werden sollen.
Wie könnte man das lösen, bzw. kannst du mir sagen wie ich beide Makros im Tabellenblatt "Planung" ablegen kann?
Das ist da aktuell drin, mit viel Hilfe von dem 1a Support in diesem Forum : )
'unter Anbindung von Bibliothek "Microsoft Scripting Runtime":
'Extras, Verweise..., Hacken bei "Microsoft Scripting Runtime"
Dim FSO As New FileSystemObject
Dim DateiPfad As String
Const sPfadErledigt As String = "C:\Users\andreas.senger\Desktop\Test neu\"
Const DateinamenMuster = " K xxx.xlsm"

Private Sub CommandButton1_Click()
Dim Datei As File
'1. Prüfen, dass der Pfad gültig ist
'2. Prüfen, ob Dateinumemr gültig ist
'3. Prüfen ob Datei bereit existiert
'4. Daten übertragen
'5. Datein Speichern
'1.
If Pfad_prüfen(sPfadErledigt) Is Nothing Then
MsgBox "Verzeichnis """ & sPfadErledigt & """ nichtvorhadne oder nicht gefunden.", vbExclamation
Exit Sub
End If
'2.
If Worksheets("Planung").Range("AK1").Value = "" Or Not IsNumeric(Worksheets("Planung").Range("AK1").Value) Then
MsgBox "Nummer """ & Worksheets("Planung").Range("AK1").Value & """ ist für diese Datei nicht gültig.", vbExclamation
Exit Sub
End If
'3
DateiPfad = sPfadErledigt & Replace(DateinamenMuster, "xxx", Worksheets("Planung").Range("AK1").Value)
Set Datei = Datei_prüfen(sPfadErledigt & Replace(DateinamenMuster, "xxx", Worksheets("Planung").Range("AK1").Value))
If Not Datei Is Nothing Then
If MsgBox("Datei """ & Datei.ShortPath & """ existiert bereits. " & vbCr & vbCr & "Überschreiben?", vbYesNo + vbQuestion)  vbYes Then
Exit Sub
End If
End If
'4.
ThisWorkbook.Worksheets("Planung").Range("BC2:BI2").Copy
Workbooks("Übersicht.xlsx").Worksheets("Übersicht").Range("A99999").End(xlUp).Offset(1, 0).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'5.
ThisWorkbook.SaveAs DateiPfad, xlOpenXMLWorkbookMacroEnabled
'    ThisWorkbook.Close
End Sub

Function Pfad_prüfen(Pfad As String) As Folder
'gibt einen Folder-Objekt zurück, wenn Pfad vorhanden, sonst Nothing
On Error Resume Next
Set Pfad_prüfen = FSO.GetFolder(Pfad)
End Function
Function Datei_prüfen(Pfad As String) As File
'gibt einen File-Objekt zurück, wenn Pfad vorhanden, sonst Nothing
On Error Resume Next
Set Datei_prüfen = FSO.GetFile(Pfad)
End Function
Gruß und nochmals vielen Dank für deine Hilfe =)
Andreas
Anzeige
AW: Excel mit Makro öffnen?
02.02.2022 15:29:02
Peter
Hallo Andreas,
es ist eigentlich egal, welche Namen Du verwendest, Du musst sie nur in der Steuerungsdatei rechts in den gelb-unterlegten Feldern definieren und dann die beiden Dateien auch so speichern, dann funktioniert es. Die von mir bezeichnete "Steuerungsdatei" muss also nicht so heißen; in meinem Beispiel (auf meinem Computer) heißt sie "Mappe1" und ist auch so abgespeichert. Dasselbe gilt für die aufzurufende Datei, Die heißt bei mir "Oeffne_diese_Datei".
Mit freundlichem Gruß
Peter Kloßek

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige