Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
888to892
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
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

96 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige