使用列展望循环,相对较新的循环,并有一些现有的代码回路这是令人难以置信的繁琐: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' –