プロが教えるわが家の防犯対策術!

質問させていただきます。

Excelでドロップダウンリストに表示される文字の一文字目のみをセルに表示したいのですが何か方法はありますか?

ドロップダウンリストには
1 トマト
2 スイカ
3 リンゴ

と表示されて選択をするとセルには一文字目の数字のみが出るというような形です。

よろしくお願いいたします。

A 回答 (2件)

こんばんは!



>Excelでドロップダウンリストに表示される文字の一文字目のみ

とありますので、数値に二桁はないという前提です。
仮にA列に入力規則のリストが設定してあるとします。
Sheetモジュールです。

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Or Target.Count <> 1 Then Exit Sub
Application.EnableEvents = False
Target = Left(Target, 1)
Application.EnableEvents = True
End Sub

念のために
リスト設定するときに エラーメッセージ → 「無効なデータが入力されたら・・・」
のチェックを外しておいた方が良いかもしれません。

こんな感じではどうでしょうか?

※ リスト候補の中に二桁数値があり、その数値を表示させたい場合は
当然コードも変わってきます。m(_ _)m
    • good
    • 0
この回答へのお礼

お礼が遅くなりました申し訳ありません。
まさにこれがしたかった!という内容ぴったりでしたのでベストアンサーにさせていただきました。

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

お礼日時:2013/12/05 22:12

マクロで処理すればできます。


そのマクロは、リスト入力される列がB列として、

Private Sub Worksheet_Change(ByVal Target As Range)

Dim A,B

A = Target.Row
B = Target.Column
If B=2 And Cells(A, B).Value <>"" Then
Cells(A, B)=Left(Cells(A, B).Value,1))
End If

End Sub

リスト入力される行を制御するには、Aの値を利用して場合分けします。
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまいすいませんでした。

分かりやすい回答ありがとうございました。

参考にさせていただきました。

お礼日時:2013/12/05 22:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!