VBA - 粘贴变量值

时间:2016-08-17 18:16:54

标签: excel vba

我在将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

2 个答案:

答案 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)]