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

Makro zum Suchen im aktuellen block-copy und paste

Makro zum Suchen im aktuellen block-copy und paste
David
Hallo,
ich habe da ein kleine Problem.
Ich habe eine Excelliste, in der Werte in mehrere Spalten eingetragen werden. Die Zuordnung bezieht sich immer auf den Wert, der in der zweiten Spalte ("B") steht.
Es werden nun permanent neue Datensätze eingetragen. (Zeilenweise)
Wenn ein neuer Tag anfängt, wird vom ersten, der etwas einträgt 2 leerzeilen eingefügt.
Meine Frage ist nun, ich bräuchte ein Makro, was diesen Bereich (ab den 2 leerzeilen bis zur letzten beschrifteten Zeile) durchsucht und nach einem festgeschriebenem Kriterium z.B. "abc" in der Spalte B sucht und mir diese Zeilen in denen der Wert "abc" in Spalte B ist, auf ein 2. Tabellenblatt kopiert aber nicht im Ursprünglichen Tabellenblatt löscht.
Ich hab auch beim Durchstöbern des Archivs nen tolles Makro gefunden, nur weiss ich nicht, wie ich das einfüge, das er ab nur der markierten Zelle, bzw. in dem zusammenhängenden Block der markierten Zelle sucht.
Hier das Makro:
Private Sub CommandButton1_Click()
Dim wks As Worksheet
Dim iRow As Integer, iRowL As Integer, iRowT As Integer
Set wks = Worksheets("Tabelle2")
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = 1 To iRowL
If InStr(Cells(iRow, 2).Value, "abc") Then
iRowT = wks.Cells(Rows.Count, 1).End(xlUp).Row + 1
Rows(iRow).copy wks.Rows(iRowT)
End If
Next iRow
wks.Columns.AutoFit
Application.CutCopyMode = False
End Sub
Das Makro ist auf einen Button gelegt, wenn mir jemand sagt, wie ich das an eine Tastenkombination binde, wäre mir das 100 mal lieber. :)
Wie gesagt, an sich ist es das, was ich brauch, nur kopiert der mir alle Datensätze (Zeilen) wo in Spalte "B" der Wert "abc" auftaucht von Zelle "A1" bis zur letzten beschriebenen. Ich hätte aber gerne, das er bei der vorhandenen Leerzelle anfängt und dann den Bereich ab da nach "abc" in Spalte B durchsucht.
Wenn ich schon dabei bin, gibt es auch eine Möglichkeit, nach dem es kopiert wurde, die Leerzeilen gleich rauszulöschen?
Ich danke schon mal herzlich im Voraus für Vorschläge und hoffe, dass ich es verständlich beschrieben hab. :) Was VBA angeht bin ich ein wenig unbedarft. :)
Danke
David

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro zum Suchen im aktuellen block-copy und paste
29.07.2011 19:07:25
fcs
Hallo David,
das entsprechende Makro muss in einem allgemeinen Modul im VBA-Editor eingefügt werden bzw. es darf nicht als Private Sub .... deklariert sein. Dann kann man auch eine Tastenkombination dem Makro zuweisen.
Gruß
Franz
'Code für Schaltfläche (Active-X-Steuer-Element) in Tabellenmodul
Private Sub CommandButton1_Click()
Call CopyLastRows
End Sub
'Code in einem allgemeinen Modul
Sub CopyLastRows()
Dim wksQuelle, wks As Worksheet
Dim iRow As Long, iRow1 As Long, iRowL As Long, iRowT As Long
Set wksQuelle = ActiveSheet 'oder besser = Worksheets("TabelleXYZ") wenn immer aus der _
gleichen Tabelle kopiert wird
Set wks = Worksheets("Tabelle2") ' Zieltabelle
With wksQuelle
'letzte Zeile mit Daten
iRowL = .Cells(.Rows.Count, 1).End(xlUp).Row
'1. Datenzeile nach dem letzten Block von 2 Leerzeilen
If IsEmpty(.Cells(iRowL - 1, 1)) Then
'Es gibt nur eine Datenzeile nach den beiden Leerzeilen
iRow1 = iRowL
Else
iRow1 = .Cells(iRowL, 1).End(xlUp).Row
End If
End With
If iRow1 

Anzeige
AW: Makro zum Suchen im aktuellen block-copy und paste
01.08.2011 07:59:37
David
Hallo Franz,
gerade ausprobiert und ich muss sagen:,, 2 Daumen hoch und wenn ich noch mehr hätte, die auch noch!!!"
Funktioniert einwandfrei. Ich danke dir für die super schnelle Antwort!!!
Schöne Woche wünsch ich dir.
Grüße
David

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige