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

合計値(A2) B2  C2   空白  E2 空白 空白    この場合は空白=1個
合計値(A2) 空白 C2  空白  空白  F2   空白    この場合は空白=2個
数字と数字の間の空白セルを求めたい。できればVBAでお願いします。複数行あります。
COUNTBLANKでとも考えましたが検索範囲が決まってはいるものの,全ての空白を求めるためダメでした。よろしくお願いいたします。

A 回答 (3件)

これ、【数字と数字の間の空白】って【一行の中には一ヵ所だけ】って考えてもいいの?




以下のような感じではいかがでしょうか。

------------------------
Dim row_x As Integer, column_x As Integer, column_blank As Integer, blank_num As Integer, blank_tmp As Integer
Dim row_start As Integer, column_start As Integer, row_end As Integer, column_end As Integer

'空白をカウントすべき範囲の指定
row_start = 2 '上端は2行目とした場合
column_start = 2 '左端はBとした場合
row_end = 10 '最終行は10行目とした場合
column_end = 7 '右端はGとした場合

For row_x = row_start To row_end

blank_num = 0 '行変わるごとに空白用の変数初期化
blank_tmp = 0

For column_x = column_start To column_end - 1 'ここから行ごとの処理
If Cells(row_x, column_x).Value <> "" And Cells(row_x, column_x + 1).Value = "" Then
'文字がありその右が空白なら、空白カウント開始
For column_blank = column_x + 1 To column_end
If Cells(row_x, column_blank) = "" Then
blank_tmp = blank_tmp + 1 '空白ならカウントする、但し仮。
Else
blank_num = blank_tmp '空白じゃないセルが出たらそこで確定し、カウント終了
Exit For
End If
Next column_blank
End If

If blank_num <> 0 Then
Exit For '空白セルの個数が確定してたらそれより右はもう調べない
End If

Next column_x

Cells(row_x, column_end + 2).Value = blank_num '右端のもう2つ右に空白個数を書き込む

Next row_x
------------------------
    • good
    • 0
この回答へのお礼

おはようございます。早速の回答ありがとうございました。
私がやりたこと全て完璧でした。また,解説も記載していただましたのでとても感謝しています。これからもよろしくお願いいたします。

お礼日時:2014/03/15 08:47

No.1です。


すみません、質問の意図を早とちりしてしまいました。
これだと、すべての空白がカウントされるので、ダメなんですよね。
    • good
    • 0

空白でないセルを勘定すれば良いのではないでしょうか?


この場合だと 7-counta(b2:g2) 。
    • good
    • 0

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