アプリ版:「スタンプのみでお礼する」機能のリリースについて

空白のセルを変更しようとした時(アクティブセル)に
インプットボックスを5回出す
インプットボックスには部品の名前を入力してもらい
1回目の入力だけはアクティブセルに表示し
1〜5回目は入力規則のリスト表示内に出力したいのですが


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim a As Variant
Dim b As Variant
Dim c As Variant
Dim d As Variant
Dim e As Variant

Dim buf As Variant
buf = a & "," & b & "," & c & "," & d & "," & e

If Not Intersect (Target. Range("H3:H1000")) Is NothingThen

If ActiveCell.Value = "" Then
a = inputbox("部品名を入カしてください”)
For i = 1 To Windows .Count
windows (i) .ActiveCell.Value = a
Next i

b = inputbox ("部品名を入力してください”)
For i = 1 To Windows.Count
Next i

With ActiveCell.Validation
.Delete
.Add TypetexIValidateList. Formulal:=buf
End With

End If
End If
End Sub

だとインプットボックスで入力しても
リスト内容が空白になってしまい動作がうまく出来ず困っています
どなたか教えて頂けないでしょうか
よろしくお願いします。
説明が足らなかったら申し訳ありません

A 回答 (1件)

こんにちは


buf = a & "," & b & "," & c & "," & d & "," & e
変数bufへ代入する時の各変数a,b,c,d,eの値を確認してください
示されているコードでは 各変数a,b,c,d,eはVariant型なのでEmptyです
(上流で代入命令がされていない)

各変数a,b,c,d,eへ代入が終了した後なのでこの場合 出力処理直前と言う事になるでしょうか
buf = a & "," & b & "," & c & "," & d & "," & e
With ActiveCell.Validation
.Delete
.Add TypetexIValidateList. Formulal:=buf
End With
(コピペの為ミスタイプ、文法違反はそのままです)

ユーザーフォームを使う事が出来るようでしたら
処理自体イベントで発生するようなので何度も inputboxを出さず
 ユーザーフォームを(調べて)作って一度に行うのが良いと思います
    • good
    • 1
この回答へのお礼

助かりました

ありがとうございます!代入できました
代入命令の位置が入力前だったので駄目なのですね、大変勉強になりました。
ユーザーフォームも作りたいと思います!

お礼日時:2023/03/14 19:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!