Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhalt kopieren einfügen über VBA
05.01.2005 15:12:52
Torsten
Hallo beisammen,
bei folgendem Problem komme ich allein nicht weiter:
In Spalte A sind Kunden-Nr. aufgelistet, nicht lückenlos untereinander, sondern mit 1 - 3 Leerzeilen dazwischen.
In Spalten B und C befinden sich andere Daten, denen ich nun die Kunden-Nr. zuordnen möchte, weil die Kunden-Nr. halt 1 bis 3 Zeilen höher in Spalte A stehen.
Das Makro sollte nun folgendes machen:
Spalte A auf eine Kunden-Nr. durchsuchen (beginnen mit 52...), die darunterliegenden Zeilen bis zur nächsten Kunden-Nr. durchsuchen, und in die Felder zwischen den beiden Kunden-Nr. die obere Kunden-Nr. einfügen, und das solange, bis Excel in Spalte A ein "EOF" findet.
Sollten sich in den Zellen zwischen den beiden Kunden-Nr. Einträge finden, sollen diese ohne Rückmeldung überschrieben werden.
Zum besseren Verständnis habe ich die Datei beigefügt.
Ich wäre Euch sehr dankbar, wenn Ihr mir helfen könntet, denn im Original habe hier 2 Dateien mit jeweils ca. 35.000 Zeilen in der Art aufzubereiten.
Gruß
Torsten
https://www.herber.de/bbs/user/15649.xls

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt kopieren einfügen über VBA
Martin
Hallo Torsten,
unter der Annnahme, daß EOF in der letzten besetzten Zelle in Spalte A steht:

Sub Auffuellen()
Application.ScreenUpdating = False
'z = Columns("A:A").Find(What:="EOF", LookAt:=xlWhole).Row
z = Range("A65536").End(xlUp).Row
For i = 2 To z - 2
If Left(Cells(i + 1, 1), 2) <> 52 Then
Cells(i + 1, 1) = Cells(i, 1)
End If
Next i
Application.ScreenUpdating = False
End Sub

Gruß
Martin Beck
AW: Inhalt kopieren einfügen über VBA
05.01.2005 16:43:59
Matthias
Hallo Torsten,
falls ich es richtig verstanden habe:
Private Sub CommandButton1_Click()
Dim KNr As String
Dim b As Range
For Each b In Range("A2:A65536")
If b.Value = "EOF" Then Exit For
If Left(b.Value, 2) = "52" Then
KNr = b.Value
Else
b.Value = KNr
End If
Next
End Sub
Gruß Matthias
Anzeige
AW: erledigt - Vielen Dank Euch beiden!!
Torsten
Paßt!!
Gruß
Torsten

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige