将每隔一行的单元格数据从 H 列移动到 I 并替换 B 和 C 中的文本
Move cell data in every other row from column H to I and replace text in B and C
我是宏的新手,需要在 1,000 多行 sheet 上执行以下操作:
我有一个 sheet,我需要每隔一行复制一次,然后修改新行。
复制附加行 i 运行 这个宏:
Sub CopyRows()
Dim LR As Long
Dim i As Long
LR = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For i = LR To 2 Step -1
Rows(i).Copy
Range(Rows(i + 1), Rows(i + 1)).Insert Shift:=xlDown
Application.CutCopyMode = False
Next i
End Sub
我需要在 header 行之后每隔一行执行两个额外的操作。
操作一:
在 B 列和 C 列中,我需要用 "data for B" 和 "Data for C" 替换文本,每次替换的文本都是静态的。
操作二:
我需要把H列的数据剪切下来粘贴到I列。
如能帮助执行此宏,我们将不胜感激。
这是在 Excel 2016 年
我的最终解决方案感谢@MortenAnthonsen,他的解决方案为我提供了解决以下问题所需的条件:
Sub myMaker()
Dim LR As Long
Dim i As Long
LR = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For i = LR To 2 Step -1
Rows(i).Copy
Range(Rows(i + 1), Rows(i + 1)).Insert Shift:=xlDown
Application.CutCopyMode = False
Next i
For i = 3 To Cells(2, 2).End(xlDown).Row Step 2
Cells(i, 2).Value = "B Data"
Cells(i, 3).Value = "C Data"
Range("H" & i).Select
Selection.Cut
Range("I" & i).Select
ActiveSheet.Paste
Next i
End Sub
这应该可以解决问题
Sub operations()
Dim i As Integer
For i = 2 To Cells(2, 2).End(xlDown).Row Step 2
Cells(i, 2).Value = "data for B"
Cells(i, 3).Value = "Data for C"
Next i
Range(Range("H2"), Range("H2").End(xlDown)).Cut Destination:= _
Range(Range("H2"), Range("H2").End(xlDown)).Offset(0, 1)
End Sub
我是宏的新手,需要在 1,000 多行 sheet 上执行以下操作:
我有一个 sheet,我需要每隔一行复制一次,然后修改新行。
复制附加行 i 运行 这个宏:
Sub CopyRows()
Dim LR As Long
Dim i As Long
LR = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For i = LR To 2 Step -1
Rows(i).Copy
Range(Rows(i + 1), Rows(i + 1)).Insert Shift:=xlDown
Application.CutCopyMode = False
Next i
End Sub
我需要在 header 行之后每隔一行执行两个额外的操作。
操作一: 在 B 列和 C 列中,我需要用 "data for B" 和 "Data for C" 替换文本,每次替换的文本都是静态的。
操作二: 我需要把H列的数据剪切下来粘贴到I列。
如能帮助执行此宏,我们将不胜感激。
这是在 Excel 2016 年
我的最终解决方案感谢@MortenAnthonsen,他的解决方案为我提供了解决以下问题所需的条件:
Sub myMaker()
Dim LR As Long
Dim i As Long
LR = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For i = LR To 2 Step -1
Rows(i).Copy
Range(Rows(i + 1), Rows(i + 1)).Insert Shift:=xlDown
Application.CutCopyMode = False
Next i
For i = 3 To Cells(2, 2).End(xlDown).Row Step 2
Cells(i, 2).Value = "B Data"
Cells(i, 3).Value = "C Data"
Range("H" & i).Select
Selection.Cut
Range("I" & i).Select
ActiveSheet.Paste
Next i
End Sub
这应该可以解决问题
Sub operations()
Dim i As Integer
For i = 2 To Cells(2, 2).End(xlDown).Row Step 2
Cells(i, 2).Value = "data for B"
Cells(i, 3).Value = "Data for C"
Next i
Range(Range("H2"), Range("H2").End(xlDown)).Cut Destination:= _
Range(Range("H2"), Range("H2").End(xlDown)).Offset(0, 1)
End Sub