我正在研究一个宏,以将某些信息从一个工作表复制到另一个工作表。
我对以下代码中使用的自动填充有疑问。 是否只能根据包含数据的工作表A的行数自动填充到一定范围的行,而不是手动插入的“行5000”?
到目前为止已包含在下面的代码
谢谢。
米歇尔
P.S。别介意所有的选择命令,我并不是真正地参与所有VBA编程,并且数据复制并不那么庞大,因此运行时受到限制。
Sub WorksheetB()
'
' WorksheetB Macro
'
' Sneltoets: Ctrl+Shift+H
'
Sheets("WorksheetB").Select
Range("A1").Select
ActiveCell.FormulaR1C1 = "='WorksheetA'!RC"
Range("B1").Select
ActiveCell.FormulaR1C1 = "='WorksheetA'!RC"
Range("C1").Select
ActiveCell.FormulaR1C1 = "=IF('WorksheetA'!RC[6]>0,'WorksheetA'!RC[6],"""")"
Range("E1").Select
ActiveCell.FormulaR1C1 = _
"=CONCATENATE('WorksheetA'!RC[6],"" "",'WorksheetA'!RC[5])"
Range("E2").Select
Columns("E:E").EntireColumn.AutoFit
Range("F1").Select
ActiveCell.FormulaR1C1 = "=IF('WorksheetA'!RC[6]>0,'WorksheetA'!RC[6],"""")"
Range("A1").Select
Selection.AutoFill Destination:=Range("A1:A5000"), Type:=xlFillDefault
Range("A1:A5000").Select
Range("B1").Select
Selection.AutoFill Destination:=Range("B1:B5000"), Type:=xlFillDefault
Range("B1:B5000").Select
Range("C1").Select
Selection.AutoFill Destination:=Range("C1:C5000"), Type:=xlFillDefault
Range("C1:C5000").Select
Range("E1").Select
Selection.AutoFill Destination:=Range("E1:E5000"), Type:=xlFillDefault
Range("E1:E5000").Select
Range("F1").Select
Selection.AutoFill Destination:=Range("F1:F5000"), Type:=xlFillDefault
Range("F1:F5000").Select
End Sub