使用列展望循環,相對較新的循環,並有一些現有的代碼迴路這是令人難以置信的繁瑣:Excel VBA中的列
Sub AdvanceWeek2()
Application.ScreenUpdating = False
' Victor
' Week1
Range("V24:V124").Copy
Range("U24").PasteSpecial xlPasteValues
Range("V134:V234").Copy
Range("U134").PasteSpecial xlPasteValues
Range("V244:V334").Copy
Range("U244").PasteSpecial xlPasteValues
' Week2
Range("W24:W124").Copy
Range("V24").PasteSpecial xlPasteValues
Range("W134:W234").Copy
Range("V134").PasteSpecial xlPasteValues
Range("W244:W334").Copy
Range("V244").PasteSpecial xlPasteValues
' Week3
Range("W24:W124").ClearContents
Range("W134:W234").ClearContents
Range("W244:W334").ClearContents
' Nick
' Week1
Range("Z24:Z124").Copy
Range("Y24").PasteSpecial xlPasteValues
Range("Z134:Z234").Copy
Range("Y134").PasteSpecial xlPasteValues
Range("Z244:Z334").Copy
Range("Y244").PasteSpecial xlPasteValues
' Week2
Range("AA24:AA124").Copy
Range("Z24").PasteSpecial xlPasteValues
Range("AA134:AA234").Copy
Range("Z134").PasteSpecial xlPasteValues
Range("AA244:AA334").Copy
Range("Z244").PasteSpecial xlPasteValues
' Week3
Range("AA24:AA124").ClearContents
Range("AA134:AA234").ClearContents
Range("AA244:AA334").ClearContents
然後,這被重複另一個11人,所以你可以看到如何繁瑣這得到。我將如何將其自動化到一個循環中以縮短代碼,並且如果需要做出小的更改,將來可以更輕鬆地進行編輯?
你介意發佈數據圖片,並確切地告訴你想達到什麼嗎? –
Victor是第一人?在我看來,每個人有3列,維克多的是U V和W ... X錯過了,所以這可能是一個公式化的總和?無論如何,看看使用'.Cells(1,2)'其中1是行,2是列,所以這將是'.Range(「B1」)'...然後你可以有一個循環爲每個每個人每次增加4,並使用類似'.Range(Cells(24,n),Cells(124,n))&.Range(Cells(134,n + 2)'等等。 –
還有你在這種情況下,您可以將目標範圍的值設置爲與所需範圍相匹配:Range(「U24:U124」)。Value = Range(「 V24:V124" )Value' –