Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Pro : Excel 2013)
「Q&A」を作成する時の判定設定
投稿日時: 21/03/05 09:41:35
投稿者: moldy

はじめて利用させて頂きまs。
現在、複数の質問とその回答をまとめて「商品毎のQ&A一覧」を作成しています。
 
QとAは、行方向に
Q-1/A-1 … Q-10/A-10と横並びに個々のセルに入力。
 
 
入力後の処理で、まとめて1つの文字列として格納しています。
 
ここまでは実装できたのですが、
入力ミスをなくすために、まとめて1つの文字列にする前に
QとAそれぞれに文字列が無いとエラーメッセージを返すような機能を追加したいです。
 
例えば、Q-1には文字列が入っているが、A-1には文字列が入っていない場合
”「A-1」が未入力です。”
といった形でQ&A形式として不備があるものを特定したいです。
また、複数不備がある場合はすべてメッセージ内に表示したいです。
 
良い方法がありましたら教えて頂きたいです。
よろしくお願いします。
 

No.	商品名	Q&A	Q-1	A-1	Q-2	A-2	Q-3	…
1	AAA	格納先	質問	回答			
2	BBB							
3	CCC							
4	DDD							
5	EEE							

回答
投稿日時: 21/03/05 10:47:45
投稿者: simple

問題を単純化したモデルで考え方だけ示します。
 

<<Sheet1>>
      A列   B列   C     D     E     F
1     Q     A     Q     A     Q     A
2     Q     A                 Q     
3     Q           Q                 
4           A           A           
5     Q                            
メッセージボックスよりも、
該当箇所に色づけした方がよいと思いました。
質問だけ、もしくは回答だけの時に、該当セルを黄色で塗りつぶします。
Sub test()
    Dim j As Long, k As Long
    For j = 1 To 5
        For k = 1 To 5 Step 2
            If Cells(j, k) = "" Xor Cells(j, k + 1) = "" Then
                Cells(j, k).Resize(1, 2).Interior.Color = vbYellow
            End If
        Next
    Next
End Sub
これを参考にして、そちらで加工してみて下さい。

投稿日時: 21/03/05 11:14:24
投稿者: moldy

Simple様
 
ご回答ありがとうございます。
色付けのアイデアは頭に無かったので助かりました。
ありがとうございます。
 
参考にさせて頂きます!

トピックに返信