我希望有人能指出我正確的方向:我想讓列數(只有第 25 到 38 行)等于單元格 C24 中的數字。如果單元格 C24 包含 3,那么我希望列的總數為 3。我嘗試了幾種方法,單獨添加新列沒問題,但洗掉它們會使我的作業表崩潰。我嘗試了下面的代碼。
Sub adding()
If LastCol = Range("C24").Value Then
ElseIf LastCol < Range("C24").Value Then
Range("C25:C36").Select
Selection.Copy
Selection.Insert Shift:=xlToRight
ElseIf LastCol > Range("C24").Value Then
Range("D25:D36").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
End If
End Sub
uj5u.com熱心網友回復:
試試下面的代碼:
Sub Adding()
Dim col As Long, LastCol As Long
LastCol = Cells(25, Columns.Count).End(xlToLeft).Column - 2 'This auto finds last column using row 25.
col = Range("C24").Value
If LastCol < col Then
Range("C25:C36").Copy
Range("C25:C36").Resize(, Abs(LastCol - col)).Insert shift:=xlToRight
ElseIf LastCol > col Then
Range("D25:D36").Resize(, Abs(LastCol - col)).Delete shift:=xlToLeft
Else
'if equals do what you want
End If
Application.CutCopyMode = False
End Sub
基本上我們抓取初始范圍(C25:C36 用于插入,D25:D26 用于洗掉)并使用該Resize方法按列數擴展范圍。我輸入了最后一列的計算,但如果這不適合您,那么我們可以看看什么是正確的。因為它從 .CI 列減去 2 開始LastCol。
我測驗了它,它做了我相信你想要的,所以希望對你有用。讓我知道。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/398065.html
