皆さんこんにちは。
エクセル2002で、セルA1にリストで1と2を選べるようにしたとします。このとき1を選んだら、セルA2にはリストで「あ、い、う」が選べ、2を選んだらセルA2にはリストで「か、き、く」が選べるようには出来ませんか?
VBAを使った物でもかまいませんが、なるべくシンプルに考えたいです。
もし、出来ないのであれば、どんなアプリを使えば簡単に作れるのでしょうか?VBなら少しは使えますが、今後はアクセスなんかも使えるようにしたいと思っていますので、エクセルでは不可能ならそちらで使えるかでも教えてください。
宜しく御願いします。
No.4
- 回答日時:
(1)コントロールツールボックスのリストボックスをワークシートSheet1に2つ貼りつけます。
適当な大きさにします。(2)ワークシートのSheet1のE1:I3に(じつはどこでも良いが下記コードが多少変る。別シートでも可能。)
大阪府大阪市堺市99
京都県京都市長岡京市亀岡市99
奈良県奈良市生駒市99
99は終りを示すために入れた符牒です。
(3)ListBox1のプロパテイを開き、ListFillRangeに
E1:E3(大阪府、京都府、奈良県のあるセル)を入れる。
ListBox1に大阪府、京都府、奈良県が出る用意が出来たわけです。(プログラムででも出来ます。)
(4)それぞれのリストボックスをダブルクリックして出てくるVBE画面に
Private Sub ListBox1_Click()
Sub End
Private Sub ListBox2_Click()
Sub End
の中間に、下記コードの中身部分をコピーし貼りつけ下記のようにする。
Private Sub ListBox1_Click()
n = ListBox1.ListIndex
ListBox2.Visible = True
ListBox2.Clear
For i = 6 To 10 'F列より右
If Cells(n + 1, i) = 99 Then Exit For
ListBox2.AddItem Cells(n + 1, i)
Next i
End Sub
Private Sub ListBox2_Click()
ActiveCell = ListBox2.List(ListBox2.ListIndex)
ListBox2.Visible = False
End Sub
VBE画面で、デザインモードを解除して、ワークシートに戻る。
(5)利用方法は
データをセットしたいセル(例えばA3)を一旦クリックしておいて、例えばListBox1の奈良県をクリックすると、ListBox2が現れて、奈良市、生駒市が出てくるから、例えば生駒市をクリックすると、A3に生駒市がセットされ、ListBox2が消えます。
No.3
- 回答日時:
No.1
- 回答日時:
こんにちは、Takayukiです。
以下は、自分が実際に使用しているマクロです。
ほとんどマクロ記録のままといえるようなものですが、参考になれば幸いです。
なお、複数のリスト範囲に名前を付けて入力されたセルの内容を読み出し、切り替えています。
動作はかなり高速ですので違和感はないと思います。
[ syokubamei ]=リスト範囲の名前となります。
ご参考までに・・・
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'
'工程名設定
'変数宣言
Dim INP_NO, INP_LI As Integer
Dim syokubamei As String
'入力位置
INP_NO = Target.Row '入力された行
INP_LI = Target.Column '入力された列
M_TOP = 5 '入力範囲TOP
M_END = 104 '入力範囲END
'処理範囲
If INP_NO < M_TOP Or INP_NO > M_END Then
Exit Sub '入力範囲以外は処理しない
End If
If INP_LI <> 3 Then
Exit Sub '入力範囲以外は処理しない
End If
'変数設定
On Error GoTo END_PRO:
syokubamei = Target.Value '入力内容
'工程名設定
Cells(INP_NO, INP_LI + 1).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=" + syokubamei
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = True
End With
END_PRO:
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセルVBA ブックを閉じる前...
-
エクセルでセルのコメントが消...
-
カンマで区切った数値をCOU...
-
エクセルで、入力制限(プルダ...
-
エクセルでセルにポインタする...
-
エクセル逆三角マークで選択項...
-
【Excel】ドロップダウンリスト...
-
エクセル 入力規則のリストボ...
-
エクセルVBA ユーザーフォーム...
-
シートを保護しても入力規則を...
-
エクセルで。
-
入力規則の入力時メッセージの...
-
エクセルで電話番号から市内局...
-
Excelで同じセルに入力し エン...
-
Excel 自動的に半角英数になり...
-
エクセルで負数の最大値を求めたい
-
エクセルでメールアドレス入力...
-
エクセル転記マクロ
-
フォーム入力で入力規則を設定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセルでセルにポインタする...
-
エクセルVBA ブックを閉じる前...
-
エクセルでセルのコメントが消...
-
エクセル逆三角マークで選択項...
-
シートを保護しても入力規則を...
-
カンマで区切った数値をCOU...
-
エクセルで、入力できる箇所を...
-
エクセルVBA ユーザーフォーム...
-
【Excel】ドロップダウンリスト...
-
入力規則の入力時メッセージの...
-
エクセルで電話番号から市内局...
-
エクセルで。
-
エクセル 入力規則のリストボ...
-
エクセルで、入力制限(プルダ...
-
Excelでセルに名前を定義したい...
-
エクセルで負数の最大値を求めたい
-
入力規則をブック全体にかける...
-
エクセルの入力規則で作ったリ...
-
ドロップダウンリスト(INDIREC...
おすすめ情報