Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


58 / 13155 ツリー ←次へ | 前へ→

【79766】縦に長いデータにしたい はやしはる 18/4/5(木) 23:16 質問[未読]

【79768】Re:縦に長いデータにしたい マナ 18/4/6(金) 19:33 発言[未読]

【79768】Re:縦に長いデータにしたい
発言  マナ  - 18/4/6(金) 19:33 -

引用なし
パスワード
   ▼はやしはる さん:

データ範囲を変数に取り込んで、そこから1列ずつ、とりだして
順番に転記していくと考えれば、こんな感じになります。

作業通りにコードを記述すれば出来上がるので簡単です。


Option Explicit

Sub test()
  Dim tbl As Range
  Dim n As Long
  Dim k As Long
  Dim dst As Range
  
  Set tbl = Range("a1").CurrentRegion
  Set tbl = Intersect(tbl, tbl.Offset(1))
  n = tbl.Rows.Count
  
  Worksheets.Add
  
  Range("a1:c1").Value = Array("出席番号", "科目", "得点")
  
  For k = 2 To 5
    Set dst = Range("a" & Rows.Count).End(xlUp).Offset(1).Resize(n)
    dst.Value = tbl.Columns(1).Value
    dst.Offset(, 1).Value = tbl.Columns(k).Cells(0).Value
    dst.Offset(, 2).Value = tbl.Columns(k).Value
  Next

End Sub

58 / 13155 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free