見出し画像

表の並びを反転するChatGPTと一緒に作ったよ

この説明は、ChatGPTで作成しています。

このプロシージャの仕組み

「表の並びを反転するChatGPTと一緒に作ったよ」は、Excel上の表データを上下逆に並べ替えるプログラムです。対象は見出し行を除いたデータ部分です。

処理の流れ

  1. 表の範囲を特定
    アクティブなシートで表の最後の行と列を検出します。これにより、データがどこからどこまであるかを確認します。

  2. データを配列に格納
    見つけた表のデータを配列に記憶します。配列とは、データを一時的に保存する箱のようなものです。

  3. 配列のデータを反転
    記憶したデータを別の配列に反転して保存します。元の配列の1行目を新しい配列の最後の行に置き換える仕組みです。

  4. 反転したデータをシートに書き戻す
    最後に、反転したデータを元の位置に戻して、シート上の表データを更新します。

ポイント

  • 見出し行(1行目)はそのまま残すため、表の構造が崩れません。

  • 配列を使うことで、大量のデータでも高速に処理できます。

  • 実行中に画面のちらつきを防ぐ工夫もされています。

活用例

例えば、売上データやログ記録を新しい順に並べ替えたいときに役立ちます。

関連リンク

Sub 表の並びを反転するChatGPTと一緒に作ったよ()
    Application.ScreenUpdating = False
    Dim ws As Worksheet
    Dim lastRow As Long, lastCol As Long
    Dim table As Range
    Dim tableData As Variant, reversedData As Variant
    Dim i As Long, j As Long
    ' アクティブシートを設定
    Set ws = ActiveSheet
    ' 最終行と最終列を取得
    lastRow = ws.Cells(ws.Rows.count, 1).End(xlUp).row
    lastCol = ws.Cells(1, ws.Columns.count).End(xlToLeft).Column
    ' テーブル範囲を設定(見出しを除く)
    Set table = ws.Range(ws.Cells(2, 1), ws.Cells(lastRow, lastCol))
    ' テーブルを配列に格納
    tableData = table.Value
    ' 配列の上下反転用の配列を作成
    ReDim reversedData(1 To UBound(tableData, 1), 1 To UBound(tableData, 2))
    For i = 1 To UBound(tableData, 1)
        For j = 1 To UBound(tableData, 2)
            reversedData(UBound(tableData, 1) - i + 1, j) = tableData(i, j)
        Next j
    Next i
    ' 配列を再びシートに反映
    table.Value = reversedData
    Application.ScreenUpdating = True
End Sub

関連キーワード

#excel #できること #vba #データ操作 #表反転 #配列操作 #データ管理 #vba初心者 #業務効率化 #プログラム解説 #シート操作 #excel自動化 #forループ #データ範囲 #リスト操作 #プログラミング学習 #シート管理 #業務改善 #ヘルプツール

Reverse Table Order Created with ChatGPT

This explanation is created with ChatGPT.

How This Procedure Works

This procedure reverses the row order of a table in Excel, excluding the header row.

Process Overview

  1. Identify the table range
    Detects the last row and column of the active sheet to determine the data range.

  2. Store data in an array
    The table data is saved into an array for processing.

  3. Reverse the data in the array
    Creates a new array by reversing the rows of the original data.

  4. Write reversed data back to the sheet
    Updates the sheet with the reversed data, preserving the original structure.

Key Points

  • The header row remains unchanged.

  • Arrays enable fast and efficient data processing.

  • Screen flickering is minimized during execution.

Practical Uses

Ideal for reordering sales data or logs in descending order.

Related Links

Related Keywords

#excel #vba #datahandling #tableflip #arrayoperations #dataorganization #vbabasics #workflowautomation #programmingguide #excelautomation #forloop #dataprocessing #listmanipulation #codingforbeginners #sheetmanagement #helpfulscripts #businessoptimization


この記事が気に入ったらサポートをしてみませんか?