Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6194 / 13646 ツリー ←次へ | 前へ→

【46668】データが存在しない場合MsgBoxに表示 shige 07/2/11(日) 23:52 質問[未読]
【46669】Re:データが存在しない場合MsgBoxに表示 ponpon 07/2/12(月) 0:12 発言[未読]
【46670】Re:データが存在しない場合MsgBoxに表示 shige 07/2/12(月) 0:24 発言[未読]
【46671】Re:データが存在しない場合MsgBoxに表示 ponpon 07/2/12(月) 0:41 発言[未読]
【46672】Re:データが存在しない場合MsgBoxに表示 shige 07/2/12(月) 0:45 お礼[未読]

【46668】データが存在しない場合MsgBoxに表示
質問  shige  - 07/2/11(日) 23:52 -

引用なし
パスワード
   MsgBoxを表示する条件として
B列とJ列にデータがない場合
データがありませんと表示させたいのですが
修正方法おしえてください。

 Cancel = True
 Set R = Intersect(Range("AG8:AG107"), Target.Cells(1))
   If R Is Nothing Then Exit Sub
 With R
  Select Case .Value
  Case ""
   Target.Value = "★"
    rc = MsgBox(Target.Offset(, -31) & "の " & Target.Offset(, -23).Value & "は、精算します。 ", vbYes, Title:="精算は・・・")
  Case Else
   Target.Value = ""
  End Select
 End With
End Sub

【46669】Re:データが存在しない場合MsgBoxに表示
発言  ponpon  - 07/2/12(月) 0:12 -

引用なし
パスワード
   ▼shige さん:
両方ない場合は、And 一方でもない場合は、Orで判断されたらいかがでしょう。

>MsgBoxを表示する条件として
>B列とJ列にデータがない場合
>データがありませんと表示させたいのですが
>修正方法おしえてください。
>
> Cancel = True
> Set R = Intersect(Range("AG8:AG107"), Target.Cells(1))
>   If R Is Nothing Then Exit Sub
> With R
>  Select Case .Value
>  Case ""
   If Target.Offset(, -31).Value = "" And Target.Offset(, -23).Value = "" Then
    MsgBox "B列とJ列にデータがありません"
   Else
>   Target.Value = "★"
>    rc = MsgBox(Target.Offset(, -31) & "の " & Target.Offset(, -23).Value & "は、精算します。 ", vbYes, Title:="精算は・・・")
   End If
>  Case Else
>   Target.Value = ""
>  End Select
> End With
>End Sub

【46670】Re:データが存在しない場合MsgBoxに表示
発言  shige  - 07/2/12(月) 0:24 -

引用なし
パスワード
   ▼ponpon さん:
ありがとうございます。
>両方ない場合は、And 一方でもない場合は、Orで判断されたらいかがでしょう。
>
>>MsgBoxを表示する条件として
>>B列とJ列にデータがない場合
>>データがありませんと表示させたいのですが
>>修正方法おしえてください。
>>
>> Cancel = True
>> Set R = Intersect(Range("AG8:AG107"), Target.Cells(1))
>>   If R Is Nothing Then Exit Sub
>> With R
>>  Select Case .Value
>>  Case ""
>   If Target.Offset(, -31).Value = "" And Target.Offset(, -23).Value
                     ここをOrにした場合
たとえばB列にデータがありません
またはJ列にデータがありません
と分けられるのでしょうか?
出来るのであれば別々に表示できれば更にgoodなんですが
よろしくお願いします。
= "" Then
>    MsgBox "B列とJ列にデータがありません"
>   Else
>>   Target.Value = "★"
>>    rc = MsgBox(Target.Offset(, -31) & "の " & Target.Offset(, -23).Value & "は、精算します。 ", vbYes, Title:="精算は・・・")
>   End If
>>  Case Else
>>   Target.Value = ""
>>  End Select
>> End With
>>End Sub

【46671】Re:データが存在しない場合MsgBoxに表示
発言  ponpon  - 07/2/12(月) 0:41 -

引用なし
パスワード
   ほかにもいい方法があるかもしれませんが・・・
こんな感じでしょうか?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Cancel = True
  Set R = Intersect(Range("AG8:AG107"), Target.Cells(1))
  If R Is Nothing Then Exit Sub
  With R
    Select Case .Value
      Case ""
        If Target.Offset(, -31).Value = "" And Target.Offset(, -23).Value = "" Then
          MsgBox "B列とJ列にデータがありません"
        ElseIf Target.Offset(, -31).Value = "" Or Target.Offset(, -23).Value = "" Then
          Select Case True
           Case Target.Offset(, -31).Value = ""
             MsgBox "B列にデータがありません"
           Case Target.Offset(, -23).Value = ""
             MsgBox "J列にデータがありません"
          End Select
        Else
          Target.Value = "★"
          rc = MsgBox(Target.Offset(, -31) & "の " & Target.Offset(, -23).Value & "は、精算します。 ", vbYes, Title:="精算は・・・")
        End If
     Case Else
        Target.Value = ""
    End Select
  End With
End Sub

【46672】Re:データが存在しない場合MsgBoxに表示
お礼  shige  - 07/2/12(月) 0:45 -

引用なし
パスワード
   ponponさん
ありがとうございました。
思い通りの結果です
夜分遅く本当にありがとうございました。
解決です!!

6194 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free