2016-06-10 19 views
-2

Entschuldigung, wenn dies eine einfache Sache zu tun ist, aber ich VBA neu lernen nach Jahren der Nichtbenutzung. Ich habe ein Arbeitsblatt, in dem ich eine bestimmte Zelle innerhalb dieser Arbeitsmappe basierend auf dem Text innerhalb dieser Zelle finden muss. Ich muss dann die ganze Zeile kopieren, die diese Zelle enthält, und die drei Zeilen darunter, so dass ein Bereich von vier ganzen Zeilen entsteht. Jede Hilfe wäre willkommen.VBA-Codierung - Kopieren einer Reihe von Zellen in Excel

+0

Was haben Sie bisher versucht? Was hast du gegoogelt? Dies sollte leicht mit einer schnellen Google-Suche gefunden werden. – Taelsin

Antwort

0

Sie haben nicht angegeben, wo Sie das Material einfügen wollen, aber:

Sub qwerty() 
    Dim s As String, sh As Worksheet, r As Range 

    s = "happiness" 
    For Each sh In Sheets 
     Set r = Cells.Find(What:=s) 
     If Not r Is Nothing Then 
      r.Resize(4, 1).EntireRow.Copy 
     End If 
    Next sh 
End Sub 

Hier haben wir für das Glück suchen.

+0

Hallo, danke für die Hilfe. Ich habe den von Ihnen vorgeschlagenen Code verwendet und den erforderlichen Text gefunden und markiert. Als Antwort auf die andere Antwort, lassen Sie mich weiter erklären: Ich bereite ein Formular vor, wo ich ein Makro brauche, das vier Zeilen des leeren Formulars repliziert - das sind die vier Zeilen, die dieser Code markiert hat. Der erste Teil meines Codes muss die Zeilen markieren, sie kopieren und sie als zweiten Block mit vier Zeilen einfügen. Dies kann mehrere Male erforderlich sein, um 4, 8 oder 12 Zeilen hinzuzufügen. Der zweite Codeabschnitt muss zusätzliche Sätze mit vier Zeilen finden und die gesamten Zeilen löschen. – me283

+0

OK, ein Update ... Ich habe den ersten Teil geschafft! Jetzt ist der nächste Teil, um festzustellen, wie viele dieser Zeilenblöcke ich habe (ich vermute, es ist eine "Countif" -Funktion), und dann alle Blöcke von vier Zeilen mit Ausnahme von einem zu löschen. Ich bekomme den Dreh raus, aber sehr langsam ... – me283

Verwandte Themen