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

Dateiübergreifendes kopieren

Dateiübergreifendes kopieren
29.09.2003 16:12:51
Tom
Hi,
ich habe mich mit meinem Problem schon einmal an die Experten in diesem Forum gewandt. Leider ohne hilfreiche Antwort. Wahrscheinlich hab ich mich unverständlich ausgedrückt. Also, neuer Versuch:
In einer Datei (list.xls; sheet:Artikel) sind in Spalte "A" 5-stellige und 9-stellige Werte untereinander eingetragen. Die 5-stelligen möchte ich nun beim Klick auf einen Button in eine andere Datei kopieren (übersicht.xls; sheet:übersicht). Die 9-stelligen müssten irgendwie mit einer if-Abfrage o.ä. außen vor gelassen werden. Die Daten stehen also in 'list.xls' ab Zelle A8 abwärts und sollen in 'übersicht.xls' ab A10 abwärts eingetragen werden.
Hoffe auf eure Fachkenntnis, da ich selbst (fast) kein VBA kann.
Tom

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateiübergreifendes kopieren
29.09.2003 16:46:10
Nike
Hi,
einfach mal diesen Code in ein Modul in die Mappe list.xls einfügen
und ausprobieren...
Also, übersicht.xls und anschließend list.xls öffnen,
Tastenkombination Alt F11 drücken
dann über das Menü Einfügen/Modul ein neues Modul
einfügen und dann diesen Code dort einfügen,
dann mit Alt Q den Editor verlassen und über Alt F8
die Prozedur aufrufen und ausführen lassen...


Sub Fuenfer_Sort()
Dim lngQZeil As Long
Dim lngZZeil As Long
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Set wksQ = ActiveWorkbook.Sheets("Artikel")
Set wksZ = Workbooks("übersicht.xls").Worksheets("übersicht")
lngZeil = 8
lngQZeil = 10
Do
If Len(wksQ.Cells(lngZeil, 1)) = 5 Then
wksQ.Cells(lngQZeil, 1).Copy wksZ.Cells(lngZZeil, 1)
lngZZeil = lngZZeil + 1
End If
Loop Until wksQ.Cells(lngZeil, 1) = ""
End Sub


Bye

Nike
Anzeige
AW: Dateiübergreifendes kopieren
29.09.2003 16:53:24
Tom
Hi,
habs ausprobiert, es kommt aber ein Fehler ("Anwendungs- oder Objektdefinierter Fehler"). Was bedeutet das?

Sub Fuenfer_Sort()
Dim lngQZeil As Long
Dim lngZZeil As Long
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Set wksQ = ActiveWorkbook.Sheets("Ettlin Verkaufsartikel")
Set wksZ = Workbooks("Spiel-Ett.xls").Worksheets("übersicht")
lngZeil = 8
lngQZeil = 10
Do
If Len(wksQ.Cells(lngZeil, 1)) = 5 Then
wksQ.Cells(lngQZeil, 1).Copy wksZ.Cells(lngZZeil, 1) 'Hier kommt der Fehler!!!
lngZZeil = lngZZeil + 1
End If
Loop Until wksQ.Cells(lngZeil, 1) = ""
End Sub


Tom
Anzeige
AW: Dateiübergreifendes kopieren
30.09.2003 10:06:05
Nike
Hi,

da fehlte ein z!


Sub Fuenfer_Sort()
Dim lngQZeil As Long
Dim lngZZeil As Long
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Set wksQ = ActiveWorkbook.Sheets("Ettlin Verkaufsartikel")
Set wksZ = Workbooks("Spiel-Ett.xls").Worksheets("übersicht")
lngZZeil = 8
lngQZeil = 10
Do
If Len(wksQ.Cells(lngZeil, 1)) = 5 Then
wksQ.Cells(lngQZeil, 1).Copy wksZ.Cells(lngZZeil, 1) 'Hier kommt der Fehler!!!
lngZZeil = lngZZeil + 1
End If
Loop Until wksQ.Cells(lngZeil, 1) = ""
End Sub


bye

Nike

P.S. Hab ich jetzt ein Ettlin Spielzeug gewonnen? ;-)
Was bauen die denn überhaupt?
Anzeige
AW: Dateiübergreifendes kopieren
30.09.2003 13:46:59
Tom
Hi,
habs heut morgen selbst gemerkt, dass da wohl ein Z zuviel oder zuwenig ist. Leider hats trotzdem nicht funktioniert. Hab dann selber n bissl rumgebastelt. Jetzt kommt zwar kein Fehler aber es macht auch nix. Läuft auch nur sehr kurz. Sieht so aus als ob die Schleife gleich abbricht. Zelle A7 ist übrigens leer, aber die Schleife geht doch erst ab A8 los, oder hab ich das falsch verstanden?


Sub Fuenfer_Sort()
Dim lngQZeil As Long
Dim lngZeil As Long
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Set wksQ = ActiveWorkbook.Sheets("Ettlin Verkaufsartikel")
Set wksZ = Workbooks("Spiel-Ett.xls").Worksheets("Übersicht")
lngZeil = 10    'hab die beiden vertauscht, Ziel ist 10 Quell ist 8
lngQZeil = 8
Do
lngQZeil = lngQZeil + 1   'lngQZeil muss sich doch auch erhöhen, oder?
If Len(wksQ.Cells(lngZeil, 1)) = 5 Then
wksQ.Cells(lngQZeil, 1).Copy wksZ.Cells(lngZeil, 1)
lngZeil = lngZeil + 1
End If
Loop Until wksQ.Cells(lngQZeil, 1) = ""  'hier hat ein Q gefehlt
End Sub


Vielleicht findest du den Fehler. Schonmal vielen Dank für die Mühe.
Tom
Anzeige
AW: Dateiübergreifendes kopieren
30.09.2003 14:04:57
Nike
Hi,
ich hab vergessen lngQzeil auch hochzuzählen ;-)
Is schon tricky so ohne Tests...
Also, dann wohl eher so:


Sub Fuenfer_Sort()
Dim lngQZeil As Long
Dim lngLZeil As Long
Dim lngZZeil As Long
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Set wksQ = ActiveWorkbook.Sheets(4)
Set wksZ = Workbooks("Test.xls").Worksheets(1)
lngZZeil = 8
lngQZeil = 10
lngLZeil = wksQ.Cells(wksQ.Rows.Count, 1).End(xlUp).Row
Do
If Len(wksQ.Cells(lngZeil, 1)) = 5 Then
wksQ.Cells(lngQZeil, 1).Copy wksZ.Cells(lngZZeil, 1)
lngZZeil = lngZZeil + 1
End If
lngQZeil = lngQZeil + 1
Loop Until lngQZeil = lngLZeil
End Sub


Bye

Nike
Anzeige
Merci!!!
30.09.2003 15:43:42
Tom
Jetzt klappt das so wie ich mir das vorstelle!!! Vielen Dank für die Mühen!
Tom
PS: Ettlin produziert Stoffe (Baumwolle...).

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige