我正在寻找复制某一列单元格一次一行(即A2,C2,G2,然后到A3,C3,G2)粘贴到一个新的工作表。我看使用:VBA选择性复制?
Sheets("Sheet1").Range("A1:A10").Copy
但我需要将数据从某些列复制。
一些伪代码:
- 迭代通过每个行
- 如果在列A局限的条件语句中的日期,复制预先确定的列值,并复制到新的工作表。
- 检查下一行。
我现在有一个for循环从行迭代1到50
'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
我每次选择在想,我会做同样的语句,但复制到新的工作表呢?先谢谢你!
Ahhh - 我不能推荐**不**使用'.Select'更多。我强烈建议阅读[如何避免使用'.Select'](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)并将其应用于你的宏。 – BruceWayne
@BruceWayne,实际上对我的代码做了一些编辑! – rmdlp
啊好的 - 但剩下的呢?你说你循环,但我没有看到一个循环。所以你从'Sheet2'复制这些值,并将这些值粘贴到一个新的表格中。 A列中有一个日期(您在哪里?)要检查,如果是,请将其复制到...新表中? – BruceWayne