簡體   English   中英

在Excel VBA中對一系列單元格使用自動填充

[英]Using AutoFill in Excel VBA for a range of cells

我正在嘗試編寫代碼,該代碼將在excel電子表格中找到最后一行,並使用最后兩行包含的相同公式自動填充另外24行(就像您手動執行自動填充一樣)。 A列包含一個小時的日期和時間,如下所示:

26/5/15 00:00
26/5/15 01:00 
and so on...

BG列包含根據時間在A列的適當單元格中應用的公式

這是我想出的代碼:

Sub FillDay()
Dim Initial_cell, Var_1, Final_End_Row As Long, Update_range, Range_To_Fill As String
Dim col, n, b As Integer, rng As Range
col = 1
If Application.WorksheetFunction.CountA(Columns(col)) = 0 Then
MsgBox "You have selected a blank column"
n = 0
Else
Set rng = Intersect(Columns(col), ActiveSheet.UsedRange)
On Error Resume Next
b = rng.Cells.SpecialCells(xlCellTypeBlanks).Count
n = rng.Cells.Count - b
On Error GoTo 0
n = n + 1
End If
'n returns the number of the last occupied cell
Initial_cell = n
Var_1 = Initial_cell - 2
Update_range = "A" & Var_1 & ":" & "G" & Initial_cell
Final_End_Row = Initial_cell + 24
Range_To_Fill = "A" & Initial_cell & ":" & "G" & Final_End_Row
Range(Update_range).AutoFill Destination:=Range(Range_To_Fill), Type:=xlFillDefault
End Sub

正在獲取運行時錯誤'1004'應用程序定義或對象定義的錯誤...使用調試問題似乎在最后一行

VBA新手,歡迎任何幫助!

謝謝

將代碼的最后一位更改為

Initial_cell = n - 1
Var_1 = Initial_cell - 2
Update_range = "A" & Var_1 & ":" & "G" & Initial_cell
Final_End_Row = Initial_cell + 24
Range_To_Fill = "A" & Var_1 & ":" & "G" & Final_End_Row
Range(Update_range).AutoFill Destination:=Range(Range_To_Fill), Type:=xlFillDefault

2個問題:-1您在Initial_cell中包含一個空白行(這可能是有意的?)。 2自動填充目標需要從update_range所在的同一行開始

另一件事要考慮的是,如果var_1 = initial_setup -2如果結果為負,則可能在以后導致錯誤

暫無
暫無

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

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