Gibt es eine Möglichkeit, Daten mit einem Makro- / Tastenfilter zu kopieren?

400
Chris

Ich habe ein Arbeitsblatt mit Mitarbeiter-IDs oben und Daten auf der Seite.

Dann muss ich jeden Tag ein Y oder ein N anbringen. Ich habe 96 Angestellte, also ist es wirklich lang. Gibt es einen Button oder ein Makro, wenn eine Person ein Y erhält? Ich kann diese Leute auf ein anderes Blatt kopieren, und wenn ein neuer Benutzer ein Y erhält, wird er sie auch übernehmen. So ist es einfacher, die Leute mit dem Y einzugrenzen

http://i.imgur.com/tNc2Nan.jpg

1
Screenshots!!!! :) - oder verwenden Sie zumindest den Post-Versuch und zeigen Sie die Daten und wie sie angelegt sind! Sie müssen also jeden Tag ein Y oder N manuell hinzufügen. Am Ende möchten Sie alle diese Zeilen mit einem Y in ein anderes Dokument kopieren. Ist das korrekt? Dave vor 9 Jahren 1
Ja, das ist genau das, was ich will, und wenn eine neue Person ein Y erhält, das sie dem neuen Blatt hinzufügt. Chris vor 9 Jahren 0
http://imgur.com/tNc2Nan Hier ist ein Beispiel, wie Sie sehen können, dass einige ein Y haben und einige ein NI wollen, um etwas zu machen. Wenn also ein Y erscheint, wird es mit den Leuten, die es bekommen haben, auf ein neues Blatt gelegt Ein Y an einem beliebigen Datum fügt sie einem separaten Blatt hinzu, das dasselbe Layout wie das Muster hat Chris vor 9 Jahren 0
Was wird ein neues Arbeitsblatt? Ich gehe davon aus, dass die Spalte oder nur der Name der Person oder die gesamte Zeile? Dave vor 9 Jahren 0
Ich möchte die volle Kolumne durchgehen Chris vor 9 Jahren 0
Wenn ich es also laufen lassen würde, würden Sam und Bobbie nicht einfach nur die anderen Leute kopiert bekommen, die später auf Y stehen. Chris vor 9 Jahren 0

1 Antwort auf die Frage

1
Dave

Diese VBA macht, was ich denke, Sie wollen ... Ihre Frage ist nicht klar.

Denken Sie daran, mit VBa zuerst eine Kopie der Datei zu erstellen, da diese keine Rückgängig-Funktion hat

Option Explicit  Sub FindYeTheMapOfTreasure()   Worksheets("Sheet2").Range("A:F").Clear Worksheets("Sheet2").Range("A:B").Value = Worksheets("Sheet1").Range("A:B").Value   Dim row As Integer row = 2  Do While Worksheets("Sheet1").Range("C" & row).Value <> ""  If Worksheets("Sheet1").Range("C" & row).Value = "Y" Then Worksheets("Sheet2").Range("C:C").Value = Worksheets("Sheet1").Range("C:C").Value End If  If Worksheets("Sheet1").Range("D" & row).Value = "Y" Then Worksheets("Sheet2").Range("D:D").Value = Worksheets("Sheet1").Range("D:D").Value End If  If Worksheets("Sheet1").Range("E" & row).Value = "Y" Then Worksheets("Sheet2").Range("E:E").Value = Worksheets("Sheet1").Range("E:E").Value End If  If Worksheets("Sheet1").Range("F" & row).Value = "Y" Then Worksheets("Sheet2").Range("F:F").Value = Worksheets("Sheet1").Range("F:F").Value End If  If Worksheets("Sheet1").Range("G" & row).Value = "Y" Then Worksheets("Sheet2").Range("G:G").Value = Worksheets("Sheet1").Range("G:G").Value End If row = row + 1 Loop   End Sub 

Blatt1

enter image description here

Nachdem ich es ausgeführt habe, sieht sheet2 so aus

enter image description here

Vielen Dank, ich werde es ausprobieren. Ja, ich weiß, ich weiß, was ich in meinem Kopf will, aber es zu erklären, ist etwas schwieriger. Chris vor 9 Jahren 0