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

Forumthread: Beim importieren überprüfen ob Tabellenblatt exist

Beim importieren überprüfen ob Tabellenblatt exist
28.06.2006 14:02:59
base
Hallo!
In meiner Excel Tabelle hab ich mir ein Makro zusammengeabut, mit dem ich über einen Button Daten aus einer anderen Arbeitsmappe mit gleichen Tabellennamen importiere. Das funktioiert soweit ganz gut. Jetzt hab ich nur noch das Problem, dass wenn der entsprechende Tabellenname in der Arbeitsmappe nicht vorhanden ist ständig ein Dialogfenster aufgeht das mich fragt aus welcher Tabelle ich die Daten importien möchte. Das würde ich gerne verhindern. Entweder muss also vorher geprüft werden ob der Tabellenname existiert oder das Dialogfenster muss unterdrückt werden und die sub prozedur einfach verlassen.
So importiere ich die Daten:
With ActiveSheet.Range(Kunden)
.FormulaArray = "='" & strPath & "[" & strDateiName & "]" & strTabelleName & "'!" & Kunden
.Value = .Value
End With
strPath = Verzeichnis
strDateiName = Dateiname
strTabelleName = Tabellenname
Kunden = der Bereich der importiert wird
Würde mich über Hilfe sehr freuen
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Beim importieren überprüfen ob Tabellenblatt exist
28.06.2006 14:12:25
Harald
Hi base
grundsätzlich so. Die Variable Datei ggf. anpassen
Am Ende das Codes ggf. noch die Sprungmarke ende: einfügen.
datei = strpath & strDateiname
if dir(datei) = "" then
msgbox "Datei wurde nicht gefunden"
'goto ende
end if
Gruss Harald
AW: Beim importieren überprüfen ob Tabellenblatt e
28.06.2006 14:17:43
base
Danke für die schnelle Antwort.
Es geht nur nicht um die Datei, sondern um die Tabellennamen der Datei.
Wenn der entsprechende Tabellenname nicht vorhanden ist, soll der vorgang abgebrochen werden.
Anzeige
AW: Beim importieren überprüfen ob Tabellenblatt e
28.06.2006 14:35:00
Harald
Hi,
geht bestimmt wesentlich eleganter, aber mehr geben meine Kenntnisse nich her...
und ich hab auch gleich Feierabend ;-)
Lass den Code mit der on error-Anweisung einmal in diesen Fehler laufen und per MsgBox die Fehlernummer anzeigen.
Diese Nummer in den If-Block einfügen.
on error goto ende
With ActiveSheet.Range(Kunden)
.FormulaArray = "='" & strPath & "[" & strDateiName & "]" & strTabelleName & "'!" & Kunden
.Value = .Value
End With
ende:
msgbox err.number
If err.number = Ergebniszahl der MsgBox then
msgbox "Blatt nicht gefunden"
end if
Huuu...wirklich nicht schön. Aber vielleicht hilfts ja schon.
Gruss Harald
Anzeige
AW: Beim importieren überprüfen ob Tabellenblatt e
28.06.2006 14:49:05
base
Ja, so ähnlich hat ich das auch schon. Mir wird nur vorher immer noch die Dialogbox angezeigt. Vielleicht hat ja noch jemand eine Idee.
MfG base
AW: Beim importieren überprüfen ob Tabellenblatt e
28.06.2006 14:56:22
fcs
Hallo,
"on error ..." tut es nicht und auch "Application.DispalyAlerts = False"
hilft leider auch nicht.
Der brutale Weg ist dann die Datei kurz im Hintergrund zu öffnen und dann die Blätter zu überprüfen.

Sub Test()
strPath = "C:\Test" & "\"
strdateiname = "Test.xls"
strTabelleName = "Termine1"
Kunden = "A1:J1" 'der Bereich der importiert wird"
vorhanden = False
Application.ScreenUpdating = False
For Each sheet In Workbooks.Open(FileName:=strPath & strdateiname, ReadOnly:=True).Sheets
If sheet.Name = strTabelleName Then
vorhanden = True
Exit For
End If
Next
ActiveWorkbook.Close False
Application.ScreenUpdating = True
If vorhanden = False Then GoTo Fehler
With ActiveSheet.Range(Kunden)
.FormulaArray = "='" & strPath & "[" & strdateiname & "]" & strTabelleName & "'!" & Kunden
.Value = .Value
End With
Fehler:
MsgBox ("Tabelle nicht vorhanden")
End Sub

mfg
Franz
Anzeige
AW: Beim importieren überprüfen ob Tabellenblatt e
28.06.2006 15:17:24
base
OK, Danke.
Hab den Code mal grad bei mir angepasst. Erhalte jetzt aber eine Fehlermeldung:
Fehler beim kompilieren. Variable nicht definiert.
Anschließend wird mir "Sheet" aus der Zeile
For Each sheet In Workbooks.Open(FileName:=strPath & strdateiname, ReadOnly:=True).Sheets
markiert.
Anzeige
AW: Beim importieren überprüfen ob Tabellenblatt e
28.06.2006 23:26:57
fcs
Hi,
ich nehmen an, du arbeitetst mit
Option Explicit
Dann ist eine oder mehrere der drei Variablen
sheet, strPath oder strdateiname
noch nicht in einer Dim-Zeile deklariert. Ich tippe auf "sheet", da diese Variable fü dich neu ist.
Füge zu Beginn des Makros eine Zeile ein.
Dim sheet as worksheet
mfg
Franz
Anzeige
AW: Beim importieren überprüfen ob Tabellenblatt e
29.06.2006 07:20:28
base
Ja, hab "sheet" nicht deklariert gehabt.
Vielen Dank für die Hilfe
;

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