Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1872to1876
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

Syntax bei Set Workbook

Syntax bei Set Workbook
17.03.2022 17:48:08
marv
Servus zusammen,
durch Workbook.Open macht mir der Code jedes mal die Datei auf, die Datei ist aber schon offen.
Ich möchte quasi das Open aus dem Code rausnehmen. (Auskommentierte Zeile) Und durch die unterste Zeile ersetzten, sodass ich das Workbook ext_wb zuweise, es aber nicht nochmal öffne. Komme aber mit der Syntax nicht klar...Help please

Dim ext_wb      As Workbook
'Set ext_wb = Workbook.Open(ThisWorkbook.Path & "\bvtaeglichms.xlsx")
Set ext_wb = Workbook.ThisWorkbook.Path & "\bvtaeglichms.xlsx"



		

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Syntax bei Set Workbook
17.03.2022 18:21:01
ralf_b
workbooks()
worksheets()
sheets()
sind Aufzählungen(Listen) und enthalten die Objekte deren Namen sie tragen.
Du müßtest prüfen ob die Datei bereits geöffnet ist und wenn ja diese Datei dann referenzieren.
also eine Schleife über alle Workbooks in welcher du den jeweiligen Namen mit dem Gesuchten vergleichst.

dim wb as Workbook
For Each wb In Application.Workbooks
if wb.name = deingesuchterDateiname then   set ext_wb = wb
Next wb
if ext_wb is nothing then  set ext_wb= workbook.open.........

AW: Syntax bei Set Workbook
17.03.2022 18:23:20
Firmus
Hi Marv,
hier mal ein Beispiel in diese Richtung: Wenn das Workbook gefunden wird, dann ist es bereits geöffnet.

Dim WbkSTE As Workbook
Dim WshSTE As Variant
Dim WbkIDX As Workbook
Dim WshIDX As Variant
' Prüfen ob die Steuerung und der Videoindex bereits geöffnet ist.
For i = 1 To Workbooks.Count
If UCase(Mid(Workbooks(i).Name, 1, 12)) = "VIDEO_TABLET" Then
Set WbkSTE = Workbooks(i)
For k = 1 To WbkSTE.Sheets.Count
If (InStr(1, UCase(WbkSTE.Sheets(k).Name), UCase("Steuerung")) > 0) Then
Set WshSTE = WbkSTE.Sheets(k)
End If
Next k
End If
Gruß,
Firmus
Anzeige
AW: Syntax bei Set Workbook
17.03.2022 18:45:54
marv
Meint Code sieht so aus:

Sub KopiereDatenTEST()
ThisWorkbook.Worksheets("BV").Range("A2:I9999").ClearContents
Dim ext_wb      As Workbook
Dim wb As Workbook
Application.DisplayAlerts = False
Application.ScreenUpdating = True
For Each wb In Application.Workbooks
If wb.Name = bvtaeglichms.xlsx Then Set ext_wb = wb
Next wb
If ext_wb Is Nothing Then Set ext_wb = Workbook.Open
ext_wb.Sheets("Sheet1").Range("A2:I9999").Copy
ThisWorkbook.Sheets("BV").Range("A2").PasteSpecial
End Sub

Jetzt sagt er mir wieder Objekt erforderlich, die Datei bvtaeglichms.xlsx ist geöffnet...

Anzeige
AW: Syntax bei Set Workbook
17.03.2022 19:06:55
ralf_b

If wb.Name = "bvtaeglichms.xlsx" ' in Anfürhungsstrichen denn du vergleichst Text

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige