|
■No97084 (工場プログラマー さん) に返信
> Sheet3 の A1セル … Sheet1!A1
> Sheet3 の A2セル … Sheet2!A1
こっちだと管理しにくいので
> 本当は列参照で
> Sheet3 の 1列目 … Sheet1の1列目
> Sheet3 の 2列目 … Sheet2の1列目
> Sheet3 の 3列目 … Sheet1の2列目
> Sheet3 の 4列目 … Sheet2の2列目
の方が楽かな。
Dim colMax1 As Long, colMax2 As Long
colMax1 = Sheet1.UsedRange.Columns.Count
colMax2 = Sheet2.UsedRange.Columns.Count
Dim col1 As Long, col2 As Long, col3 As Long
col1 = 1
col2 = 1
col3 = 1
Sheet3.Cells.Clear
While col1 <= colMax1 And col2 <= colMax2
If col1 <= colMax1 Then
Sheet1.Columns(col1).Copy Sheet3.Columns(col3)
col1 = col1 + 1
col3 = col3 + 1
End If
If col2 <= colMax2 Then
Sheet2.Columns(col2).Copy Sheet3.Columns(col3)
col2 = col2 + 1
col3 = col3 + 1
End If
Wend
でもって、
Sheet1の1列目
Sheet1の2列目
Sheet1の3列目
:
Sheet2の1列目
Sheet2の2列目
Sheet3の3列目
:
の形式だともっと楽
Sheet3.Cells.Clear
Sheet1.UsedRange.Copy Sheet3.Range("A1")
Sheet2.UsedRange.Copy Sheet3.Cells(1, 1 + Sheet1.UsedRange.Columns.Count)
|