确定它只是简单的两行代码,由于某种原因不能按预期工作。我确信这很简单,但我不能指责它:
Dim Series as Range
Dim i as Integer
Set Series = Range("A1:B1")
i = 1
' Following two lines apparently don't do anything
' I would have expected them to move value of cell B1 to A1, and make B1 blank
Series.Value2(1, i) = Series.Value2(1, i + 1)
Series.Value2(1, i + 1) = ""
示例:
A B
1 "" 1
期望的结果:
A B
1 1 ""
我再次知道它是一个非常简单(和简化)的代码,但我无法理解它。
答案 0 :(得分:1)
在上面的代码中,我将更改它,如下所示,完成相同的任务,引用范围对象的各个单元格:
Series(i).Value2 = Series(i + 1).Value2
Series(i + 1).Value2 = ""
答案 1 :(得分:1)
为什么要把值放在值2之后?
这很好用......
Series(1, i).Value2 = Series(1, i + 1).Value2
Series(1, i + 1).Value2 = ""
答案 2 :(得分:0)
我最终在有问题的一个中定义了另一个Range,我使用Offset来引用该Range旁边的Cell,它不是很优雅,但它解决了这个问题。
Dim Series as Range
Dim S_Point as Range
Dim i as Integer
Set Series = Range("A1:B1")
i = 1
Set S_Point = Cells( Series.Row, i)
S_Point.Value2 = S_Point.Offset(0,1).Value2
S_Point.Offset(0,1).Value2 = ""