プロが教えるわが家の防犯対策術!

マクロVBAについて質問です!
C2に文字が入力された時に、A2B2にA1B1にかかれた物を自動入力されていくような物が作りたいです。
また、A3B3に別の物が書かれたら、A4B4にはそれが自動入力されようにしたいです!
ついでにD2には、入力された日時が自動で着くようにしたいです。

質問者からの補足コメント

  • 関数使って手作業でやった方がいい場合、具体的な方法をご教授ください>_<

      補足日時:2021/11/16 21:28
  • 例として具体的なセルの場所を言いましたが、Cの列に連続して入力していくと、AB D にどんどん自動で情報が入力されていくイメージです。

      補足日時:2021/11/16 22:08

A 回答 (3件)

こんにちは、


>作りたいです。
これを信じて回答します。
やりたい事を聞いても方法は沢山ありますよね。
作りたい人は、初めからやりたい事だけでを聞くのは、どうでしょう?

作る人は、基礎的な学習、視野の広い発想やアイディア、テスト、検証を惜しまない好奇心などなど、必要になると思います。

先ずは、先人の知恵をお借りする為にも自身で調べましょう。

>C2に文字が入力された時に、A2B2にA1B1にかかれた物を自動入力されていく
検索してみましょう (検索キーワード作成もスキルが必要かも)
検索キーワード: VBA セルに入力 自動
沢山出て来ます。最低でも3つくらいの記事は読む方が良いでしょう
見るとどうやら 
Private Sub Worksheet_Change(ByVal Target As Range)
を使うようです。
Worksheet_Changeをさらに調べると対象のシートモジュールに書く事や
書かれたシートのすべてのセルを変更すると実行される事が分かります。
すべてのセルでは困りますね。

先の検索に出てきた見出しに 特定のセル のキーワドがあるものを
更に読むと If Intersect(Target, Range("XXX")) Is Nothing Then
のようなコードサンプルが複数見つかります。
どうやら、If Intersect を使うと変更されたセルを分岐(実行する、しない)出来るようです。

では、VBA Intersect で検索して出て来る記事を読んでみましょう。
使い方、書き方、など理解できると思います。
この時、出来れば実際に試しながら読み進めると理解し易いと思います。
テストコードの例
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("C")) Is Nothing Then
MsgBox "Executed !"
End If
End Sub
C列で実行される

どうでしょう、ある程度ご自身で理解、作成できるのではないでしょうか?
このような過程で分からない所、エラーが出て解消できないなど
をご質問されるのが良いと思いますよ
    • good
    • 0

Ctrl+D で上のセルの値を複製します。


Ctrl+; で日付を入力できます。

…‥‥なんてこった。マクロ作るより早く解決できるぜ。
    • good
    • 0

その内容だったら、手作業で作業した方が早いです。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!