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

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

MENU

【ノーコード】1データ1行のデータを1データ複数行(2行)の表にする

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

例として、アプリで「1データ1行のデータを1データ2行の表にする」VBAマクロを作成します。

事例 1明細1行のリストを、1データ2行にする

マクロを実行すると、1データ2行になりました。

 

 

アプリの設定

アプリのトップページ

 ⇒▼表形式の変換

 ⇒リスト形式を

 ⇒【ツール】縦のリスト形式のデータを、1データ複数行(2行)の表にする

 

【ポイント】

■ 【3】元データの1データの行数は、行見出しが無い場合0を入れてください。

表示されるVBAコード 

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

 

VBAコードを見る

Sub デモ() '縦のリスト形式のデータを、1データ複数行(2行)の表にする
 
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
Dim セル範囲 As String, セル As Range
Sheets("Sheet1").Select
'表の最終行を決定
Dim 最終行 As Long
最終行 = Cells(Rows.Count, Range("A1").Column).End(xlUp).Row
セル範囲 = "a1" & ":" & Cells(最終行, Range("f1").Column).Address(False, False)
  
Dim 表 As Variant, i As Long, j As Long, 行 As Long, 列 As Long, 出力先 As Range
表 = Range(セル範囲).Value
ReDim 配列((UBound(表, 1) * UBound(表, 2) - UBound(表, 1) * 0) / 3 - 1, 0 + 3 - 1)
For i = 1 To UBound(表, 1)
    For j = 0 + 1 To UBound(表, 2)
        If 列 = 3 Then
            列 = 0
            行 = 行 + 1
            配列(行, 列 + 0) = 表(i, j)
            列 = 列 + 1
        Else
            配列(行, 列 + 0) = 表(i, j)
            列 = 列 + 1
        End If
    Next
Next
Set 出力先 = Sheets("sheet1").Range(" h1 ").Resize(UBound(配列, 1) + 1, UBound(配列, 2) + 1)
出力先 = 配列
On Error Resume Next
出力先.Borders.LineStyle = True '表に罫線をいれる
出力先.SpecialCells(xlCellTypeConstants, xlNumbers).Style = "Comma [0]" '表の数字にカンマをいれる
出力先.SpecialCells(xlCellTypeConstants, xlNumbers).HorizontalAlignment = xlRight '表の数字を右揃えにする
Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開
End Sub

 

 

見出しのある事例はこちら

ChatGPTで修正

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

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