業務効率化を目指し、エクセルでよく使用する文章、単語をサジェスト機能のようなもので、簡単に入力できるようにしようとしています。
VBA、マクロを使用して解決を試みておりますが、無知なもので、以下のふたつのサイト様を参考に作成させていただきました。
1.Google 検索の「サジェスト機能」を, Excel のシート上にVBAで作る (セルの内容に応じて入力規則を動的に変える方法)
http://language-and-engineering.hatenablog.jp/en …
2.エクセルでグーグルサジェストっぽい入力をする
http://suugleblog.blogspot.jp/2012/02/blog-post_ …
2.のサイト様のStep4を、以下のように変更しました。
「Private Sub Worksheet_Change(ByVal target As Range)
'辞書(住所の候補)を設定する:郵便番号データから候補表示
'DicSheetNameは辞書のシート名、
'DicRangeAddressは辞書の範囲を指定する
'
Const DicSheetName = "注釈リスト" ' ="郵便番号データ"を"注釈リスト"へ変更した
Const DicRangeAddress = "B4:B600" '="A:A"を"B4:B600"へ変更した
If target.Count > 1 Then
'選択セルが2つ以上は無効
Set target = Nothing
Exit Sub
ElseIf Application.Intersect(target, Range("B21:P21,B22:P22,B23:P23,B24:P24,B25:P25,B26:P26,B27:P27,B28:P28,B29:P29,B30:P30,B31:P31,B32:P32,B33:P33,B34:P34,B35:P35,B36:P36,B37:P37,B38:P38,B39:P39")) Is Nothing Then '("A4")を("B21:P21~B39:P39")へ変更
'※入力セル以外の変更では無効(targetと共有するセル範囲がない)
Exit Sub
Else
'入力されたアドレスが住所入力のアドレスの場合に候補を表示
Call 入力候補表示(DicSheetName, DicRangeAddress, target)
End If
End Sub」
添付画像B22:P22に「重」と打つと、サジェスト機能の様に、入力候補が出てくるようにすることができました。
この操作を行いたい行がB21:P21からB39:P39まではこの機能が適用されるようにすることができましたが、範囲をB79:P79まで増やすと、反映されなくなってしまいました。
フォーマットは変更することができないため(行数を減らすなど)、VBA、マクロでどうにか解決したく、試行錯誤を繰り返しておりますが、私の知識、力ではどうにもうまくいきません。
どのようにすれば解決できるでしょうか。
皆様お力をお貸しいただきたいです。宜しくお願いいたします。反
No.1ベストアンサー
- 回答日時:
試したわけではないのですが、範囲をダラダラ書き込んだため命令文が文字数オーバーしたのでは?
「ElseIf Application.Intersect(Target, Range("B21:P79")) Is Nothing Then」のようにすればよいのでは?
お礼が遅くなり申し訳ございません。
アドバイス頂いたように ("B21:P79") と入力し直すと、解決できました。
複数のセルを結合したものが何行もあるので、この方法はできないと勝手に思い込み、
試しておりませんでした。
助かりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのイベントプロシージャーでF列の最終行のセルの入力をトリガーにしたいのですが 1 2022/10/14 09:36
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
Excelの入力規則のリストの文字...
-
エクセル逆三角マークで選択項...
-
【Excel】ドロップダウンリスト...
-
エクセルの入力規則で作ったリ...
-
excelの入力規則リストで重複不...
-
エクセルVBA ユーザーフォーム...
-
エクセルVBA ブックを閉じる前...
-
エクセルの入力規則で「空白を...
-
Google Spreadsheetについて
-
エクセルで、セルをクリックす...
-
エクセルでセルのコメントが消...
-
エクセル 入力規則のリストボ...
-
Excel 自動的に半角英数になり...
-
円の面積の求め方
-
Excelの入力規則について
-
入力規則をブック全体にかける...
-
ドロップダウンリスト(INDIREC...
-
エクセルで日付が入力されたセ...
-
初期値をIF文で設定した後入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセル逆三角マークで選択項...
-
エクセルでセルにポインタする...
-
シートを保護しても入力規則を...
-
エクセルVBA ブックを閉じる前...
-
エクセル 入力規則のリストボ...
-
【Excel】ドロップダウンリスト...
-
エクセルでセルのコメントが消...
-
Excel 自動的に半角英数になり...
-
エクセルの入力規則で作ったリ...
-
入力規則の入力時メッセージの...
-
Excelでセルに名前を定義したい...
-
エクセルで、入力できる箇所を...
-
ドロップダウンリスト(INDIREC...
-
入力規則をブック全体にかける...
-
エクセルで電話番号から市内局...
-
エクセルVBA ユーザーフォーム...
-
EXCEL:入力規則の「リスト」は...
-
Excelで同じセルに入力し エン...
-
エクセルで、セルをクリックす...
おすすめ情報