No.3ベストアンサー
- 回答日時:
VBAでVLOOKUPが使えます。
関数でよいのですが、あえてやれば
H1:I4に
101和室A
102和室B
201洋室S
301ホールA
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ext1
If Target.Column = 1 Then
If Target = "" Then
r = Target.Row
Cells(r, "B") = ""
Else
r = Target.Row
Cells(r, "B") = WorksheetFunction.VLookup(Target, Range("h1:i5"), 2, False)
End If
End If
ext1:
End Sub
結果
A列に入力するとして、B列に表示
A列 B列
201洋室S
301ホールA
201洋室S
311
211
Delete、オフコード値などはテスト済みですが。
ありがとうございます。
そうですか、VBAで関数を使うという手もありましたね。この方法でも試してみたいと思います。
ありがとうございました。
No.2
- 回答日時:
マクロですか・・・
関数のVLOOKUPかHLOOKUPを使う方法が良いのではないでしょうか?
(1)基本になる部屋番号・部屋名のリストを作ります。
このリストは実際に運用している表とは少し離れたところ(例えばF列に部屋番号・G列に部屋名)に作る方がよいです。
(2)部屋名を表示させたい列(B列ですね)を選択し、関数ボタンを押下。検索/行列からVLOOKUPを選択してください。
(3)検索値:検索させるデータ、つまり部屋番号を入力するA列を指定。
範囲:(1)で作っておいたリスト
列番号:(1)のリストの何列目に部屋名があるのか。今回は「2」ですね
検索の型:今回は 「0」 で良いでしょう。
こうすると、A列に部屋番号を入れたら自動的にB列に部屋名を表示するようになります。マクロの必要はないでしょう。
関数を入れてしまうと、消してしまった時に焦る人がいます(笑)
ですから、できるだけワークシート上には関数を書きたくないのです。
保護をかけると、行削除等困ることもでてきますし。
ですから入力したら「あれ?もう入ってる」と感じてもらえるようにしたかったのです。
ありがとうございました。
No.1
- 回答日時:
>部屋番号が入力(変更)されたら、マクロを実行して部屋名を自動的に入力したいのですが、どうしたらいいでしょうか?
これをわざわざマクロで?
数式だったら
=if(b1=100,"和室",if(b1=200,"リビング",""))
マクロで
Sheet module に
Private Sub Worksheet_Change(ByVal Target As Range)
With Target.Cells(1, 1)
If Intersect(.Cells, Range("b:b")) Is Nothing Then Exit Sub
Select Case .Value
Case 100
x = "和室"
Case 200
x = "リビング"
End Select
.Offset(, 1).Value = x
End With
End Sub
この回答への補足
すみません。この方法でやってみたいのですが
アクティブセルがA列にあります。
With Target.Cells(1, 1)
If Intersect(.Cells, Range("b:b")) Is Nothing Then Exit Sub
.Offset(, 1).Value = x
以上の3行を修正する必要があると思うのですが
いかがでしょうか?
Intersectがよく分からず困っています。
大変申し訳ありません。宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- その他(コンピューター・テクノロジー) デジタル化推進でうちの会社では、ペーパーレス化が進んでいます。 そこで、質問です。 会社では、検査課 3 2023/06/11 00:17
- Excel(エクセル) エクセルで30日以内に同内容の入力があったら色を付ける 2 2023/03/04 12:32
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
すべてのシートを選択してエク...
-
合計が0の行を削除
-
エクセルで時刻を自動入力する方法
-
Excelのデータが重いのはなぜで...
-
ローマ字入力で「トゥ」を入力...
-
【世界はデータで出来ている】...
-
「未使用」と「不使用」ってど...
-
Excelでエラー(#N/Aなど)値を...
-
1点の辻の字に変換したいがエク...
-
エクセルからアクセスにインポ...
-
SUM関数の範囲に#N/Aが...
-
「T」「H」「C」などだけが入力...
-
Eエクセルの計算方法で空欄を0...
-
自動改札のエラーって…
-
ExcelでVBAを使用した際に、『...
-
APEXをやっていたらこんなエラ...
-
もしセルが"#N/A"なら~をする...
-
エクセルで0.0と表示したい
-
VBAでユーザーフォームの表示を...
-
i-Padで、チルダ(~)を入力で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
すべてのシートを選択してエク...
-
エクセルで時刻を自動入力する方法
-
Excelのデータが重いのはなぜで...
-
Excel VBA 答えが0になってし...
-
EXCEL VBA 区切り位置のプログ...
-
エクセルマクロについて データ...
-
エクセル。ブック内検索で重複...
-
エクセルで30日以内に同内容の...
-
スプレッドシートで、指定した...
-
合計が0の行を削除
-
エクセルで隣のセルと同じ数字...
-
エクセルの中の漢字を一度にカ...
-
excel フレームのように一部...
-
エクセルで漢字がうまく並び替...
-
エクセルの入力 エンターキーで...
-
A列を検索し一致した行を表示。...
-
Excel2003での並べ替えについて
-
Excelユーザーフォームでのデー...
-
エクセルの既存のシートでは入...
-
エクセルで自動入力をマクロで...
おすすめ情報