- ベストアンサー
Excel VBAマクロでデータの上書転記方法について
- Excel VBAマクロを使用して、入力シートのデータを一覧表シートに転記する方法を実装しました。しかし、データを修正して一覧表シートに更新(上書転記)する方法が分かりません。ご存知の方、教えてください。
- Excel VBAマクロを使って、入力シートのデータを一覧表シートに転記する方法を実装しました。しかし、データを修正して一覧表シートに上書きする方法が分かりません。どなたかお知恵をお貸しください。
- Excel VBAマクロを使用して、入力シートのデータを一覧表シートに転記するプログラムを作成しました。しかし、データを修正して一覧表シートに上書きする方法が分かりません。どなたか解決策を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
3度書き、大変申し訳ありません。(前の回答消して欲しいっす) Sub 検索() ・・・ 略 ・・・ Range("A1") = myRng.Row End Sub Sub 登録() no = Range("A1") motoHani = Array("C4", "C10", "C12", "C13") For i = 0 To UBound(motoHani) Range("テーブル").Cells(no, i + 1) = Range(motoHani(i)).Value Next End Sub で、どうですか? ・一応検索した行数をA1セルに保存しています。 ・登録後、セルをクリアするなどはアレンジしてください ・型宣言何もしてません。 文章での説明は大変苦手です。失礼しました。
その他の回答 (2)
- taisuke555
- ベストアンサー率55% (132/236)
すいません。ボタンを押してから気が付きました。 単純に Range(motoHani(i)).Value = myRng.Offset(0, i + 1) → myRng.Offset(0, i + 1) = Range(motoHani(i)).Value を変更しただけだと、C4セルのデータが修正された時に 上書きできませんでした。 やはり、検索した時に行番号を保存しておく方法で上書きですかね。 (他に良い方法もあるかもしれませんが) 2度書きすみません。
お礼
>2度書きすみません。 いえいえ、とんでもないです。 こちらこそ、毎回の質問に回答いただき、本当にありがとうございました。 どちらに御住まいかわかりませんが、足を向けて寝られません(^_^;)
- taisuke555
- ベストアンサー率55% (132/236)
単純に上書転記なら、 検索の Range(motoHani(i)).Value = myRng.Offset(0, i + 1) → myRng.Offset(0, i + 1) = Range(motoHani(i)).Value で出来ると思いますよ。 検索時にFindで検索された行番号をどこかのセルに保存しておいて、 (変数に入れてもいいですが) 転記する時にそのセルを使用して上書きすれば検索の2度手間は省けます。 もし、キーがあるとしたら、 (例えば、このプログラムではC4セルをキーに一覧を検索してますが、 このキーが変更されたら、追加として処理し 変更されていなければ、修正として処理など) 少し面倒ですね!(詳細がわかりませんので、こちらの回答は省きます。)
お礼
前回に引き続き、ありがとうございました。
お礼
回答ありがとうございます。 出来ました。!(^^)! なんとか、私の目的の物が出来上がりそうです。 だんだん楽しくなってきました。 今回も、大変助かりました。 前回より、何度も何度もご丁寧にアドバイスいただいて、本当にありがとうございます。 お詳しくて、羨ましいです。 私も、もっと勉強しなければ・・・とつくづく感じました。 今後とも、アドバイス宜しくお願いします。 本当に本当にありがとうございました。