自动填充到一定范围

时间:2019-03-05 15:07:59

标签: excel vba

我正在研究一个宏,以将某些信息从一个工作表复制到另一个工作表。

我对以下代码中使用的自动填充有疑问。 是否只能根据包含数据的工作表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

0 个答案:

没有答案