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

Import von Worksheets

Forumthread: Import von Worksheets

Import von Worksheets
18.07.2007 08:59:04
gromminger

Guten Morgen und hallo zusammen.
Ich habe mal wieder ein Problem, bei dem ich Eure Hilfe benötige!
Folgende Situation:
Ich lade in mein aktuelles Workbook ein Worksheet eines anderes Files ein.
Ich habe versucht zu verhindern, dass versehentlich ein Worksheet doppelt eingeladen wird.
Dies funktioniert auch so weit.
Wenn ich allerdings aus meinem Workbook die Sheets manuell entferne und danach neu einladen will,
so bekomme ich den Hinweis, dass das Worksheet sich noch in der Datei befinde...
Mein Quellcode sieht wie folgt aus:
...
1:
dlg_answer = Application.Dialogs(xlDialogOpen).Show(arg1:="*.xls")
If Not (dlg_answer) Then Exit Sub
report = ActiveWorkbook.name
datum = ActiveWorkbook.Worksheets(1).Cells(3, 2).Value
P1 = Application.Find("2", report, 1)
Var1 = Left(report, P1)
Var1a = Var1 & " " & datum
Set TB = ThisWorkbook
Set SB = TB.Worksheets("Load")
For j = 1 To ActiveWorkbook.Sheets.Count
Do Until ActiveWorkbook.Sheets(j).name = Var1a
j = j + 1
MsgBox Var1a & " allready imported"
ActiveWorkbook.Close
GoTo 1
Loop
...
Wer kann mir weiterhelfen?
Herzliche Grüsse,
Gromminger

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Import von Worksheets
22.07.2007 21:25:18
Herby
Hallo Gromminger,
ich hab mir mal das Makro angesehen. Bin allerdings aus dem geposteten Teil nicht klar gekommen.
Du berechnest den Namen der importierten Tabellenblätter. Diese Berechnung kann ich nicht nachvollziehen. Mein Ansatz würde so aussehen:


Sub MappenLesen()
dlg_answer = Application.Dialogs(xlDialogOpen).Show(arg1:="*.xls")
If Not (dlg_answer) Then Exit Sub
Set objWBn = ActiveWorkbook
report = objWBn.Name
datum = objWBn.Worksheets(1).Cells(3, 2).Value
'P1 = Application.Find("2", report, 1)
P1 = InStr(1, report, "2", vbTextCompare)
Var1 = Left(report, P1)
Var1a = Var1 & " " & datum
Set objWSa = ThisWorkbook.Worksheets("Load")
For j = 1 To objWBn.Sheets.Count
If objWBn.Sheets(j).Name = Var1a Then
MsgBox Var1a & " allready imported"
ActiveWorkbook.Close
Exit For
End If
Next
End Sub


Vielleicht kannst Du eine Mustermappe einstellen und schreiben wie die einzelnen Tabellenblätter benannt sind.
Viele Grüße
Herby

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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