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

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

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.
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.
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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige