フリー写真素材ぱくたそ
Excelのシートにスペースのみ入っているセルを探すコード。
置換する場合は全角スペースは半角スペース×2なので、
同時に消すことはできるが、
半角スペースのみ、全角スペースのみ入っているセルを探す場合、
それぞれで完全一致するセルを探さないと、うまく探せない。
まず半角を探すLoopしてから全角を探すLoopをすれば見つけられる。
最初、普通に「" "」と「" "」で探したら、
完全一致でも何も探さず、
(Excelの検索では探します)
ASCIIにたどり着くのに一苦労。
そこから全角スペース探すのに一苦労。
そのため覚書です。
Dim xlbook As Workbook
Dim xlsht As WorkSheet
Dim c As Range
Dim f_rng As String
For Each xlsht In xlbook.Sheets
'半角(どちらかをセット)
Set c = xlsht.UsedRange.Find(Chr(32), LookIn:=xlValues, LookAt:=xlWhole)
'全角(どちらかをセット)
Set c = xlsht.UsedRange.Find(Chr(-32448),LookIn:=xlValues,LookAt:=xlWhole)
If Not c Is Nothing Then
f_rng = c.Address
Debug.Print c.Address(False, False)
Debug.Print c.Parent.name
Do
Set c = xlsht.UsedRange.Find(c)
If c.Address = f_rng Then Exit Do
If Not c Is Nothing Then
Debug.Print c.Address(False, False)
Debug.Print c.Parent.name
End If
Loop
End If
Next xlsht
Parent.nameでこの場合はシート名を取得できるので、
Debugでなくてシートなどに書き込めば、一覧作成できる。
私はAccessからExcelのセルを探しに行ったので、
実際のコードはCreateObject("Excel.Application")とかもやっています。
状況によって変更してご利用ください。
Debugでなくてシートなどに書き込めば、一覧作成できる。
私はAccessからExcelのセルを探しに行ったので、
実際のコードはCreateObject("Excel.Application")とかもやっています。
状況によって変更してご利用ください。