Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1280to1284
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
Inhaltsverzeichnis

Daten auslesen (kopieren)

Daten auslesen (kopieren)
09.10.2012 19:43:26
Excel_Neuling
Hallo,
ich habe ein Problem beim auslesen einer Tabelle.
Aus dem Arbeitsblatt "Erfassung" sollen die Daten der Spalte B (bis "end") ausgelesen
und auf das Blatt Datenbank kopiert werden (per Schaltfläche).
Leider bekomme ich den Laufzeitfehler 1004. Wo habe ich einen Fehler im Code?
"Komisch" ist, dass der Code unter Windows funktioniert, hier unter Mac OSX / Excel
der oben genannte Fehler angezeigt wird.
Private Sub Macro_1()
Dim source
Dim Target
target_row = 1
source_row = 1
Do
source = Worksheets("Datenbank").Cells(target_row, 1)
If (IsEmpty(source)) Then Exit Do
taregt_row = target_row + 1
Loop
Do
source = Worksheets("Erfassung").Cells(source_row, 2)
If source = "end" Then Exit Do
Worksheets("Datenbank").Cells(target_row, target_col) = source
source_row = source_row + 1
target_col = target_col + 1
Loop
Sheets("Erfassung").Select
Range("B1:B5").Select
Selection.ClearContents
Range("B1").Select
ActiveWorkbook.Save
MsgBox "Datenübertragung erfolgreich, die Datei wurde gespeichert!", vbOKOnly,  _
Statusmeldung
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Daten auslesen (kopieren)
10.10.2012 01:33:42
fcs
Hallo Excel_Neuling,
wieviele Zeilen mit Daten im Erfassungsblatt werden denn in die Spalten einer Zeile in der Datenbank übertragen?
Wenn du auf dem Mac eine ältere Excel-Version (vor 2007) hast und auf Windows eine neuere (ab 2007) dann hat das Mac-Excel weniger Spalten (nur 255) als das neuere Windows-Excel (über 16000 Spalten).
Es gibt zwar ein paar Unterschiede die man bei VBA unter Mac/Windows beachten muss - betrifft z.B. Laufwerks/Dateinamen. Aber soweit ich das sehe sollte dein Code in dieser Hinsicht keine Problme machen.
Interessant wäre natürlich zu wissen in welcher Zeile der Fehler auftritt.
Gruß
Franz

Anzeige
AW: Daten auslesen (kopieren)
10.10.2012 06:57:31
Excel_Neuling
Hallo,
der Fehler tritt hier auf:
source = Worksheets("Erfassung").Cells(source_row, 2)
Es werden nur wenige Zeilen (ca. 5-10) aus Spalte B übertragen.
Viele Grüße

AW: Daten auslesen (kopieren)
10.10.2012 19:26:02
Excel_Neuling
Keiner eine Idee...?

AW: Daten auslesen (kopieren)
11.10.2012 06:16:41
fcs
Hallöchen,
dein Code, so wie du ihn hier gepostet hast, kann unter Excel für Windows auch nicht funktionert haben!
Die Basisidee: Deklariere immer alle in Makros verwendete Variablen
In deinem Makro sind 2 kaptitale Fehler, die aber nichts mit MAC/Windows zu tun haben. Nach denen hab ich aber nicht gesucht, nachdem du schriebs - Makro funktioniert unter Windows-Excel.
1. Ein Schreibfehler (Buchstabendreher) bei der Variablen target_row
Dies führt zu einer Endlos-Do-Loop-Schleife bei der Ermittlung der freien Zeile in "Datenbank", sobald die 1. Zeile eingetragen ist.
2. Für Variable "target_col" ist kein Startwert gesetzt.
So hat die Variable den Wert 0, was zu dem Fehler 1004 führt.
Der Fehler in der von dir angegebene Zeile muss noch eine andere Ursache haben.
Gruß
Franz
Private Sub Macro_1()
Dim source
Dim Target
Dim target_row As Long, source_row As Long
Dim target_col As Long
Dim Statusmeldung
target_row = 1
source_row = 1
target_col = 1                          '#### Startwert für Spalte in Datenbank ###
Do
source = Worksheets("Datenbank").Cells(target_row, 1)
If (IsEmpty(source)) Then Exit Do
target_row = target_row + 1                      '#### Fehler Variablenname ###
Loop
Do
source = Worksheets("Erfassung").Cells(source_row, 2)
If source = "end" Then Exit Do
Worksheets("Datenbank").Cells(target_row, target_col) = source
target_col = target_col + 1
source_row = source_row + 1
Loop
Sheets("Erfassung").Select
Range("B1:B5").Select
Selection.ClearContents
Range("B1").Select
ActiveWorkbook.Save
MsgBox "Datenübertragung erfolgreich, die Datei wurde gespeichert!", vbOKOnly, _
Statusmeldung
End Sub

Anzeige
AW: Daten auslesen (kopieren)
11.10.2012 21:22:52
Excel_Neuling
Hallo,
super - vielen Dank! War wirklich "nur" der Schreibfehler :-)
Vielen Dank!
Gruß

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige