Legen Sie filter in Excel mit VBA
Dem nachstehenden makro wird mir erlauben, zu finden, einen Namen in der überschrift in Blatt 1 und kopieren Sie die gesamte Spalte in Blatt 2. Nun möchte ich weiter den code, bin aber vor einem problem, welches ich versuchen werde zu erklären.
Sub CopyColumnByTitle()
'Find "Name" in Row 1
With Sheets(1).Rows(1)
Set t = .Find("Name", lookat:=xlpart)
'If found, copy the column to Sheet 2, Column A
'If not found, present a message
If Not t Is Nothing Then
Columns(t.Column).EntireColumn.Copy _
Destination:=Sheets(2).Range("A1")
Else: MsgBox "Title Not Found"
End If
End With
End Sub
nachdem alle Daten eingefügt wird, in der auf Blatt 2 wie auf der Abbildung ....
Sheet 2
Name Age Address Date of Birth
John 25 US 1-Sep-11
Hary 26 US 1-Sep-11
John 27 UK 1-Sep-11
Hary 28 US 2-Sep-11
King 29 UK 3-Sep-11
Peter 30 US 3-Sep-11
Muss ich die Filter so eingestellt, wie unten gezeigt, und kopiere die gefilterten Daten in Tabelle 3, wie oben der code funktioniert:
- Ich brauche, um Filterkriterien auf Blatt 2, die mir hilft zu sehen
Name
s, die sind gleich "John" oder "Hary" und kopieren Sie die gesamten Daten in Blatt 3. - Ich brauche, um einen anderen filter, wo
Name
ist gleich "John" undDate of Birth
ist gleich "1-Sep-11" (beachten Sie das Datum sollte immer von gestern). Kopieren Sie und fügen Sie die gesamte
Daten in Blatt 4. - Auf die Dritte Zeit, die ich brauche, um einen filter zu setzen, wo
Name
ist gleich "König" und kopieren Sie die Vergangenheit und die gesamten Daten in Blatt 5.
Vielen Dank John für Ihre Antwort, die Antwort, die Sie Gaben wirksam ist, aber ich habe schon dafür meinen code aufgrund des dringenden Anforderungen.
Brauche ich eine leichte Hilfe in gleichen. Ich bin einfügen von einigen Teil von code ist es nicht möglich, fügen Sie den gesamten code.
Code ermöglicht mir das kopieren von Daten von einer Arbeitsmappe in eine andere, aber beim kopieren der Daten muss ich kopieren einer ganzen Spalte, da gibt es einige leere Zellen in es. So, wenn ich nicht verwenden .EntireColumn
das makro nicht kopieren von Zellen nach der leeren Zelle. Auch jetzt, beim einfügen der Daten in die anderen arbeiten, Buch, muss ich es einfügen, ohne die überschrift.
Ich wäre Ihnen dankbar, wenn Sie mir heraus helfen mit diesem.
Windows("macro2.xlsm").Activate
Range(Range("M2"), Range("N2").End(xlDown)).EntireColumn.Select
Application.CutCopyMode = False
Selection.Copy
Windows("formula.xls").Activate
Range(Range("I2"), Range("J2").End(xlDown)).EntireColumn.Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
- ich glaube nicht, dass dein Erster code funktioniert gut (es sind einige syntax-Fehler). Wie die Daten sollen gefiltert werden, die auf die Dritten und vierten Blätter? wir setzen den filter John in den code?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aufgabe 1:
Aufgabe 2:
Aufgabe 3
Wahrscheinlich könnte Es Ihnen einige Idee, wie es zu tun. mehr Zweifel, fühlen Sie sich frei, mich zu Fragen.
Dank! Sie könnte wahrscheinlich gehen für copy destination:= und viele mehr Weg, es zu tun . eigentlich habe ich jetzt gehen, so dass ich nur gab Ihnen eine Probe-Stück zu arbeiten.