マクロについての質問です。 あるセルのドロップダウンリストで項目を選択したら 別のシートにある、その項目セルの横のセルに表記している□を■に変える マクロってありますか?
マクロについての質問です。 あるセルのドロップダウンリストで項目を選択したら 別のシートにある、その項目セルの横のセルに表記している□を■に変える マクロってありますか? 詳しい方、ご教授願います。
Visual Basic | Excel・202閲覧・50
ベストアンサー
項目選択はA1セルだけでいいのですね。 シートモジュールです。 Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range Dim buf As Variant Dim i As Integer Dim c As Variant If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub Set rng = Range(Cells(2, 4), Cells(2, Cells(2, Columns.Count).End(xlToLeft).Column)) Application.EnableEvents = False buf = Split(Target.Value, "+") For i = 0 To UBound(buf) c = Application.Match(buf(i), rng, 0) If IsError(c) = False Then Cells(2, c + 2).Value = "■" End If Next i Application.EnableEvents = True End Sub
ご回答ありがとうございます。 質問の仕方が下手過ぎて すみません。。。 実際に試させて頂いた所、思ってた事が出来て感動致しました。 ありがとうございます。 しかし、まだExcelの勉強中の身でありまして Set rng = Range(Cells(2, 4), Cells(2, Cells(2, Columns.Count).End(xlToLeft).Column)) これを含む、それ以下の内容が 理解出来ておりません。 大変恐縮ではありますが 説明を頂けないでしょうか? 申し訳ありません。。。
質問者からのお礼コメント
無事に解決する事が出来ました。 質問内容等に不備があるなか ご丁寧かつ迅速な対応をして頂きましてありがとうございました。 その他のご回答頂きました皆様も説明等不備があり 申し訳ございませんでした。 今回は、ありがとうございました。
お礼日時:5/16 10:45