0

次の形式のExcelシートがあります

a 2 3 4 0 0 0 0 0   
a 2 5 6 7 0 0 0 0  
a 4 5 9 0 0 0 0 0  
b 5 5 9 0 0 0 0 0   
b 1 1 1 1 1 1 1 1

こんな感じで締めくくりたい

a 2  
a 3  
a 4  
a 2  
a 5  
a 6  
a 7  
a 4  .....  
b 1  
b 1   
b 1 ....
4

3 に答える 3

1

これを試して

Sub move()

    Dim cell As Range, _
        found As Range
    Dim letter As String

    Set cell = Range("B1")
    Set found = Range("A:A").Find("*", Range("A1"), searchdirection:=xlPrevious).Offset(2, 0)

    Do While (cell.Value <> "")
        letter = cell.Offset(0, -1).Value
        Do While (cell.Value <> 0)
            found.Value = letter
            found.Offset(0, 1).Value = cell.Value
            Set cell = cell.Offset(0, 1)
            Set found = found.Offset(1, 0)
        Loop
        Set cell = Cells(cell.Row + 1, 2)
    Loop

End Sub
于 2012-10-17T21:00:42.710 に答える
1

連結と連結解除の組み合わせとhttp://www.cpearson.com/excel/TableToColumn.aspxの式を使用して、これをかなり迅速に行うことができました

=$A1&","&B1

例1

=OFFSET($K$1:$R$5,TRUNC((ROW()-ROW($U$1))/COLUMNS($K$1:$R$5),0),MOD(ROW()-ROW($U$1),COLUMNS($K$1:$R$5)),1,1)

例2

=LEFT(U1,FIND(",",U1,1)-1)

例3

=RIGHT(U1,FIND(",",U1,1)-1)

例4

幸運を。

于 2012-10-17T21:01:55.907 に答える
1

アンピボット アドインを確認してください(後で削除できるヘッダー行を追加するだけです)。必要な形式でデータを返します。

于 2012-10-17T20:40:20.197 に答える