Excel-makro zum suchen von text, finden Sie eine Referenz der Zelle, kopieren von Daten in eine Feste position von der Referenz-Zelle
Ich hoffe, ich kann diese Sinn machen.
Ich bin auf der Suche nach "Text1" in Spalte A gesucht und wenn gefunden, finden Sie das Datum oben ("Text1", offest bis 6 Zeilen, und kopieren Sie die "Text2" es und fügen es in ein anderes Arbeitsblatt. Dann brauche ich es, um es zu tun alle wieder von der nächsten Instanz "Text1". "Text1" nicht immer den gleichen Abstand von dem Datum, "Text2" ist immer 6 Zeilen über dem Datum und Stadt, Staat Zopcode. Ich muss echt nur die Postleitzahl.
Der text ist von einer täglichen Datei, damit das Datum sich täglich ändert :). Ich in der Regel finden sich Stücke von code und bin in der Lage zu zwicken, Sie arbeiten für mich, aber alles, was ich bisher ausprobiert habe hat nicht funktioniert. Das funktionierte früher und heute, aber nicht jetzt und nicht in einer Schleife durch (alle Schleifen, die ich habe versucht haben, endete mit unendlichen Schleifen)
Sub GetZip()
Worksheets("Data_Test").Activate
Range("A1").Activate
' FInd first instance of Text1
Cells.Find(What:="Text1", After:=ActiveCell).Activate
' Find the date
Cells.Find(What:="12-Feb-14", After:=ActiveCell, SearchDirection:=xlPrevious).Select
' copy and paste Text2
ActiveCell.Offset(-6, 0).Copy
Worksheets("Data2").Select
Range("A65000").End(xlUp).Offset(1, 0).Select
ActiveCell.PasteSpecial (xlPasteAll)
Worksheets("Data_Test").Activate
'go back to Text1 that was found before
Cells.Find(What:="Housing Counseling Agencies", After:=ActiveCell).Activate
'find the next instance of Text1
Cells.Find(What:="Housing Counseling Agencies", After:=ActiveCell).Activate
End Sub
Bekomme ich Laufzeitfehler 91 auf:
Cells.Find(What:="12-Feb-14", After:=ActiveCell, SearchDirection:=xlPrevious).Activate
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehe ich, dass Sie noch mehr-mit "Activate" und "Select". Dies sind die häufigsten Fehler, wenn Sie gerade erst anfangen. Wie ich bereits in meine Antwort zu einem anderen StackOverflow-Frage, sollten Sie versuchen zu vermeiden, das zu tun. Ich ging voran und ein makro erstellt, das denke ich wird tun, was Sie gefragt haben, und ich enthalten Kommentare, die erklären sollen, jede Zeile code. Auf diese Weise können Sie auch sehen, wie der code funktioniert, falls Sie möchten, neu zu erstellen oder zu modifizieren. Lassen Sie mich wissen, wenn es Ihnen keine Mühe...
m = Report2.Cells(Report2.UsedRange.Rows.Count + 1, 1).End(xlUp).Row + 1 'Get the row after the last cell in column "A" that contains a value.
ich dachte, ich hätte vielleicht etwas verändert über die Unfall-also habe ich ein neues Modul kopiert und den code immer wieder und ich bekomme den gleichen Fehler. Könnte meine Arbeitsmappe beschädigt werden?