
Excel vbaについて知恵もしくは、コード教えて下さいm(__)m
① 表にあるデータをコピー、隣シートのセル入力の最終行下へ貼り付け。ここまではマクロが出来ているのですが、表にあるデータから隣のシートへコピペする際に、同じものがないかを調べた上で貼り付けを行いたいのですが(同じものがあった場合はペーストしない)、どのような方法がありますか?
一度貼り付けを行って、その後に重複削除する方法しかないですか?
②G列の4行目〜セルに値が入ったら、エンター後、Worksheet_Changeが起動し、その行にそれぞれ値が入るようになっています。
やりたい事は、G列 4行目セルに値が入ったら、3つ先下の何も入ってないセルに移動したい。(繰り返し行いたい)
どのようなコードを書けばよろしいのでしょうか、、?
ご教授のほどよろしくお願いします。
No.2ベストアンサー
- 回答日時:
こんにちは
>① 同じものがないかを調べた上で貼り付けを行いたいのですが~
「同じ値」があるかをチェックしたいのでしょうか?
複数のセル範囲の値なのか、単体セルの値なのかもよくわかりませんが・・
例えば、「ある値と同じ値が、あるセル範囲にあるかどうか」を調べたければ、対象範囲のセルをFor Eachなどでループして、同じ値かどうかをチェックすれば良いのでは?
ループなどしなくても存在チェックだけなら、 調査範囲.Find チェック値 で該当するセルが返されるかどうかでもチェック可能と思います。
If Not (調査範囲.Find チェック値) Is Nothing Then ~~
また、WorksheetFunction の Countif を利用することでもチェック可能と思われます。
>②G列 4行目セルに値が入ったら、3つ先下の何も入ってないセル
> に移動したい。(繰り返し行いたい)
3つ下のセルに値が入っていたらどうするのか不明ですが・・
G4セル固定の処理なら、「3つ下」はG7セルなので、
If IsEmpty(Range("G7")) Then Range("G7").Value = Range("G4").Value
などとしておくとか。
一般化したいのなら、Changeイベントの場合は、Targetに対象セルが取得できていると思いますので、「3つ下」のセルは、Target.Offset(3) とすることで指定可能です。
※ セルの値を変更する場合は、処理中にイベントが再発生しないように、イベント処理を一時停止しておく必要があるでしょう。
No.1
- 回答日時:
(´・ω・`)
処理が重くなるから、普通に貼り付けた後
「重複の削除」
で良いんじゃないかな。
VBAでどうやるか分からなければ、
リボンの「データ」の「データツール」に「重複の削除」があるので
「マクロの記録」
を使って挙動を記録して確認しましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Countifよりも早く重複数をカウントする方法ありますか?
Excel(エクセル)
-
Excel VBA 大量のレコードからある列の重複数をカウントする方法?拡張編
Visual Basic(VBA)
-
VBAでのフルパスの取得
Visual Basic(VBA)
-
4
初めてマクロを入力しますが、テキストとおりに入力したのに構文エラーです。修正を教えてください。
Visual Basic(VBA)
-
5
【ご教示ください】VBAの記述方法がわかりません。
Visual Basic(VBA)
-
6
【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。
Visual Basic(VBA)
-
7
エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい
Visual Basic(VBA)
-
8
以前シートを集めて1シートへ繋げる下記コードをご教授いただき作成しました。 今回すでに集めてある「ま
Visual Basic(VBA)
-
9
マクロのコードを、少しでも削って短くしたい
Excel(エクセル)
-
10
データのある範囲を選択するVBAについて
Visual Basic(VBA)
-
11
複数セルに〇印をつけるマクロ
Visual Basic(VBA)
-
12
ExcelのVBAでシフト表を作っていますが、バグが出て困っています
Visual Basic(VBA)
-
13
マクロを簡潔にしたい
Excel(エクセル)
-
14
【至急】 当方初心者です。 マクロについて知恵をお貸しください。 ★したい動作 ①リストE列2行目か
Visual Basic(VBA)
-
15
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
16
ExcelVBA 日付変更
Visual Basic(VBA)
-
17
Excel VBAでAA(BBB) → BBB.AA に置換したい
Visual Basic(VBA)
-
18
vbaの計算 if elseと範囲について
Visual Basic(VBA)
-
19
この関数と同じ処理をVBAで行うにはどうしたら良いでしょうか? これは、1列の中に同じ値が複数存在し
Visual Basic(VBA)
-
20
フレーム内のオプションボタンの選択結果をセルに書き出したい。 図のような預金種目というフレームにオプ
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
【Excel VBA】指定行以降をクリ...
-
5
EXCELで変数をペーストしたい
-
6
特定のセルが空白だったら、そ...
-
7
Excel VBA、 別ブックの最終行...
-
8
screenupdatingが機能しなくて...
-
9
DataGridViewの各セル幅を自由...
-
10
ExcelVBAで、選択範囲内で同じ...
-
11
B列に特定の文字列が入っている...
-
12
vbsのセル値の取得について
-
13
Google Apps Script:Googleスプ...
-
14
EXCELのVBA-フィルタ抽出後の...
-
15
VBAでセルに値が入ったときにイ...
-
16
セルの結果でマクロ実行
-
17
DataGridViewでコードで値を入...
-
18
Excel vbaで特定の文字以外が入...
-
19
CountIf で","(カンマ)の数が...
-
20
VBA 重複文字列 色付け
おすすめ情報
公式facebook
公式twitter