Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
384to388
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
384to388
384to388
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Abfrage, ob Arbeitsblatt besteht

Abfrage, ob Arbeitsblatt besteht
20.02.2004 12:02:01
marco
Hallo Forum,
ich habe folgendes Problem, ich möchte vor dem kopieren aus einer fremden Arbeitsmappe überprüfen, ob das Arbeitsblatt, von dem ich etwas kopieren möchte, auch besteht.
Ich habe in Excel mit VBA ein Messtellenauswertungsprogramm geschrieben von dem leider mehrere versionen bestehen.Bei den älteren gibt es einige Tabellenblätter nicht. Wenn ich nun mit einer neueren Version arbeite kann es passieren, dass ich eine Tabelle kopieren will ie in der alten Version nicht vorhanden ist. Darum wollte ich es vorher testen.
Mein Ansatz war dieser:
VBA-Code:

Workbooks(thisbook).Worksheets("Comments_A3").Range(Worksheets("Comments_A3").Cells(6, 1), Worksheets("Comments_A3").Cells(2000, 26)).Clear
Workbooks(thisbook).Worksheets("Comments_A3").Range(Worksheets("Comments_A3").Cells(6, 1), Worksheets("Comments_A3").Cells(2000, 26)).ClearContents
strQuellblatt = "Comments_A3"
break = 0
On Error GoTo comment_resume 'Resume Next ' wenn es dieses Worksheet nicht gibt, dann naechste Anweisung
Do While break = 0
break = break + 1
' Workbooks(strDatei).Worksheets(strQuellblatt).Activate
Workbooks(strDatei).Worksheets(strQuellblatt).Range(Workbooks(strDatei).Worksheets(strQuellblatt).Cells(6, 1), Workbooks(strDatei).Worksheets(strQuellblatt).Cells(2000, 26)).Copy
Workbooks(thisbook).Worksheets("Comments_A3").Range("a6").PasteSpecial xlPasteAll
Loop
comment_resume:
If Err <> 0 Then
Debug.Print "fehler"
strQuellblatt = "Comments"
Workbooks(strDatei).Worksheets(strQuellblatt).Range(Workbooks(strDatei).Worksheets(strQuellblatt).Cells(6, 1), Workbooks(strDatei).Worksheets(strQuellblatt).Cells(2000, 26)).Copy
Workbooks(thisbook).Worksheets("Tabelle1").Range("a6").PasteSpecial xlPasteAll
Resume Next
End If
Vielleicht geht es ja auch leichter.
Für Hilfe bin ich dankbar.
MfG
Marco

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

Betreff
Datum
Anwender
Anzeige
AW: Abfrage, ob Arbeitsblatt besteht
20.02.2004 12:16:32
Sascha
hier eine funktion, womit du die abfragen kannst.

Function TabelleVorhanden(ByVal str As String) As Boolean
TabelleVorhanden = True
On Error Resume Next
ThisWorkbook.Sheets(str).Activate
If Err.Number <> 0 Then
TabelleVorhanden = False
Err.Clear
End If
end function
im ursprungsmakro sollte folgendes stehen:
dim test as boolean
test=tabellevorhanden("Tabellenblattname")
if test=true then
else
end if
hoffe konnte dir helfen.
bis denne

AW: Abfrage, ob Arbeitsblatt besteht
20.02.2004 12:22:20
Marco
Vielen dank.
AW: Abfrage, ob Arbeitsblatt besteht
20.02.2004 12:55:11
Matthias G
Hallo Sascha,
Sorry, dass ich dir schon wieder reinfunke ;-)
Zum Auslösen des Fehlers den Activate-Befehl zu verwenden, scheint mir nicht ratsam. Erstens wegen des Bildschirmflackerns, zweitens ist man plötzlich auf einem anderen Blatt, wo man vielleicht gar nicht hinwill.
Eine andere Möglichkeit:
Dim dummy as Integer
dummy = ThisWorkbook.Sheets(str).index
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige