[英]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.