- ベストアンサー
エクセルで項目を挿入する方法
- エクセルで項目を挿入する方法について教えてください。
- 一覧表において、2行ごとに項目を挿入したいです。
- 項目を一気に挿入するための簡単な方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
項目がA1から始まっていると仮定して まず新しいシートを用意してください。 新しいシート名の上で右クリック→コードの表示を選択 VBE画面が出てきますので以下のコードを右側の白い部分に貼り付けて下さい。 Private Sub Worksheet_Activate() Cells.Clear Set ws01 = Sheets("sheet1") ←ここを修正 myRow = ws01.Cells(Rows.Count, 1).End(xlUp).Row COUNTER = 3 For i = 3 To myRow ws01.Rows(i).Copy Destination:=Rows(COUNTER) ws01.Rows("1:2").Copy Destination:=Rows(COUNTER - 2) COUNTER = COUNTER + 3 Next End Sub データの入力されているシート名に修正してください。 一度別のシートを開いてから新しいシートを開いてください。 項目を挿入したデータが作成されるはずです。
その他の回答 (1)
- KURUMITO
- ベストアンサー率42% (1835/4283)
関数を使う方法ですが最後に行うセルの結合はコピー操作が必要となります。 元のデータがシート1にあり、1行目と2行目に項目名がE列まであるとします。各人のデータは下方に1行ずつ入力されているとします。 シート2にお求めの表を表示させるとしてシート2のA1セルには次の式を入力してE1セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROW(A1)>(COUNTA(Sheet1!$A:$A)-1)*3,"",IF(MOD(ROW(A1),3)=1,INDEX(Sheet1!$1:$1,COLUMN(A1)),IF(MOD(ROW(A1),3)=0,IF(INDEX(Sheet1!$A:$E,ROW(A1)/3+2,COLUMN(A1))=0,"",INDEX(Sheet1!$A:$E,ROW(A1)/3+2,COLUMN(A1))),""))) 最後にA1セルとA2セルを結合・・・・E1セルとE2セルを結合します。 その後にA1セルからE3セルまでを範囲として選択したのちに右下隅のフィルハンドルを使って下方にドラッグします。 この操作によって項目だけが結合セルの状態になって表は完成します。
お礼
ご丁寧にお答えくださいまして、ありがとうございました。 おかげさまで関数を使用する方法でも、簡単に思い通りの形にすることができました。 たくさんの関数を使いこなせたら、まだまだ時間短縮できる事務処理がありそうです。(^^): 関数に関しましても、知識がありませんので、 また質問させていただく際は、よろしくお願いいたします。
お礼
ご丁寧にお答えくださいまして、ありがとうございました。 回答していただきましたとおりに実行しましたら、いとも簡単に思い通りの結果となりました。 作業時間が短縮され、本当に助かりました。 VBEの知識がありませんので、徐々に勉強していきたいです。 また質問させていただく際は、よろしくお願いいたします。