VBAマクロを自動作成する無料アプリ

VBAコードの知識不要😊ChatGPTで機能を追加

MENU

【ノーコード】縦1列のデータを、複数列や複数行に分ける(数行ごと一定間隔で)

エクセルVBAマクロを自動作成する無料アプリです。

例として「縦1列のデータを、複数列や複数行に分ける」VBAマクロを作成します。

事例 縦1列のデータを2行ごとに分けて、複数行にする



できました(^^)/

なお、異なる間隔はこちら↓

www.nocodevba.com

アプリの設定

アプリのトップページ

 ⇒▼表形式の変換

 ⇒縦1列

 ⇒【ツール】縦1列のデータを、等間隔で複数列や複数行に分ける



【ポイント】

※「行列を入れ替えて、横方向に貼り付ける」のチェックを入れると、データが列方向に並びます。

表示されるVBAコード 

アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。

 

VBAコードを見る

Sub デモ() '縦1列のデータを、等間隔で、複数列や複数行に分ける
 
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
Dim セル範囲 As String, セル As Range, 元表行数 As Long, 元表列数 As Long, 配列 As Variant, 配列1次元 As Variant
Sheets("Sheet1").Select
セル範囲 = Range(Range("a1"), Cells(Rows.Count, Range("a1").Column).End(xlUp)).Address(False, False)
'セルの結合解除
Range(セル範囲).Select
Selection.UnMerge
'◆元表の行数を取得
元表行数 = Selection.Rows.Count
'◆表を配列に格納
配列 = Range(セル範囲).Value
'◆配列を、1次元配列へ格納
配列1次元 = WorksheetFunction.Transpose(配列)
'◆配列を、配列2次元に格納
Dim 配列2次元() As Variant, 行 As Long, 列 As Long, 値 As Long
ReDim 配列2次元(元表行数 / 2 - 1, 2 - 1)
値 = 1
For 行 = 0 To 元表行数 / 2 - 1
    For 列 = 0 To 2 - 1
        配列2次元(行, 列) = 配列1次元(値)
        値 = 値 + 1
    Next 列
Next 行
'◆配列のメモリーを開放
Erase 配列
Erase 配列1次元
'◆配列2次元を、表示
Sheets("sheet1").Range("c1").Resize(元表行数 / 2, 2) = 配列2次元
'◆表に罫線をいれる
Sheets("sheet1").Range("c1").CurrentRegion.Borders.LineStyle = True
Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開
End Sub

 

ChatGPTで修正

あなたが自動化したい内容と事例が少し異なる場合は、無料で使えるマイクロソフトの「BingAIチャット」でコードを修正します。とても簡単です!

アプリはこちらから↓↓↓↓