MS Excel:将行转换为列

如果我在Excel电子表格中有多行,则:

Number Email-1 Email-2 Email-X Email-XX 12345 address1 address2 addressX addressXX 67890 address1 address2 addressX 98765 address1 address2 addressX addressXX 

我需要把所有的电子邮件地址放在一列中,并在相邻列中加上相应的数字:

 Number Email 12345 address1 12345 address2 12345 addressX 12345 addressXX 67890 address1 67890 address2 67890 addressX 98765 address1 98765 address2 98765 addressX 98765 addressXX 

我怎么能做到这一点? 我尝试了Paste Special-> Transpose上的变体,但是得到的结果是这样的:

  12345 address1 address2 addressX addressXX 

想法?

该macros假定原始数据位于Sheet1中 ,输出数据将写入Sheet2中

 Sub dural() Dim N As Long, s1 As Worksheet, s2 As Worksheet, _ i As Long, j As Long, M As Long, v As Variant, _ k As Long Set s1 = Sheets("Sheet1") Set s2 = Sheets("Sheet2") N = s1.Cells(Rows.Count, "A").End(xlUp).Row k = 1 For i = 2 To N v = s1.Cells(i, "A").Value M = s1.Cells(i, Columns.Count).End(xlToLeft).Column For j = 2 To M s2.Cells(k, 1).Value = v s2.Cells(k, 2).Value = s1.Cells(i, j).Value k = k + 1 Next j Next i End Sub 

在行和列之间移动数据将数据复制到一个或多个列或行中。 在粘贴复制的数据之前,右键单击第一个目标单元格(要粘贴数据的行或列的第一个单元格),然后单击select性粘贴。 在“select性粘贴”对话框中,select“转置”,然后单击“确定”。