Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Inhalt kopieren einfügen über VBA

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
Anzeige

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
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige