• ベストアンサー

エクセルの繰り返し操作についてお願いします

 お世話になっています。  下記テーブルに示しておりますように、2012.01.10の0:00の列の数値 [C3, D3, E3]をそのまま下5行分まで同じ値をペーストしておりますが、そのまま、下の各時間、0:30, 1:00, 1:30 ・・・ と、同じ数値を、各々5行分代入したいと思っています。  ただ、行数では総計7000行程ございますので、手入力(コピペ)では限界がございます。  このような、ペーストの繰り返し操作におけます、簡易な方法をご教示いただければ、幸いでございます。  それでは、よろしくお願い申し上げます。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.2

添付図参照(見づらいかも) 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 に示す。

nyan_nyanko
質問者

お礼

 ビシッきまりました。  どうもありがとうございました。  一番時間効率が高かったため、ベストアンサーとさせていただきました(その他の回答者様も大変すばらしかったのですが)。  今後とも、よろしくお願い申し上げます。

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

回答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ではシリアル値になっていますので列を選択してから表示形式を時刻などに変更してください。

nyan_nyanko
質問者

お礼

 度重なるご回答賜わりまして、厚くお礼申し上げます。  今後とも、よろしくお願い申し上げます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

シート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のデータをすべて削除してもよいでしょう。

nyan_nyanko
質問者

お礼

 ご回答いただきまして、どうもありがとうございました、  厚くお礼申し上げます。  今後とも、よろしくお願い申し上げます。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 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

nyan_nyanko
質問者

お礼

 ご回答いただきましたこと、厚くお礼申し上げます。  ですが、このVBEを実行させたところ、10分以上、何も変化せず。そのままフリーズしてしまいました。  ですが、マクロの勉強にはなりました。どうもありがとうございました。

関連するQ&A

専門家に質問してみよう