Excel VBA質問箱 IV

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

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


2866 / 13644 ツリー ←次へ | 前へ→

【65529】MSGBOXについて isausa 10/6/2(水) 16:01 質問[未読]
【65530】Re:MSGBOXについて 超初心者 10/6/2(水) 16:33 発言[未読]
【65531】Re:MSGBOXについて Jaka 10/6/2(水) 16:44 発言[未読]
【65532】Re:MSGBOXについて Jaka 10/6/2(水) 16:48 発言[未読]
【65542】Re:MSGBOXについて isausa 10/6/3(木) 10:49 お礼[未読]

【65529】MSGBOXについて
質問  isausa  - 10/6/2(水) 16:01 -

引用なし
パスワード
   よろしくお願いします。
質問はたとえばD5〜Q***(行数は変わります)に値があって、その中の空白セルを検索して、0に置き換えるマクロを下記のように組んでうまくはいったのですが、最後にMSGBOXで”**件検索して、置換しました"もMSGBOXを表示させたいのですが、できますか。
今のままだと、範囲を指定したままの形でマクロが終了してしまいます。
  Dim myRow1 As Long
  Dim myRow2 As Long
 
  Dim myStrg1 As String
 
  myRow1 = 5
  
  myRow2 = Cells(65536, "A").End(xlUp).Row
  myStrg1 = "D" & myRow1 & ":$Q$" & myRow2
  
   Range(myStrg1).Select
 
  Selection.Replace What:="", Replacement:="0", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
End Sub

【65530】Re:MSGBOXについて
発言  超初心者  - 10/6/2(水) 16:33 -

引用なし
パスワード
   ▼isausa さん:

COUNTIF関数で条件一致件数をカウントして
表示してみてはいかがでしょう。

【65531】Re:MSGBOXについて
発言  Jaka  - 10/6/2(水) 16:44 -

引用なし
パスワード
   どっちか。
MsgBox Application.CountIf(Range("A1:A60000"), "")
MsgBox Application.Evaluate("SUMPRODUCT(ISBLANK(A1:A60000)*(A1:A60000=""""))")

尚、SUMPRODUCTの方は、1〜65535もしくは、2:65536までの範囲しか使えません。
要するにセルの個数が65535個まで。

【65532】Re:MSGBOXについて
発言  Jaka  - 10/6/2(水) 16:48 -

引用なし
パスワード
   あ、複数列か。
SUMPRODUCT使えないかも。

【65542】Re:MSGBOXについて
お礼  isausa  - 10/6/3(木) 10:49 -

引用なし
パスワード
   ▼Jaka さん:
>あ、複数列か。
>SUMPRODUCT使えないかも。
有り難う御座います。
MsgBox Application.CountIf(Range("A1:A60000"), "")の方でやってみました。
成功です。

有り難う御座います。

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