A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
入力規則のリストに、ユーザー定義関数は使えないんじゃなかったかなーと思います。
[名前の定義]経由でも『元の値はエラーと判断されます..』状況です。
..と、思ったんですけど、シートを経由して[名前の定義]を使えば何とかなるかな..と。
でもかなりトリッキーな手法です。
1)まずテスト値をセット。
例えばレジストリの"VB and VBA Program Setting"配下にテスト値を設定します。
Sub test()
SaveSetting "MyMacro", "Main", "Data", "a,b,c"
End Sub
#後で掃除してくださいね。
2)ダミーシートを追加し、"dummy"という名前をつける。
3)標準モジュールにFunction追加。
Function GetTestData() As Range
Dim r As Range
Dim s
s = Split(GetSetting("MyMacro", "Main", "Data"), ",")
Set r = Sheets("dummy").Range("A1").Resize(, UBound(s) + 1)
r.Value = s
Set GetTestData = r
End Function
この内容は、カンマ区切り文字列のレジストリテスト値を読み込んで
Splitで分割し、"dummy"シートのA1:C1に値を書き込むというものです。
4)[名前の定義]を設定する。
名前: LIST
参照範囲: =GetTestData()
5)任意のセルに入力規則リスト設定。
元の値:= LIST
『元の値はエラーと判断されます..』メッセージが出るけど無視。
GetTestDataの戻り値をRangeにし、シートと[名前の定義]を経由する事で無理矢理設定します。
シート経由というのが引っ掛かりますが、まあ、非表示にしておくという手も。
GetTestDataの中で"dummy"シートに書きこんでますから、ワークシート関数としては使えません。
それに、入力規則リストにアクセスする度にGetTestDataが走りますから
"dummy"シートも都度書き換わります。
あまり現実的ではないような気がしますね。
#もしかしたらこんなトリッキーな方法でなくても可能なんですかね?
#ご存知の方いらっしゃるかもしれませんのでしばらく待ってみてください。
ユーザー定義関数にこだわらなくてもいい場合は
Workbook_Openイベントなどで"dummy"シートに書き出したほうが遥かにラクです。
>#後で掃除してくださいね。
の分でテストキーの削除。
Sub test2()
Dim s As String
s = GetSetting("MyMacro", "Main", "Data")
If Len(s) > 0 Then
DeleteSetting "MyMacro", "Main", "Data"
End If
End Sub
回答、有難うございます。
早速やってみましたが、シートを経由するのが、ちょっと辛いですね
せめて、「名前の定義」だけで出来れば良いのですが...
もう少し、待ってみます。
有難うございます
No.2
- 回答日時:
リストボタン(ボタンをクリックすると)を作る方法ですね!
※ 指定セル(ここでは B3)をクリックすると セルの右側にリストボタン(▼)が現れ
リストボタンをクリックすると 設定されているリスト(複数のデーター)が表示され
適応するテーターをクリックして入力する方法
この事であれば、簡単です。
添付画像を見ながら設定してください
1) リスト元(H1..H4)を入力します。
H2=空白 (空白データーは必要と思います)
H3=AAA (1個目)
H4=BBB (2個目)
H5=CCC (3個目)
2) セル B3 をクリック
3) メニューバーより データー ⇒ 入力規則 ⇒ 設定 タブ を選択
入力値の種類 ▼ をクリックして リスト を選択
元の値 枠の右側 赤い矢印をクリック
セル H2 をクリック
SHIFT キーを押しながら セル H5 をクリック
データー入力規則の窓を閉じて 「OK」 をクリック
これで設定完了
4) セル B3 をクリックして セル右側の リストボタン(▼)をクリックして
リスト表示をして 適応するリストを選択して クリック
5) 複数のセルに適応したいのであれば
複写ポインター(設定されたセルの右下の小さな○)を目的の方向へドラッグしてください
以上
回答、有難うございます
それを直接、ユーザー定義関数でやりたいのです。
つまり、VBAマクロで、
Public Function GetTestData()
:
(処理は省略)
:
End Function
と、作成したものを
メニューバーよりデータ⇒入力規則⇒設定で「入力値の種類」を「リスト」を選択して
さらに「元の値」に「=GetTestData()」とやりたいのです。
このままやると、エラーになりリストにも表示されないので、どのようなVBAマクロを作ればいいのでしょうか?
No.1
- 回答日時:
もう少し 具体的に 何がしたいのかを 教えてください
どのような 入力 規則を したいのでしょう~
VBA でプログラムすれば どんな ことでも適用できますが・・・
■質問
メニューバー から データー → 入力規則 → 入力値の種類を「ユーザー定義」二変更して
数式の枠に 入力する方法で しているのでしょうか?
ツール → マクロ → Visual Basic Editor (VBA)を選択して プログラムとして記述すれば
問題は、解決できると思います。
でも 少し勉強しないと 無理かも
どのように したいのかが 解かればアドバイスも 可能ですが・・・
VBAの詳しいことは 参考URLを見てください。
参考URL:http://excelvba.pc-users.net/index.html
回答有難うございます。
メニューバー から データー → 入力規則 → 入力値の種類を「ユーザー定義」ではなく、
メニューバー から データー → 入力規則 → 入力値の種類を「リスト」でやりたいのです。
「ユーザー定義」に記述するようなユーザー定義関数や、
セルに記述するようなユーザー定義関数は作成できるのですが、
リストの「元の値」に入力できるような関数が作れなくて、困っています。
ご存知だったら、お教えください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら…
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセルVBA ブックを閉じる前...
-
エクセルでセルのコメントが消...
-
エクセルでセルにポインタする...
-
シートを保護しても入力規則を...
-
エクセル逆三角マークで選択項...
-
【Excel】ドロップダウンリスト...
-
Excel 自動的に半角英数になり...
-
エクセルで、入力できる箇所を...
-
ドロップダウンリスト(INDIREC...
-
カンマで区切った数値をCOU...
-
エクセル 入力規則のリストボ...
-
エクセルで負数の最大値を求めたい
-
エクセルで句点「、」は打てる...
-
エクセルで、入力制限(プルダ...
-
エクセルで入力規則が崩れてし...
-
エクセルVBA ユーザーフォーム...
-
Excel VBAで入力規則リストに記...
-
ある数値が、また別の二つの数...
-
Excelでセルにデータを表示(右...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセルでセルのコメントが消...
-
エクセルVBA ブックを閉じる前...
-
エクセルでセルにポインタする...
-
シートを保護しても入力規則を...
-
【Excel】ドロップダウンリスト...
-
エクセル逆三角マークで選択項...
-
エクセル 入力規則のリストボ...
-
カンマで区切った数値をCOU...
-
エクセルVBA ユーザーフォーム...
-
エクセルで、入力できる箇所を...
-
Excelで同じセルに入力し エン...
-
エクセルで電話番号から市内局...
-
入力規則の入力時メッセージの...
-
Excel 自動的に半角英数になり...
-
エクセルで、入力制限(プルダ...
-
ドロップダウンリスト(INDIREC...
-
エクセルで負数の最大値を求めたい
-
フォーム入力で入力規則を設定...
-
エクセルで。
おすすめ情報