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

ByRef Fehlermeldung unverträglichkeit

ByRef Fehlermeldung unverträglichkeit
06.04.2018 18:06:29
Markus
Hallo Community,
kann mir bitte jemand sagen was hier falsch läuft:
Function MappeOffen(s As String) As Boolean
On Error GoTo fehler
MappeOffen = True
Windows(s).Activate
Exit Function
fehler:
MappeOffen = False
End Function


Dim B As Boolean
Dim wbb As Workbook
Set wbb = Workbooks(2)
B = MappeOffen(wbb)
'If Workbooks(2).IsClose Then
If B = True Then
Workbooks(2).Activate
Else
On Error Resume Next
Workbooks(2).Activate 'Fehlermeldung hier abfangen wenn erneut
'darauf zugegriffen und Workbook ist schon geschlossen
On Error GoTo 0
Exit Sub
End If

Bei der Zeile:
B = MappeOffen(wbb) kommt folgender Fehler
Argumenttyp ByRef unverträglich. Warum wie muüsste das richtig heißen?
Beste Grüße
Markus

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

Betreff
Datum
Anwender
Anzeige
AW: ByRef Fehlermeldung unverträglichkeit
06.04.2018 18:13:13
AlterDresdner
Hallo Markus,
wbb ist als Workbook-Objekt deklariert, in Mappeoffen verlangst Du aber einen String...
Gruß der AlteDresdner
AW: ByRef Fehlermeldung unverträglichkeit
06.04.2018 20:33:43
Luschi
Hallo Markus,
mit
Set wbb = Workbooks(2)
bekommt man aus der Liste aller z.Z. in der gleichen Excelinstanz geöffneten Arbeitsmappe die 2., wobei die Öffnungsreihenfolge eine Rolle spielt, welches die 2. ist.
Ist nur eine Arbeitsmappe geöffnet, dann kommt ein Vba-Fehler.
Mein Code sieht so aus:

Sub test1()
Dim sWb As String, b As Boolean
sWb = "meineMappe.xlsx"
b = MappeOffen(sWb)
End Sub
Function MappeOffen(s As String) As Boolean
Dim wb As Workbook
On Error Resume Next
Set wb = Workbooks(s)
On Error GoTo 0
MappeOffen = Not (wb Is Nothing)
Set wb = Nothing
End Function
Gruß von Luschi
aus klein-Paris
Anzeige
AW: ByRef Fehlermeldung unverträglichkeit
10.04.2018 08:29:08
michl
probiers mal mit
Function MappeOffen(Byval s As String) As Boolean
dann sollte es gehen.
frag mich aber bitte nicht, warum das bei manchen klappt und bei anderen das byval mit rein muss. sicherlich ne lokale Einstellung.
hinweis. byval wäre übergebe den wert an die Prozedur und byref = Standard wäre, übergebe die variable selber.
wenn du jetzt byval den wert innerhalb der Prozedur änderst, dann ändert er sich nur innerhalb der Prozedur und in der aufrufenden nicht. byref würde er sich überall ändern, wo diese variable bekannt und nutzbar ist...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige