Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1411 / 13646 ツリー ←次へ | 前へ→

【74628】1つ上の関数をコピーしたい ちょび助 13/8/14(水) 21:13 質問[未読]
【74629】Re:1つ上の関数をコピーしたい マルチネス 13/8/15(木) 0:49 発言[未読]
【74649】Re:1つ上の関数をコピーしたい ちょび助 13/8/21(水) 19:52 回答[未読]

【74628】1つ上の関数をコピーしたい
質問  ちょび助  - 13/8/14(水) 21:13 -

引用なし
パスワード
   A列には氏名・B列にはIDを入力します。

現在29行目までデータが入力されている状態です。
30行目以降に氏名とIDが入力されたら1つ上に入力されている
C29〜HN29の関数を30行以降にコピーされるマクロを教えて
いただけますか?

名簿のため随時データが増えていきます。

よろしくお願いします。
※現在「エクセルの学校」でも質問をさせていただいています。
テーブル機能を紹介していただきましたが、この機能は不適応
でしたのでマクロで処理をしたいと思っています。

【74629】Re:1つ上の関数をコピーしたい
発言  マルチネス  - 13/8/15(木) 0:49 -

引用なし
パスワード
   あちらにもこちら(質問箱)でも質問している旨を書かれたほうがいいかと。
あと、あちらのレスで何が解決してなくてこちらにも質問したかも書かれたほうがいいかと。

【74649】Re:1つ上の関数をコピーしたい
回答  ちょび助  - 13/8/21(水) 19:52 -

引用なし
パスワード
   エクセルの学校で解決いたしました。
結果をご報告させていただきます。

《Mookさんの回答》


C 列に数式がある前提ですが、下記シートモジュールに記述です。


Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count <> 1 Then Exit Sub
  If Target.Column > 3 Or Target.Row < 30 Then Exit Sub
  Dim r As Range
  If Cells(Target.Row - 1, "C").Formula = "" Or Cells(Target.Row, "C").Formula <> "" Then Exit Sub


  Range(Cells(Target.Row - 1, "C"), Cells(Target.Row - 1, "HN")).Copy
  Range(Cells(Target.Row, "C"), Cells(Target.Row, "HN")).PasteSpecial Paste:=xlPasteFormulasAndNumberFormats


  Application.CutCopyMode = False
  Target.Activate
End Sub

1411 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free