我放弃。我只花了四个小时试图弄清楚为什么这个宏不起作用。我希望它采用给定的源范围,使用循环遍历它For
并将值复制到不同的列。
我希望它从给定的目标单元格开始,并且
- 输入值
- 使用插入创建一个新行(整行,而不仅仅是插入该列。我想将数据放入现有的一组行中)
- 不覆盖指定目标列终点的标记。它下面有需要保存的数据。
我不知道为什么
- 在一个过程实例中,它输入值,然后在插入下一行时清除数据。
- 在第二种情况下,它会跳过一行并删除列标记的结尾
请注意,我不是在寻找聪明、优雅的问题解决方案,为了自学vba范式,我想保持基本的东西。随着我对基础知识的理解越来越好,我将尝试一些高级技巧。
TIA
Sub Macro1()
Dim firstRow As Range, lastRow As Range
Dim source As Range, destination As Range
Dim readCell As Range
Set firstRow = Range("F2")
Set lastRow = Range("F20")
Set destination = Range("A21")
Set source = Range(firstRow.Address(False, False) & ":" & lastRow.Address(False, False))
For Each readCell In source
destination.Select
destination.Value = readCell.Value
If (readCell.Address(False, False) = lastRow.Offset(1, 0)) Then
Exit For
Else
'destination.Select
End If
'MsgBox (destination.Value)
destination.EntireRow.Insert Shift:=xlUp
Set destination = destination.Offset(1, 0)
Next
End Sub