Excel VBA質問箱 IV

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

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


1077 / 13645 ツリー ←次へ | 前へ→

【76437】【76410】値のコピペの続き こずえ 14/12/2(火) 12:15 質問[未読]
【76441】Re:【76410】値のコピペの続き マナ 14/12/2(火) 21:32 発言[未読]
【76442】Re:【76410】値のコピペの続き マナ 14/12/2(火) 21:56 発言[未読]
【76445】Re:【76410】値のコピペの続き こずえ 14/12/3(水) 14:42 質問[未読]
【76447】Re:【76410】値のコピペの続き マナ 14/12/3(水) 22:09 発言[未読]
【76448】Re:【76410】値のコピペの続き マナ 14/12/3(水) 22:28 発言[未読]
【76449】Re:【76410】値のコピペの続き こずえ 14/12/4(木) 8:27 お礼[未読]

【76437】【76410】値のコピペの続き
質問  こずえ  - 14/12/2(火) 12:15 -

引用なし
パスワード
   下記のIF関数、1.と2.入れ子にしたいのですが
教えてください。
宜しくお願い致します。

1.
If WorksheetFunction.CountA(Range("B7,C4")) < 2 Then
   MsgBox "【住所または社名が入力されてません】"
 End If
End Sub

2.
If Application.CountA(Range("B7,C4")) > 0 Then
   MsgBox "住所 社名が差出票にセットされました。"
End Sub

【76441】Re:【76410】値のコピペの続き
発言  マナ  - 14/12/2(火) 21:32 -

引用なし
パスワード
   入れ子?
ではなくて、こういうことですか

If WorksheetFunction.CountA(Range("B7,C4")) < 2 Then
   MsgBox "【住所または社名が入力されてません】"
Else
   MsgBox "住所 社名が差出票にセットされました。"
End If

【76442】Re:【76410】値のコピペの続き
発言  マナ  - 14/12/2(火) 21:56 -

引用なし
パスワード
   こんな書き方でもよいかも。
    
Sub test()
  If WorksheetFunction.CountA(Range("B7,C4")) < 2 Then
    MsgBox "【住所または社名が入力されてません】"
    Exit Sub
  End If

  '住所、社名が入力されていたら実行する処理
  MsgBox "住所 社名が差出票にセットされました。"
  
End Sub

【76445】Re:【76410】値のコピペの続き
質問  こずえ  - 14/12/3(水) 14:42 -

引用なし
パスワード
   マナさん
正常に動きました。有難うございます。

重ね重ねすみません。
下記のモジュールの意味を教えて頂きたいのですが
教えてください。
宜しくお願い致します。

Sub try1b()
 Dim i As Long
'長整数型
 Dim v As Variant
'どんなデータでも格納できる型

  If WorksheetFunction.CountA(Range("B7,C4")) < 2 Then
もし、"B7"か"C4"がゼロだったらMsgBox。?
   MsgBox "【住所または社名が入力されてません。】"
Else
   MsgBox "【住所 社名が差出票にセットされました。】"
End If
 
 With Sheets("メニュー")
   .Range("B7").Value = .Range("C4").Value
   v = .Range("C3:C4").Value
 End With
 With Sheets("Sheet2")
   For i = 10 To 163 Step 51
'10から163でStep 51?
     .Cells(i, "C").Resize(2).Value = v
   Next
   For i = 216 To 303 Step 29
     .Cells(i, "C").Resize(2).Value = v
   Next
 End With
   
End Sub

【76447】Re:【76410】値のコピペの続き
発言  マナ  - 14/12/3(水) 22:09 -

引用なし
パスワード
   >もし、"B7"か"C4"がゼロだったらMsgBox。?

COUNTA関数がわからないとういうことであれば、
ht tp://exinfo.biz/func/func_counta.shtml


>'10から163でStep 51?

↓のStep 3を1とか2にかえて実行しみてください。

Sub test()
  Dim i As Long  
  For i = 1 To 10 Step 3
    MsgBox i
  Next 
End Sub

【76448】Re:【76410】値のコピペの続き
発言  マナ  - 14/12/3(水) 22:28 -

引用なし
パスワード
   ところで、今のコードだと
住所と社名が入力されていない場合でも
With Sheets("メニュー")以降の部分が実行されますが
その点については理解されてますか?

【76449】Re:【76410】値のコピペの続き
お礼  こずえ  - 14/12/4(木) 8:27 -

引用なし
パスワード
   マナさん


>>'10から163でStep 51?
>
>↓のStep 3を1とか2にかえて実行しみてください。
>
>Sub test()
>  Dim i As Long  
>  For i = 1 To 10 Step 3
>    MsgBox i
>  Next 
>End Sub
から3をプラスで,それを3回くりかえすのですね。

>ところで、今のコードだと
>住所と社名が入力されていない場合でも
>With Sheets("メニュー")以降の部分が実行されますが
>その点については理解されてますか?
はい、わかっています。
そこで、考えている事があるので、自分で調べてから
質問します
有難うございました。

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