- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
マクロを使わなくては無理でしょう。 「こういう事かな?」と言う簡単なサンプルを作って見ました。 エラー処理を行って居ませんのであくまで参考用です。 Sub Sample() Dim Nowdata As Variant Dim sStr As String Dim nCol, nCount, i, j With ActiveSheet '使用している範囲を配列に入れる Nowdata = .UsedRange sStr = InputBox("何列にする?") If sStr = "" Then End nCol = CInt(sStr) nCount = 0 '使用している範囲を消去 .UsedRange.Clear 'ループを回して配列に取り込んだデータをセルへ For i = 1 To UBound(Nowdata, 1) For j = 1 To UBound(Nowdata, 2) .Cells(Int(nCount / nCol) + 1, (nCount Mod nCol) + 1) = Nowdata(i, j) nCount = nCount + 1 Next j Next i End With End Sub
その他の回答 (1)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
回答No.1
お礼
こんな大変なことだとは思ってませんでした。 考えていたものとは違いますが、これはこれで十分他のことに 応用できそうです。 ありがとうございます。