簡體   English   中英

自動填充到相鄰單元格

[英]Autofill to and Adjacent Cell

我是VBA的新手,我找不到自己想要的答案。 我的代碼其余部分都可以正常工作,但是在自動填充方面,我似乎無法理解。 我有一個單元格,我想自動填充到下面的單元格中。 我知道這是一個非常基本的問題,但是需要任何幫助! 這是我的代碼:

Selection.AutoFill目標:=范圍(Cells.ActiveCell.Offset(1,0),類型:= _ xlFillDefault

您可以使用調整大小

Option Explicit
Sub Test()
    Selection.AutoFill Destination:=ActiveCell.Resize(2, 1), Type:=xlFillDefault
End Sub

.AutoFill被高估了,.FillDown / .FillRight和.DataSeries通常都是更好的方法,並且用相對內容一次填充所有內容始終是公式或常量的選項。

Selection.filldown       'ctrl+D is faster
'or,
Selection.cells(1).resize(2, 1).filldown

...

Selection.cells(1).resize(2, 1) = Selection.cells(1).formula

...

Selection.cells(1).resize(2, 1).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1

...

'only if you're feeling lucky
selection.flashfill

您沒有提供足夠多的信息來提供確定的答案,但是以上所有方法都可以替代帶有Type:= xlFillDefault參數的名為.AutoFill的猜謎游戲。

試試這些測試。 A列的代碼回答了您的原始問題。

 Option Explicit
Sub AutofillTest()
    Dim ws As Worksheet
    Set ws = Worksheets("Sheet1")
    Dim aRng1 As Range, aRng2 As Range

    'Autofill beginnining with only one cell as a "seed"
    ws.Range("a:d").Clear
    Set aRng1 = ws.Range("a1:a1")
    aRng1 = 1 'The "seed" cell
    Set aRng2 = aRng1.Offset(1, 0)
    aRng1.AutoFill Destination:=Range(aRng1, aRng2), Type:=xlFillSeries

    'More fun tests
    ws.Range("b1:b1") = 1
    ws.Range("c1:c1") = 1
    ws.Range("d1:d1") = CDate("5/1/2018")
    ws.Range("b1:b1").AutoFill Destination:=Range("b1:b5"), Type:=xlFillSeries 'List of numbers
    ws.Range("c1:c1").AutoFill Destination:=Range("c1:c5"), Type:=xlFillDefault 'Copy of one number
    ws.Range("d1:d1").AutoFill Destination:=Range("d1:d5"), Type:=xlFillDefault 'List of dates
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM