【エクセルVBA】1行のデータを飛び飛びで2行に整理する方法

こんにちは、ヒガシです。

 

このページでは、以下の画像のように1行のデータを飛び飛びで2行に整理するVBAコードをご紹介していきます。

それではさっそくやっていきましょう!

 

スポンサーリンク

VBAの実行環境を構築しておく

上記の作業をVBAを使って実行していきます。

VBAを使ったことがない、という方は以下の記事を参考に、まずは環境構築を進めましょう。

エクセルマクロ(VBA)の始め方!初心者向けに画像を使って詳細解説

 

スポンサーリンク

1行データを飛び飛びで2行に整理するVBAコード

それでは本題である冒頭に紹介した処理を実行してくれるVBAコードをご紹介します。

Sub data_1d_2d()
    Dim base_data() As Variant
    Let base_data = Range("A1:J1").Value
    For i = 1 To UBound(base_data, 2)
        If (i - 1) Mod 2 = 0 Then
            Cells(4, i \ 2 + 1) = base_data(1, i)
        Else
            Cells(5, i \ 2) = base_data(1, i)
        End If
    Next
End Sub

 

基本的には3行目にあるデータが記入されてるセルの領域をしていするだけでOKです。

 

スポンサーリンク

領域を変えてテストしてみる

先ほどは1~10までのデータでしたが、次は1~14に増やしてやってみましょう。

先ほどのVBAコードの3行目を

Let base_data = Range(“A1:N1”).Value

に変更します。

 

これで準備OK。

 

以下が実行結果です。

こちらも問題なく実行できました。

 

スポンサーリンク

おわりに

というわけで今回は、1行に記載されたデータを飛び飛びで2行に整理する方法をご紹介しました。

データ取得の都合上こんな感じのことをやらざるを得ないこともあると思いますのでぜひご活用ください。

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

ぜひ他の記事ものぞいてみてください。

 

コメント

タイトルとURLをコピーしました