- ベストアンサー
エクセルの繰り返し操作についてお願いします
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
添付図参照(見づらいかも) 1.セル C3 を選択 2.[名前ボックス]に E7004 と入力 ただし、Enterキーはまだ押さないで、その入力した E7004 の右端でカーソルが点滅している状態を保っておくこと。 この時点の状態図を Fig-1 に示す。 3.左手で Shiftキーを抑えたままで、右手で Enterキーをパシーッ この時点の状態を添付図の Fig-2 に示す。 4.[編集]→[ジャンプ]→[セル選択]を実行 5.“空白セル”に目玉を入れて、Enterキーを「エイヤッ!」と叩き付け この時点の状態を添付図の Fig-3 に示す。 6.キーボードで =C3 と入力 ただし、Enterキーはまだ押さない。 この時点の状態を添付図の Fig-4 に示す。 7.左手で Ctrlキーを抑えたままで、右手で Enterキーをパシーッ この時点の状態を添付図の Fig-5 に示す。
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No3です。繰り返しになるのはC、D、E列のみでしたね。シート2のA3セルに入力する式が間違っていました。次の式にしてください。 =IF(MOD(ROW(A1),6)=1,INDEX(Sheet1!$A:$E,ROW(A1)+2,COLUMN(A1)),IF(COLUMN(A1)<=2,"",A2)) その他の操作はNo3と同じにします。なお、B列は時間になっているとのことですがシート2ではシリアル値になっていますので列を選択してから表示形式を時刻などに変更してください。
お礼
度重なるご回答賜わりまして、厚くお礼申し上げます。 今後とも、よろしくお願い申し上げます。
- KURUMITO
- ベストアンサー率42% (1835/4283)
シート1の3行目以降にお示しのデータが有るとして、シート2のA3セルには次の式を入力してE3セルまでドラッグコピーします。 =IF(MOD(ROW(A1),6)=1,INDEX(Sheet1!$A:$E,ROW(A1)+2,COLUMN(A1)),A2) 次にシート2のA3セルからE3セルまでを選択して「コピー」し、その後に名前ボックスがA3となっているところをA3:E7000と書き換えます。Enterキーを押すことでそれらの範囲が選択状態になりますので「貼り付け」を行います。その後にEscキーを押します。これでシート2にはお望みの表が完成しますね。 シート2をすべて選択してコピーし、シート1のA1セルを選択してから「形式を選択して貼り付け」で「値」にチェックをして貼り付けた後でシート2のデータをすべて削除してもよいでしょう。
お礼
ご回答いただきまして、どうもありがとうございました、 厚くお礼申し上げます。 今後とも、よろしくお願い申し上げます。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! VBAになってしまいますが、一例です。 元データは↓の画像のようになっていて、データは3行目以降にあるという前提です。 (行挿入 → コピー&ペースト)といった手順にしています。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i As Long, k As Long For i = Cells(Rows.Count, 1).End(xlUp).Row To 3 Step -1 Rows(i + 1 & ":" & i + 5).Insert For k = i + 1 To i + 5 Range(Cells(i, 3), Cells(i, 5)).Copy Destination:=Cells(k, 3) Next k Next i End Sub 'この行まで ※ 一旦マクロを実行すると元に戻せませんので、別Sheetでマクロを試してみてください。 m(_ _)m
お礼
ご回答いただきましたこと、厚くお礼申し上げます。 ですが、このVBEを実行させたところ、10分以上、何も変化せず。そのままフリーズしてしまいました。 ですが、マクロの勉強にはなりました。どうもありがとうございました。
お礼
ビシッきまりました。 どうもありがとうございました。 一番時間効率が高かったため、ベストアンサーとさせていただきました(その他の回答者様も大変すばらしかったのですが)。 今後とも、よろしくお願い申し上げます。