[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA 選択範囲の空白を削除』(ぐり)
初心者です。
B2〜C2から最終行までのデータに含まれる空白を削除したいのですが、
選択範囲までは動いてくれているようなのですが、空白が削除されないです。
ご指導、よろしくお願いします。
Sub B2C2から最終行までの空白削除()
Dim 最終行 As Long, 選択範囲 As Long, 空白削除 As Long 最終行 = Cells(Rows.Count, 1).End(xlUp).Row 選択範囲 = Range(Cells(2, 2), Cells(最終行, 3)).Select 空白削除 = Replace(選択範囲, " ", "") End Sub
< 使用 Excel:Office365、使用 OS:Windows10 >
条件を指定してジャンプ ↓ 空白セル
で空白セルを選択し、削除 する作業をマクロの自動記録 してみてください。 (通りすがり) 2020/12/17(木) 10:20
> 空白削除 = Replace(選択範囲, " ", "")
空白ではなくスペースの削除ですか? でしたら私のレスはスルーしてください。 (通りすがり) 2020/12/17(木) 10:21
置換作業をマクロの自動記録 してみてください。 (通りすがり) 2020/12/17(木) 10:24
■2
Replaceメソッドの引数を括弧を付けて書いてしまうと、返り値が帰ってきてしまいますので何かに代入する必要が生じます。
逆に言えば、括弧を付けなければ返り値が返されることがありません(←適切な表現でないかもしれません)
■3
" "(半角スペース)を指定していますが、Replaceメソッドであれば半角全角を区別しないようにもできますので、必要に応じて設定するとよいとおもいます。
上記を踏まえて修正してみると、こんな感じでしょうか
Sub 修正案() Dim 最終行 As Long
Stop '←ブレークポイントの代わり
With ActiveSheet 最終行 = .Cells(.Rows.Count, 1).End(xlUp).Row .Range("B2:C" & 最終行).Replace What:=" ", Replacement:="", MatchByte:=False End With End Sub
(もこな2) 2020/12/17(木) 11:45
もこな2様、完成品まで・・・超感謝です!
すごく勉強になりました!
ご指導頂いた内容、身につけられるようにひとつずつ実践して理解深めます!
(ぐり) 2020/12/17(木) 13:40
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.