• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【EXCEL VBA】データの並べ替えの方法)

【EXCEL VBA】データの並べ替えの方法

このQ&Aのポイント
  • 元データが左から右へ氏名コード、日付(2011/5/1)、出社時刻、退社時刻、日付(2011/5/2)、出社時刻、退社時刻、・・・・・日付(2011/5/31)、出社時刻、退社時刻、と順に1ヶ月分入力されています。
  • このデータを一番左端に氏名コード、上から日付(2011/5/1)、出社時刻、退社時刻、行を変えて日付(2011/5/2)、出社時刻、退社時刻、・・・・・日付(2011/5/31)、出社時刻、退社時刻。(画像下)と言う形に行・列の並べ替えをしたいと考えています。
  • EXCELの機能である、「コピー→編集→形式を選択して貼り付け→行列を入れ替える」では対応できず、VBAマクロ又は関数で試みようとしましたが、こちらも対応方法が見つかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

ぺたぺたと,順繰りに貼り付けていくだけです。 sub macro1()  dim w as worksheet  dim n as long, i as long  dim h as range ’準備  set w = activesheet  n = range("A65536").end(xlup).row  worksheets.add after:=w ’転記  for i = 2 to w.range("IV2").end(xltoleft).column step 3   set h = range("A65536").end(xlup).offset(1)   w.range("A2:A" & n).copy destination:=h   w.range(w.cells(2, i), w.cells(n, i + 2)).copy destination:=h.offset(0, 1)  next i ’名前順に並べ替え  range("A1") = "unknown"  range("A:D").sort key1:=range("A1"), order1:=xlascending, header:=xlyes end sub

La_Ola_Azul
質問者

お礼

返信遅くなりまして済みません。 記述頂いた内容で無事解決しました。 ご回答頂き有難うございました。m(_ _)m