• ベストアンサー

マクロを使った貼り付けの自動改行

みなさま宜しくお願いしますm(__)m 1行目のABCDEは時間を入力する欄で、1行目のGHIには数式が 入力されて求めたい値が表示されています。 1行目J辺りにボタンを作ってマクロを登録し、このボタンを押すと 5行目に数式で求めた値だけを貼り付けるようにしました。 1行目のABCDEに違う時間を入力してボタンを押すと、次は6行目 その次は7行目と貼り付けていく様にしたいのですが、どの様な方法を 使えば良いかご指導お願い致します。

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

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.1

こんばんは。 >1行目J辺りにボタンを作ってマクロを登録しこのボタンを押すと >5行目に数式で求めた値だけを貼り付けるようにしました。 5行目のどのセルに貼り付けるのでしょうか? 以下のサンプルは5行目のA、B,C列に貼り付けるようにしてます。 サンプルの内容を現在のコードと入れ替えてください。 '-----------------------------------------------------  Private Sub CommandButton1_Click()  Dim LastRow As Long  LastRow = Range("A65536").End(xlUp).Row  If LastRow < 5 Then    LastRow = 4  End If  Range("G1:I1").Copy  Cells(LastRow + 1, "A").PasteSpecial Paste:=xlValues  Cells(LastRow + 1, "A").Resize(, 3).NumberFormatLocal = "h:mm"  Application.CutCopyMode = False  Cells(LastRow + 2, "A").Select  '● End Sub '---------------------------------------------------------- 尚、4行目に「見出し」があれば、   If LastRow < 5 Then     LastRow = 4   End If この3行は不要です。 それから●のコードがある場合とない場合でどう違うか試してください。 以上です。  

nomark
質問者

お礼

大変お礼が遅くなってしまい申し訳ありませんでした。 自分なりに色々調べて、教えて頂いたものを理解していました^^; 頂いたサンプルは希望通りの動作で'●の違いまで付けて頂き感謝です。 ("A65536")がどの位置を指すのか???ですが、もぉ少し調べてみます。 また困った時にはご指導お願い致します。ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

A1,B1,C1に値が荒れられる。 G1に計算された値が入る。 その都度、ボタンをクリック Private Sub CommandButton1_Click() Static i i = i + 1 Cells(i, "B").Offset(5, 0) = Cells(1, "G") End Sub でB5から順に値が累積される。 H,I分は略。 リセットは VBE画面で、実行ーリセット これで何か欠点がないか自信ないが。

nomark
質問者

お礼

ご指導ありがとうございました。 お礼が非常に遅くなり申し訳ありませんm(__)m 他の方に教えて頂いたものと動作の違いを比較しながら 自分なりに納得できました。 また困った時にご指導して頂ければ幸いです。 ほんとうにありがとうございました。

  • Ce_faci
  • ベストアンサー率36% (46/127)
回答No.2

こんばんわ 5行目のA列~C列に貼り付けるものとして、6行目からは r=cells(5,1).currentregion.rows.count+4 Range(cells(1, 7), cells(1, 9)).copy destination := cells(r+1,1) になると思います。

nomark
質問者

お礼

ご指導ありがとうございました。 教えて頂いたものを参考に色々と試してみました^^ これからしっかり勉強して行きたいと思いますので 困った時はまたご指導下さいます様お願い致します。

関連するQ&A