こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

マクロについて質問です。

A B C  
1 3 りんご
2  赤
3 くだもの
4 6 みかん
5 オレンジ
6 くだもの
7 9 ぶどう
8  紫
9 くだもの
というデータがシート1にあったとして、シート2のa2セルに6と入力すると以下のようにa5セル以降に抽出し、6という入力を消すと抽出したものも消えるようなマクロを教えていただきたいです。どうかよろしくお願いします。
6 みかん
 オレンジ
 くだもの

投稿日時 - 2014-10-01 00:07:56

QNo.8774562

すぐに回答ほしいです

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

No.1です。

>コピペしてa2に入力してもうごきません。なぜかわかりますか。
ん~~~
考えられる原因としては、Sheet2のシートモジュールになっているのか?
というコトです。

↓の画像の左側のようにSheet1のA~C列に元データがあるとします。

前回の説明以外にコードをコピー&ペーストする方法です。
Alt+F11キー → 画像の右側のような画面になりますので、
「Sheet2」のところでダブルクリック → 右側の白い部分でカーソルが点滅していますので、
前回の
Sub ・・・から End Sub まですべてをドラッグ&コピーして
カーソルが点滅しているところに貼りつけてください。

その後
(1)画面右上の「閉じる」ボタンでVBE画面を閉じる
(2)画面左上にある「Excel」のアイコンをクリック
(3)もう一度Alt+F11キーを押下

上記のどの方法でも良いので操作してください。
Excel画面に戻りますので、Sheet2のA2セルにデータを入力します。

パッ!と思いつくといえばこの程度です。m(_ _)m

投稿日時 - 2014-10-01 16:03:53

お礼

できました。ありがとうございます。

投稿日時 - 2014-10-01 17:44:48

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

#1さんへの補足です。

VBEの左部の該当シート名(Sheet1ならSheet1(Sheet1))をクリックし、そこに貼り付けてみてください。

投稿日時 - 2014-10-01 14:32:53

ANo.1

こんばんは!
Sheet2のA2セルに入力するデータはSheet1のB列にあり、
C列項目は3行ずつで1セットとします。

画面左下のSheet2のSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペースト → Excel画面に戻り、A2セルにデータを入力してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
Dim c As Range, wS As Worksheet
Set wS = Worksheets("Sheet1")
With Target
If .Address = "$A$2" Then
If .Value <> "" Then
Set c = wS.Range("B:B").Find(what:=.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
c.Offset(, 1).Resize(3).Copy Range("A5")
Else
MsgBox "該当データなし"
End If
Else
Range("A5").Resize(3).ClearContents
End If
End If
End With
End Sub 'この行まで

こんなんではどうでしょうか?m(_ _)m

投稿日時 - 2014-10-01 00:48:17

補足

回答ありがとうございます。コピペしてa2に入力してもうごきません。なぜかわかりますか。

投稿日時 - 2014-10-01 10:55:14

あなたにオススメの質問