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

Workbooks-Abfragen auf eingeblendete beschränken

Workbooks-Abfragen auf eingeblendete beschränken
08.12.2008 22:52:49
Peter
Guten Abend
Mit folgender Funktion ermittle ich den Namen der Datei, der nicht dem aktiven Workbook entspricht, sofern nur zwei Dateien offen sind.
Nun habe ich in der Regel noch die PERSONL oder allenfalls andere Dateien offen. Nun möchte ich den Code so ergänzen, dass die ausgeblendeten Dateien nicht mitgezählt und nie als Objekt zurückgegeben werden.
Dazu zwei Fragen:
1. Wie kann ich Workbooks.Count auf eingeblendete Workbooks beschränken?
2. Wie kann ich For Each WbAm In Workbooks auf eingeblendete Workbooks beschränken?
Danke für eine Antwort.
Gruss, Peter

Public Function FuObFileToRefresh() As Object
'sofern nur zwei Workbooks offen, gibt diese Funktion den Namen der Datei
'bekannt, aus der das Makro NICHT gestartet wird (als Objekt = ohne .xls)
Dim WbAm As Workbook
If Workbooks.Count > 2 Then MsgBox "mehr als 2 xls-Dateien offen - Update kann nicht  _
ausgeführt werden"
If Workbooks.Count > 2 Then Exit Function
For Each WbAm In Workbooks
If UCase(WbAm.Name)  UCase(ThisWorkbook.Name) Then
Set FuObFileToRefresh = WbAm
Exit For
End If
Next
End Function


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Workbooks-Abfragen auf eingeblendete beschränken
08.12.2008 23:36:00
Original
Hi,,
For Each WbAm In Workbooks
If Windows(WbAm.Name).Visible Then
If UCase(WbAm.Name) UCase(ThisWorkbook.Name) Then
Set FuObFileToRefresh = WbAm
Exit For
End If
End if
Next
mfg Kurt
AW: Workbooks-Abfragen auf eingeblendete beschränken
10.12.2008 18:14:00
Peter
Hallo Kurt, vielen Dank für den Lösungsansatz.
Nun habe ich noch die Anforderung eingebaut, dass der Objektname nur zugewiesen werden soll, wenn nur zwei xls-Datei offen und eingeblendet sind.
Scheint zu klappen. Hoffe, dass ich das nicht allzu kompliziert gemacht habe.
Ansonsten bin ich auf einen Hinweis dankbar.
Gruss, Peter

Public Function FuObFile() As Object
Dim WbAm As Workbook
Dim lngWbAm As Long
lngWbAm = 0
For Each WbAm In Workbooks
If Windows(WbAm.Name).Visible Then lngWbAm = lngWbAm + 1
If UCase(WbAm.Name)  UCase(ThisWorkbook.Name) And Windows(WbAm.Name).Visible = True And  _
lngWbAm  2 Then Set FuObFile = Nothing
If lngWbAm = 1 Then MsgBox "Nur diese xls-Datei offen - Update kann nicht ausgeführt werden" _
If lngWbAm > 2 Then MsgBox lngWbAm & " Dateien offen - nebst dem Update-File darf nur die  _
zu aktualisierende Datei offen sein."
End Function


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige