[英]AutoFill macro, error occured when there is merged cell in the column
我有以下代碼:它工作得很好,但是當列合並單元格時,它證明是錯誤的。 如果有任何方法可以避免對合並單元格進行計數或更具體地講-僅對B列中僅包含7個字符的數據進行計數:
Sub Second()
Range("B15:I15").Select
Selection.AutoFill Destination:=Range("B15:I" & Range("B" & Rows.Count).End(xlUp).Row)
End Sub'
如果合並的單元格始終位於最后一行,則很容易。 您只需要使用.MergeArea.Count
來檢查最后一個單元格是否已合並。
這是您要嘗試的嗎?
Option Explicit
Sub Sample()
Dim ws As Worksheet
Dim Lrow As Long
Set ws = ThisWorkbook.Sheets("Sheet2")
With ws
Lrow = .Range("B" & .Rows.Count).End(xlUp).Row
If .Range("B" & Lrow).MergeArea.Count > 1 Then
Lrow = Lrow - 1
End If
.Range("C15:I15").AutoFill Destination:=.Range("C15:I" & Lrow)
End With
End Sub
如果要忽略合並單元格上方的空白單元格,則可以使用此
Option Explicit
Sub Sample()
Dim ws As Worksheet
Dim Lrow As Long
Set ws = ThisWorkbook.Sheets("Sheet2")
With ws
Lrow = .Range("B" & .Rows.Count).End(xlUp).Row
If .Range("B" & Lrow).MergeArea.Count > 1 Then
If Len(Trim(.Range("B" & Lrow - 1))) = 0 Then
Lrow = .Range("B" & Lrow).End(xlUp).Row
Else
Lrow = Lrow - 1
End If
End If
.Range("C15:I15").AutoFill Destination:=.Range("C15:I" & Lrow)
End With
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.