我有以下代碼VBA:使用多個命名的範圍偏移
Sub NamedRange()
Application.ScreenUpdating = False
Dim ws As Worksheet
Dim rangeC1F As Range
Dim rangeC2F As Range
Dim rangeC3F As Range
Dim rangeC4F As Range
Dim rangeP1F As Range
Dim rangeP2F As Range
Dim rangeP3F As Range
Dim rangeP4F As Range
For Each ws In ThisWorkbook.Worksheets
ws.Activate
With ActiveWindow
Set rangeC1F = ws.Range("G3:G100")
ActiveWorkbook.Names.Add Name:=Replace(ws.Name & "_C1F", " ", "_"), RefersTo:=rangeC1F
Set rangeC2F = ws.Range("T3:T100")
ActiveWorkbook.Names.Add Name:=Replace(ws.Name & "_C2F", " ", "_"), RefersTo:=rangeC2F
Set rangeC3F = ws.Range("AG3:AG100")
ActiveWorkbook.Names.Add Name:=Replace(ws.Name & "_C3F", " ", "_"), RefersTo:=rangeC3F
Set rangeC4F = ws.Range("AT3:AT100")
ActiveWorkbook.Names.Add Name:=Replace(ws.Name & "_C4F", " ", "_"), RefersTo:=rangeC4F
Set rangeP1F = ws.Range("BG3:BG100")
ActiveWorkbook.Names.Add Name:=Replace(ws.Name & "_P1F", " ", "_"), RefersTo:=rangeP1F
Set rangeP2F = ws.Range("BT3:BT100")
ActiveWorkbook.Names.Add Name:=Replace(ws.Name & "_P2F", " ", "_"), RefersTo:=rangeP2F
Set rangeP3F = ws.Range("CG3:CG100")
ActiveWorkbook.Names.Add Name:=Replace(ws.Name & "_P3F", " ", "_"), RefersTo:=rangeP3F
Set rangeP4F = ws.Range("CT3:CT100")
ActiveWorkbook.Names.Add Name:=Replace(ws.Name & "_P4F", " ", "_"), RefersTo:=rangeP4F
End With
Next
Application.ScreenUpdating = True
End Sub
此代碼讓我能夠創建定義/命名爲範圍內的大量紙張。但是,對於當前的代碼,範圍是靜態的。我想用「偏移」功能讓它們變成動態的。 範圍的長度由範圍C1F的小區F1,範圍C2F的小區S1,範圍C3F的小區AF1,範圍C4F的小區AS1,範圍P1F的小區BF1,範圍P2F的小區BS1,小區CF1的小區BS1對於範圍P3F,範圍P4F的單元CS1。起始單元格保持不變(單元格G3,T3,AG3,...,CT3)
如何在現有模塊中正確插入偏移量函數?
謝謝!
謝謝!它完美的作品 – HJA24