• 締切済み

データ抽出方法

教えて下さい。 エクセルオートフィルターのような抽出がしたいです。   A B C 1  01  営業  小川 2  01  営業  大川 3 02  事務  浜田 4 02  事務  松本 5 01  営業  山本 上記の中から抽出したいのですが セルに01と入力したら隣に営業と自動で出てきて、 さらに、小川・大川・山本とフィルターのようなかんじで出てきてほしいのですが・・・。エクセルで出来るのでしょうか?教えてください。

みんなの回答

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

E列の何処に入力しても可 設定方法 シートタブを右クリック コードの表示を選択 出てきた、ワークシートモジュールにコピペ 注意は同じシートに#1で提示したコードと今回のコードは同時に設定できないので 設定したもの以外は削除してね Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long If Intersect(Target, Range("e:e")) Is Nothing Then Exit Sub Target.Offset(, 1).Resize(1, 2).ClearContents For i = 1 To Range("a65536").End(xlUp).Row If Cells(i, 1).Value = Target.Value And Target.Offset(, 2).Value = "" Then Target.Offset(, 1).Value = Cells(i, 2).Value Target.Offset(, 2).Value = Cells(i, 3).Value ElseIf Cells(i, 1).Value = Target.Value Then Target.Offset(, 1).Value = Cells(i, 2).Value Target.Offset(, 2).Value = Target.Offset(, 2).Value & "・" & Cells(i, 3).Value End If Next i End Sub

159159
質問者

補足

ありがとうございます。 試してみました。そしたら、End Subのエラーがでました。 Private Sub が黄色く反転しました。 なぜなのか解りません。

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

出来ますけど >セルに01と入力したら隣に営業と・・・ 入力は何処に? >エクセルオートフィルターのような抽出がしたいです。 なら、オートフィルターでやればいいのに、必要性が分らん と、詳細が良く分りませんので適当に '対象ワークシートへ Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long If Intersect(Target, Range("e1")) Is Nothing Then Exit Sub Range("f1:g1").ClearContents For i = 1 To Range("a65536").End(xlUp).Row If Cells(i, 1).Value = Target.Value And Cells(1, 6).Value = "" Then Cells(1, 6).Value = Cells(i, 2).Value Cells(1, 7).Value = Cells(i, 3).Value ElseIf Cells(i, 1).Value = Target.Value Then Cells(1, 6).Value = Cells(i, 2).Value Cells(1, 7).Value = Cells(1, 7).Value & "・" & Cells(i, 3).Value End If Next i End Sub セルE1へ入力してみてください 修正はご自分で! マクロの回答が希望でない、マクロが分らないのであれば この回答は無視してください

159159
質問者

お礼

すみません、説明不足で。 01と入力するセルは特に決めていませんでしたが、決めないとマクロが くめないんですよね? でもありがとうございます。やってみます。

関連するQ&A