[[20170609072345]] 『4列にあるデータを別シートに1行で表示させる方法』(ウッド) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『4列にあるデータを別シートに1行で表示させる方法』(ウッド)

4列にあるデータを
A1B1C1D1
A2B2C2D2
A3B3C3D3
A4B4C4D3

A1B1C1D1A2B2C2D2A3B3C3D3A4B4C4D4
と別のシートに表示させるために関数などを使った効率のよい方法はありますでしょうか。

今は行ごとにコピー&貼り付けをしている状態ですが、データが3000件あり、この作業だと時間がかかるため、時間短縮を図りたいのが目的です。

< 使用 Excel:2013、使用 OS:WIN10 >


ウッドさん

3000件を繋いで、A1に全部入れるということでしょうか?
それとも、A1〜A12000に入れるということでしょうか?
(パオ〜〜ン) 2017/06/09(金) 08:56


パオ〜〜ンさん

返信ありがとうございます。
列ABCDEFG•••••••にいれていきたいと思います。
(ウッド) 2017/06/10(土) 09:17


ウッドさん
こんなマクロでできるようです。

Option Explicit
Sub Smaple()

    Dim S1 As Worksheet
    Dim S2 As Worksheet
    Dim I As Long
    Dim J As Long

    Set S1 = Sheets("Sheet1")               'Sheet1 を S1と表します
    Set S2 = Sheets("Sheet2")               'Sheet2 を S2と表します。

    For I = 1 To S1.Range("A" & Rows.Count).End(xlUp).Row               'Iを1からSheet1のA列の最後の数時まで1づつ増やして繰り返す
        For J = 1 To 4                                                  'Jを1から4まで1づつ増やしてNext Jまで繰り返す
            S2.Cells(1, (I - 1) * 4 + J).Value = S1.Cells(I, J).Value   'Sheet1のI行J列めの値をSheet2の1行目、(I-1)*4+J列目に入れtル
        Next J
    Next I
End Sub

(パオ〜〜ン) 2017/06/12(月) 09:17


 データがSheet1のA1から始まって、Sheet2の一行目に出力

 Sub test()
    Dim x As String, i As Long
    With Sheets("sheet1").Range("a1").CurrentRegion
        For i = 1 To .Columns.Count
            x = x & "&" & .Columns(i).Address
        Next
        Sheets("sheet2").Cells(1).Resize(, .Rows.Count).Value = _
        Application.Transpose(.Parent.Evaluate(Mid$(x, 2)))
    End With
End Sub
(seiya) 2017/06/12(月) 10:47

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.