[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『一列にまとまってる縦長のデータを横並びにする方法』(TKG)
大量のデータが一列に全部まとまっていてそれらを横並びにしたいのですが、ただの横並びではないです一応見やすいようにある規則に従って空白のセルが入っています。それを利用して縦並びのデータに対して空白が来たら一つ右の列に空白より下のデータを全部移動させて、また空白が来たら右の列に移動してというのを一気に実行する方法が知りたいです。ショートカットでなくても一区切りずつ手作業でするのではなく一気にずらす方法が知りたいです。
(イメージ)
1
2
3
4
5
6
となっているのを
135
246
となるようにしたいです
< 使用 Excel:Excel2019、使用 OS:Windows10 >
A列にデータがあるとして、C列に出力した場合
Sub Test()
Dim Target As Range, rng As Range Dim r As Long, rMax As Long Dim cnt As Long
rMax = Cells(Rows.Count, 1).End(xlUp).Row Set rng = Range(Cells(1, 1), Cells(rMax, 1)) cnt = Application.WorksheetFunction.CountBlank(rng)
For Each Target In rng With Target If .Value <> "" Then r = .Row Mod ((rMax + 1) / (cnt + 1)) Cells(r, 3).Value = Cells(r, 3).Value & .Value End If End With Next Target
End Sub
(ngk) 2022/11/29(火) 15:49:15
A列にデータ、C列以降に出力として、
Sub test() Dim rng As Range Set rng = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).SpecialCells(xlCellTypeConstants)
Dim a As Range, c As Range Set c = Cells(1, 3) For Each a In rng.Areas a.Copy c Set c = c.Offset(, 1) Next End Sub (hatena) 2022/11/29(火) 17:13:37
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.