Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Über Button auf bereits geöffnete Datei zugreifen

Über Button auf bereits geöffnete Datei zugreifen
28.11.2017 15:24:19
Sebastian
Hallo liebe Excel-Freunde,
habe seit ein paar Tagen in meinem Praktikum die Aufgabe gekriegt zum ersten Mal ein VBA Makro zu schreiben. Das hat bis jetzt auch sehr gut geklappt, jetzt komme ich aber nicht weiter. Mein Problem ist:
Ich habe 2 Excel-Dateien (ButtonDatei.xlsm, ZeilDatei.xlsx). In der ButtonDatei befindet sich ein Button mit dem ich ein Makro aufrufe, das mir bestimmte Zellen in der ZielDatei kopiert und darin einfügt. Ich habe das zuerst so gemacht, dass ich die ZielDatei ganz normal geöffnet habe und dann darauf das Makro angewendet habe. Das hat auch geklappt (also das Makro funktioniert an sich). Jetzt war die Aufgabenstellung von meinem Betreuer, dass ohne die Open-Methode und ohne Dateipfad zu machen. Also das Makro soll selbst wissen, dass, wenn nur die ButtonDatei und die ZielDatei als einzige Excel-Arbeitsmappen geöffnet sind, es die ZielDatei hernimmt und dort die Zellen kopiert.
Über Hilfe wäre ich dankbar!
Liebe Grüße
Basti
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Über Button auf bereits geöffnete Datei zugreifen
28.11.2017 15:41:08
ChrisL
Hi Basti
Voraussetzung die Dateien sind in der gleichen Excel-Instanz geöffnet, dann müsstest du ja nur schauen, ob die Zieldatei schon offen ist.
Hier ein Ansatz:
Sub t()
If Not IstDateiOffen("ZielDatei.xlsx") Then
' Datei öffnen
End If
ThisWorkbook.Worksheets("Tabelle1").Range("A1").Copy _
Workbooks("ZielDatei.xlsx").Worksheets("Tabelle1").Range("A1")
End Sub

Private Function IstDateiOffen(strDatei As String) As Boolean
Dim WB As Workbook
For Each WB In Application.Workbooks
If WB.Name = strDatei Then
IstDateiOffen = True
Exit For
End If
Next WB
End Function

cu
Chris
Anzeige
AW: Über Button auf bereits geöffnete Datei zugreifen
28.11.2017 15:41:50
EtoPHG
Hallo Basti,
z.B. so:
Private Sub CommandButton1_Click()
Const ButtonDatei As String = "ButtonDatei.xlsm"
Dim wb As Workbook
Dim bDone As Boolean
For Each wb In Application.Workbooks
If wb.Name = ButtonDatei Then
MsgBox "Anstelle dieser Msgbox Deinen Code zum kopieren/einfügen"
bDone = True
End If
Next wb
If Not bDone Then MsgBox "Die Datei " & ButtonDatei & " ist nicht geöffnet!", _
vbCritical, "Abbruch"
End Sub
Gruess Hansueli
Anzeige
oops, statt ButtonDatei schreibe Zieldatei (owT)
28.11.2017 15:43:43
EtoPHG

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige