2011-07-24 23 views
0

想知道是否有办法从表格格式的Excel工作表中复制数据并通过宏转换为单行数据以用于Excel 2007?宏以水平方向复制到一行中的另一个工作表

例如,我有以下表格格式的数据;

日期 - 姓名 - 金额
02/03/2011 - 约翰 - -20.00
05/03/2011 - 彼得 - 30.89
05/03/2011 - 安东尼 - 988.00
。 ...
..

宏应该最终将数据上面的副本水平(转置)连续添加'@'作为分隔符上面的数据。

02/03/2011
约翰
-20.00
@
05/03/2011
彼得
30.89
@
05/03/2011
安东尼
988.00
...
..

可以这样做吗?

我只能为第一行工作,我怎么能继续subsequce?

范围( “A2:F2”)。选择
Selection.Copy
表( “Sheet2的”)选择
Selection.PasteSpecial粘贴:= xlPasteAll,操作:= xlNone,SkipBlanks:= _ 假,移调:=真

+0

这可能是值得您录制宏而你手动操作只需一次或两次。然后,您将拥有代码的基础,并且可能只需进行一些更改。 –

+0

问题可能是表中的行数可能随着时间增长.. :( – eure

回答

0

你需要做一个循环,像

Dim workingrow As Range 
For Each workingrow in UsedRange.Rows 
    workingrow.Columns("A:F").Copy 
    Sheets("Sheet2").Range("whereveryouwant").PasteSpecial Paste:=xlPasteAll, _ 
     Operation:=xlNone, SkipBlanks:= False, Transpose:=True 
Next workingrow 
相关问题