【发布时间】:2015-07-30 10:46:32
【问题描述】:
请帮助为以下代码制作 For Next 循环; 我正在尝试复制范围内的每个单元格并将其传递到特定(固定位置)单元格,然后从特定(固定位置)单元格复制结果并将其粘贴到某些单元格中。我想为范围内的每个单元格执行此操作。使用宏我记录了下面的代码,它工作得很好,但我想从这个记录的宏中创建一个 For NEXT 或 FOR EACH 循环,所以请任何人帮助我。
'
' PastSpecialCheck6 Macro
'
' For L1
ActiveSheet.Cells(12, 103).Select
Selection.Copy
Range("B9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B28:B34").Select
Selection.Copy
ActiveSheet.Cells(40, 103).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
' For L02
ActiveSheet.Cells(13, 103).Select
Selection.Copy
Range("B9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B28:B34").Select
Selection.Copy
ActiveSheet.Cells(40, 104).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
' For L03
ActiveSheet.Cells(14, 103).Select
Selection.Copy
Range("B9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B28:B34").Select
Selection.Copy
ActiveSheet.Cells(40, 105).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
我尝试使用此代码进行循环,但徒劳无功。它仅适用于范围内的一个单元格。
Sub pastspecialmy_30July2015_2()
' Ln is length
Dim Ln As Variant
' i is numbers
Dim i As Integer
' For L1
For Each Ln In ActiveSheet.Range("CY12:CY30").Cells
For i = 125 To 143
' Ln.Activate
Range("B9").Select
Selection.Value = Ln
Range("B28:B34").Select
Selection.Copy
ActiveSheet.Cells(57, i).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next
Next
End Sub
【问题讨论】:
-
如果您将
For Each更改为简单的 for,如果您知道有多少行。现在还能用吗?