我在将Excel中的变体粘贴到指定范围时遇到问题。我在下面有以下代码,但整个范围内[E1:E15]
的输出为0。我希望看到的是一直到15。
我无法找到解决此特定问题的方法(部分原因是因为我无法确定此问题是用Excel术语定义的)。任何有关此特定代码的帮助或以更自然的方式在VBA中完成此操作都非常感谢。谢谢!
Sub TEST()
Dim SIZE As Integer
SIZE = 15
Dim VECTOR() As Integer
ReDim VECTOR(SIZE)
Dim i
For i = 1 To SIZE
VECTOR(i) = i
Next i
[E1:E15].Value = VECTOR
End Sub
答案 0 :(得分:1)
您正尝试将水平数组传递到垂直范围。
转置数组或使用第二维1:
制作2D数组Sub TEST()
Dim SIZE As Integer
SIZE = 15
Dim VECTOR() As Integer
ReDim VECTOR(1 To SIZE)
Dim i
For i = 1 To SIZE
VECTOR(i) = i
Next i
[E1:E15].Value = Application.Transpose(VECTOR)
End Sub
转置版本:
import kareltherobot.*;
import kareltherobot.Robot;
import java.awt.*;
public class RightTurnerRobot extends Robot implements RobotTask
{
public void TurnRight()
{
turnLeft();
turnLeft();
turnLeft();
}
static
{
World.setDelay(100);
World.setSize(10, 10);
}
public void task()
{
//World.readWorld("src", "someworldname.kwld");
UrRobot grace = new UrRobot(3, 3, East, 30);
grace.move();
grace.turnOff();
}
一个警告:转置对其可以处理的物品数量有限制。
答案 1 :(得分:0)
或只是
[E1:E15] = [row(E1:E15)]