Ich bin auf der Suche nach bestimmten Spaltenzellen eine Reihe zu einer Zeit (d. H. A2, C2, G2 dann auf A3, C3, G2) kopiert auf ein neues Blatt eingefügt. Ich habe bei Verwendung sieht:VBA Selektive Kopie?
Sheets("Sheet1").Range("A1:A10").Copy
Aber ich brauche Daten aus bestimmten Spalten zu kopieren.
Einig Pseudo-Code:
- Iterate durch jede Reihe
- Wenn das Datum in Spalte A beschränkt auf die bedingte Anweisung, Spaltenwerte vorgegebene kopieren und auf neues Blatt kopieren.
- Überprüfen Sie die nächste Zeile.
Im Moment habe ich eine for-Schleife aus den Zeilen 1 bis 50. Iterieren
'Copy Titles
Sheet2.Range("A1, E1, J1, K1, W1:X1, Y1, AA1").Copy
Sheets.Add
ActiveSheet.Range("A1").PasteSpecial
'Copy Data
'If today's date is later than a date in the Column A, copy the cell over.
?
'Fix Column Width
Range("A1:H1").ColumnWidth = 20
'Align Columns
Columns("A:H").HorizontalAlignment = xlCenter
End Sub
ich unter jeder Auswahl zu denken, ich würde die gleiche Aussage tun, sondern kopieren auf das neue Blatt statt? Vielen Dank im Voraus!
Ahhh - Ich kann nicht empfehlen ** nicht ** mit '.Select' mehr. Ich schlage sehr vor, durch zu lesen, wie man '.Select' vermeidet (http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros) und das auf anwenden dein Makro. – BruceWayne
@BruceWayne, habe gerade einige Änderungen an meinem Code vorgenommen! – rmdlp
Ah okay - aber wo ist der Rest? Sie sagen, Sie haben eine Schleife, aber ich sehe keine Schleife. Und so kopieren Sie diese Werte von "Sheet2" und fügen diese Werte in ein neues Blatt ein. Es gibt ein Datum in Spalte A (where?), Das Sie überprüfen möchten, und wenn ja, kopieren Sie das auf ... das neue Blatt? – BruceWayne