1.5k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich versuche seit tagen mich in vb einzuarbeiten um ein Makro zu konstruieren dass mir die genannten Aufgaben übernimmt. allerdings gebe ich zu, dass ich daran verzweifle, weil ich mich absolut nicht auskenne. habe auch schon im forum gesucht und nach codes gesucht, bin jedoch nicht mal fähig genug die angaben im code so zu ändern, dass der meine dateien liest.

ihr seid meine letzte hoffnung. die struktur ist folgendermaßen.

in einem ordner sind die einzelnen dbf files gesammelt die alle die gleiche strutktur aufweisen und sich bis auf den file name und den value in zelle C2 nicht unterscheiden.
Ich bräuchte ein Makro(-code), welches den inhalt der zelle C2 in eine neue excel tabelle überführt und diese zelle durch den namen des files spezifiziert.

dann sollte die nächste dbf datei geöffnet werden (automatisch) um wiederum den inhalt der Zelle C2+ Namen des Files (pro spalte aber eine zeile) in die neue excel tablle einzufügen. und so weiter....

ich würde mich riesig freuen. wenn das klappt. Falls ihr es wünscht, könnte ich dann auch in der danksagung der bachelorarbeit euren namen erwähnen:)

viele grüße:)

ps: es handelt sich um *.dbf dateien

3 Antworten

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Friedrich,

da stellt sich zuerst die Frage - welche Excel-Version verwendest du? Soweit ich weiß, wird das Dateiformat .dbf in Excel2003 und Excel2007 nicht unterstützt.

Bis später,
Karin
0 Punkte
Beantwortet von
Hey, ich verwende Excel 07 und kann die .dbf - datei auch damit normal öffnen
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Friedrich (dies ist die Anrede in einem Beitrag),

(hier folgt der Beitragstext)
Mit folgendem Code kannst du es versuchen:

Sub DatenUebernehmen()
Dim strFile As String
Dim lngZeile As Long
Application.ScreenUpdating = False
strFile = Dir("D:\Test\" & "*.dbf")
Do While strFile <> ""
lngZeile = lngZeile + 1
Cells(lngZeile, 1) = strFile
Cells(lngZeile, 2).Formula = "='D:\Test\[" & strFile & "]" & "Tabelle1" & "'!C2"
strFile = Dir()
Loop
If lngZeile <> 0 Then
Range(Cells(1, 1), Cells(lngZeile, 2)).Copy
Cells(1, 1).PasteSpecial Paste:=xlValues
End If
Application.ScreenUpdating = True
End Sub


Pfad musst du natürlich anpassen und auch nachschauen, ob der Tabellename Tabelle1 ist. Ich kann das nicht testen, da ich keine dbf-Datei zur Verfügung habe. Bei Excel-Dateien funktioniert es problemlos.

(und zum Schluss der Gruß im Beitrag)
Bis später,
Karin
...