将列分成多列excel 2010

时间:2015-03-04 22:46:30

标签: excel-vba excel-2010 vba excel

我需要做什么: 我在excel中有两列,基本上是(x)和(y) 列A和A列中有多个数据集在继续。 B(它的范围,但我正在研究的那个大约有大约80,000个,大约有8个数据集;完整的数据集会更长)

**屏幕截图显示数据的样子:

enter image description here

值继续约200个单元格,其中标题(图像名称,图像平面等)重复,并列出下一个平面的X和Y值。

**我希望它看起来像这里的屏幕截图:

enter image description here

**我已经开始使用" Do Until"编写代码。循环,但卡住我如何将停止分配给一个单元格的文本或"图像名称"作为内容。要么工作。

在我继续阅读下一个图像数据并在第2页上将每组三列分开粘贴之前,我想弄明白这一点(参见我希望它看起来的屏幕截图)。

到目前为止我所写的内容(而且我知道它非常缺乏,因为我正在努力学习VBA的部分内容):

Sub Test2()  
    ' Test2 Macro  
    ' Automating  

    Dim X As Text Set X:= "Image Name"  

    'Select cell A2, *first line of data*  
    Range("A2").Select   
    'Set Do loop to stop when end of selection is reached   
    Do Until X(ActiveCell)  
        Selection.Copy  
        Sheets("Sheet2").Select  
        ActiveSheet.Paste  
        ' Step down 1 row from present location  
        ActiveCell.Offset(1, 0).Seclect Loop  
End Sub

我已经能够更好地理解一些功能,但我仍然不知道如何分配变量。例如,要使X等于字符串"图像名称"并设置Do直到X,以便Do循环的功能工作,直到它到达"图像名称"单元格内容(或直到它击中文本,或者可以工作。)

非常感谢任何建议!我还在努力解决这个问题,并尝试将其设置为正确,以便在我还有其他内容添加时我会更新代码。

1 个答案:

答案 0 :(得分:0)

您有很多信息,但在帖子的最后,您声明需要指定一个变量。

首先我们需要声明一个变量。您正在尝试将x声明为文本。文本不是VBA中的数据类型,因此我们将使用String

Dim x as String

现在我们需要为x分配一个值。这是两个例子

x = "assigned value"  'assigned by hard-coding the value
x = Sheets("Sheet2").Range("A1").Value  'assigned by using the value of A1 on Sheet2

现在你的代码中还有其他一些问题(没有复制就粘贴了,没有关闭它就启动了Do循环),但是你需要专门询问你需要帮助的地方。