[[20160415174139]] 『入力規制で選んだものによって入力規制の内容を変』(さるさ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『入力規制で選んだものによって入力規制の内容を変えたい』(さるさ)

入力規制で選んだものによって入力規制の内容を変えたい。

マスタが以下のようにあった場合
A BL S
A BL M
A BL L
A BG O
A BG P
A BG Q
B PK S
B PK M
B PK L
B GR F
B GR G
B GR H
B GR I
C OR O
C OR P
C OR Q
C CM F
C CM G
C CM H

*入力規制は、3か所設定します。
 A1、B1、C1

たとえば、「A1の入力規制」で、出てくるのは、A、B、Cとなり、
?@Aを選んだ時には、「A2の入力規制」で、出てくるのは、BL、BGとなります。
?ABを選んだ時には、「A2の入力規制」で、出てくるのは、PK、GRとなります。
?BCを選んだ時には、「A2の入力規制」で、出てくるのは、OR、CMとなります。

次に、上の?@を選んだ場合、「A2の入力規制」でBLを選んだ時には、
「A3の入力規制」で、出てくるのは、S、M、Lが出るようにしたいです。

また、「A2の入力規制」でBGに切り替えたときは、
「A3の入力規制」で、出てくるのは、O、P、Qが出るようにしたいです。

何かいい方法があれば教えていただきたいです。
よろしくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


過去ログから
[[20130417213938]]『ドロップダウン3連続』(xxxx)

(マナ) 2016/04/15(金) 19:46


マナ様ありがとうございます。
http://www.geocities.jp/chiquilin_site/data/101109_screening3.html
を試してみましたが、その2:選択リストの作成の
入力表シートのA2:A10セルを選択した状態で
[データ]→[入力規則]

 [入力値の種類]を[リスト]
 [元の値]を「パステル,ビビッド」として[OK]
とありますが、元の値がどんどん増えていきます。(実際は500行ぐらいあります)
項目が増えていった場合も対応したいのですが、その都度追加していくのは大変なので、
[元の値]を]増えていった場合も対応できる方法はありますでしょうか?

30項目入れると入れることができません

(さるさ) 2016/04/19(火) 14:38


上の件は別のリストを別途作成するようにして何とか対応できました。

後、修正が必要なところは、対象が入力が最後の時のみしか対応しておりませんが、

最終行でないところを修正したいときはうまく動作いたしません。

何かいい方法はありますでしょうか?

(さるさ) 2016/04/19(火) 15:37


ごめんなさい。
紹介した過去ログのCodさんのマクロで解決と考えていました。
マクロでならお手伝いできるかもしれませんが、
一般機能のみだとわたしには荷が重いです。

他の方の回答をお待ち下さい。

(マナ) 2016/04/19(火) 22:27


マナさんありがとうございます。

F1セル
 =INDEX(入力表!A:A,COUNTA(入力表!A:A))
G1セル
 =INDEX(入力表!B:B,COUNTA(入力表!A:A))

のCOUNTA(入力表!A:A)のところを、J1に変更にしまして。

Sub 対象品番変更()

    Dim RowCnt, ColCnt, StartRow, StartColumn As Integer
    Dim Max_Row, Max_Column, i As Integer
    Dim LoopArea As Range
    Dim SelectArea As String
    Dim A As Variant '変数の宣言(A)

    SelectArea = Selection.Address
    RowCnt = Selection.Row 
    ColCnt = Selection.Column 

    Set LoopArea = Selection

    StartRow = LoopArea.Cells(1).Row 
    StartColumn = LoopArea.Cells(1).Column 

    Max_Row = LoopArea.Cells(LoopArea.Count).Row 
    Max_Column = LoopArea.Cells(LoopArea.Count).Column 

    Range("J1") = StartRow '行数の入力
End Sub

というマクロを組みましたらいけました。
(ただ対象のセルごとにマクロを実行する形ではありますが・・・)

(さるさ) 2016/04/22(金) 17:04


こうしたかったのでしょうか。
 1)入力表シートのシート見出しを右クリック
 2)コードの表示を選択
 3)下記のコードをコピペしてください。

 Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 1 Then Exit Sub
    Sheets("リスト").Range("J1").Value = Target.Row
 End Sub

入力表のA列を変更すると自動でリストのJ1に行番号が入ります

(マナ) 2016/04/22(金) 18:49


マナさんありがとうございます。

思い通りの動きになりました。

色々と無理言いましてすみませんでした。

マナさんすごいです!!

(さるさ) 2016/04/25(月) 18:25


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.