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

Daten aus einem anderen Workbook

Daten aus einem anderen Workbook
20.05.2004 13:23:12
Roland
Hallo!
Beigefügter Code funktioniert bereits perfekt!
Jetz hab ich aber doch noch ein Problem. Der Code greift ja auf alle Workbooks in der genannten Datei zu. Jetzt brauche ich für eine Erweiterung den an sich gleichen Code, nur das diesmal (auch wieder ein bestimmter
Bereich) jedes Workbooks in eine eigene Tabelle innerhalb eines Workbooks eingefügt werden soll.
Geht das?
Mein Code:

Sub ButtonInA()
Dim lstrDateiName As String, liZeile As Integer
Application.ScreenUpdating = False
lstrDateiName = Dir("C:\Erfolgsanalyse\Mitarbeiter\*.xls")
Range("A9:U10000").ClearContents
Do Until lstrDateiName = ""
Workbooks.Open "C:\Erfolgsanalyse\Mitarbeiter\" & lstrDateiName
liZeile = 9
Do Until Sheets(1).Range("A" & liZeile).Value = ""
liZeile = liZeile + 1
Loop
Range("A9:U" & liZeile).Copy
Workbooks(1).Activate
If Range("A9").Value = "" Then
Range("A9").Select
End If
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Workbooks(2).Close SaveChanges:=False
liZeile = 9
Do Until Workbooks(1).Sheets("Daten").Range("F" & liZeile).Value = ""
liZeile = liZeile + 1
Loop
Range("A" & liZeile).Select
lstrDateiName = Dir
Loop
Application.ScreenUpdating = True
Range("P1") = Date & ", " & Time
Range("E1").Select
End Sub

Bitte um Unterstützung, danke!
Grüße
Roland

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus einem anderen Workbook
23.05.2004 08:57:26
andre
Hallo Roland,
eventuell reicht schon Sheets.Add
Hier:
Range("A9:U" & liZeile).Copy
Workbooks(1).Activate
Sheets.Add
If Range("A9").Value = "" Then
Range("A9").Select
End If
AW: Daten aus einem anderen Workbook
23.05.2004 12:37:37
Roland
Hallo Andre!
Vorerst vielen Dank für deine Unterstützung!
Nun, ich steh doch um einiges daneben. Ich erklär das Ganze noch etwas besser. In die Datei sollen Daten aus anderen Workbooks zusamenngefaßt werden. Die anderen Daten liegen immer im gleichen Ordner. Die Daten werden immer aus der gleichen Tabelle importiert.
In der Datei sind dann 14 Worksheets, ab Sheet3 sollen dann die Daten aus dem 1. Workbook in einen bestimmten Bereich eingefügt werden. Also 1. Workbook = Tabelle3; 2. Workbook = Tabelle 4 usw.
Wo sollte deine Ergänzung im Code eingefügt werden?
Wie verhält sich dann diese Zeile?
Do Until Workbooks(1).Sheets("Daten").Range("F" & liZeile).Value = ""
Der Bezug Sheets("Daten") kann dann ja nicht mehr stimmen...
Ich bitte dich um Deine Hilfe, ich weiß nicht mehr was ich tun soll. In der Recherche finde ich nichts, was mir weiterhilft. Ich bin am Verzweifeln!
DANKE!
Grüße
Roland
Anzeige
AW: Daten aus einem anderen Workbook
24.05.2004 19:00:48
andre
Hallo Roland,
auch wenn Dir die Komplettlösung von Reinhard die Arbeit abnimmt hier noch meine Antwort.
Ich habe Dir beschrieben, welchen Befehl Du wo eingeben sollst. Sheets.Add ist der Befehl, und wo kannst Du aus den Originalzeilen entnehmen-die Zusammenstellung ist in Deinem Code eindeutig.
Die Zeile Do Until... verhält sich wie sonst auch. Du Zählst auf dem Blatt "Daten" eine Variable hoch, die Du aber nicht mehr brauchst - denn Du tust ja die Daten immer wieder auf neue Blätter. Der Part kann also weg.
Übrigens geht das auch einfacher und schneller.

Sub test()
MsgBox Workbooks(1).Sheets(1).Range("IV9").End(xlToLeft).Column
End Sub

Vorausgesetzt, IV9 ist leer und zwischen der ersten leeren Zelle rechts neben F9 und IV9 stehen keine weiteren Daten. ..
... das ganze noch mal nach unten - damit Du mal siehst, dass lizelle durchaus als linke Zelle aufgefasst werden kann - links neben IV - und nicht als letzte Zelle - nur mal als Hinweis für "sprechende" Variablenbezeichnungen.

Sub test()
MsgBox Workbooks(1).Sheets(1).Cells(Rows.Count,6).End(xlUp).Row
End Sub

(So ähnlich hat's ja Reiner geschrieben)
Siehe Kommentar zu den Daten am Ende und dazwischen. Du musst dann natürlich noch aufpassen, wann Du die Spalte A (=1) oder F (=6) benötigst.
Reiner löscht in Deiner Datei übrigens alle Blätter ausser Tabelle1 und Tabelle2, ist das so gewollt? Laut Fragestellung nicht.
Kannst Du übrigens anhand der Blätter die Dateien zuordnen? Ansonsten wäre noch interessant, dem Blatt nach dem Anlegen einen Namen zu geben?
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name=lstrDateiName
Anzeige
AW: Daten aus einem anderen Workbook
23.05.2004 15:01:25
Reinhard
Hi Roland,
wie wärs damit:

Sub ButtonInA()
Dim lstrDateiName As String, liZeile As Integer
Application.ScreenUpdating = False
If Workbooks.Count > 1 Then
MsgBox "andere Workbooks bitte schliessen"
Exit Sub
End If
Range("A9:U10000").ClearContents
Application.DisplayAlerts = False
For n = Worksheets.Count To 1 Step -1
If Worksheets(n).Name <> "Tabelle1" And Worksheets(n).Name <> "Tabelle2" Then _
Worksheets(n).Delete
Next n
Application.DisplayAlerts = True
lstrDateiName = Dir("C:\temp\kurz\*.xls")
Do Until lstrDateiName = ""
Worksheets.Add after:=Worksheets(Worksheets.Count)
Set ws1 = ThisWorkbook.Worksheets(Worksheets.Count)
Workbooks.Open Filename:="C:\temp\kurz\" & lstrDateiName, UpdateLinks:=3
Set ws2 = ActiveWorkbook.Worksheets(1)
liZeile = ws2.Range("A65536").End(xlUp).Row + 1
ws2.Range("A9:U" & liZeile).Copy
ws1.Range("A9").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Application.DisplayAlerts = False
Workbooks(2).Close SaveChanges:=False
Application.DisplayAlerts = True
lstrDateiName = Dir
Loop
Application.ScreenUpdating = True
Range("P1") = Date & ", " & Time
Range("E1").Select
End Sub

Gruß
Reinhard
Anzeige
AW: Daten aus einem anderen Workbook
23.05.2004 15:42:29
Roland
Hallo Reinhard!
Sensationell!!! Vielen vielen DANK!
Beste Grüße aus Wien
Roland

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige