No.5ベストアンサー
- 回答日時:
nyan_chikiさん こんにちは。
Trimは文字の途中の空白(全角・半角)は取り除いてくれません。
空白(全角・半角)はReplaceで取り除くことができますが、総合的(半角文字も取り除く)な観点から
単純に1文字ずつチェックした方がプログラムが分かりやすく、また今後のメンテもしやすいと思います。
Sub 文字クリア()
Dim N As Integer
Dim セル As Range
Dim チェック文字 As String
Dim 決定文字列 As String
For Each セル In Workbooks("A").Sheets("A").Range("F1:F40")
決定文字列 = ""
For N = 1 To Len(セル)
チェック文字 = Mid(セル, N, 1)
Select Case True
Case チェック文字 = " " ' 全角スペース
Case チェック文字 = vbCr ' キャリッジリターン
Case チェック文字 = vbLf ' ラインフィード
Case LenB(StrConv(チェック文字, vbFromUnicode)) = 1 ' 半角文字,スペース
Case Else
決定文字列 = 決定文字列 & チェック文字
End Select
Next N
セル = 決定文字列
Next
End Sub
No.6
- 回答日時:
質問では、単に曖昧な文章だけで、どういう状況なのか詳しく説明されていませんから、こちらの勝手な想像の範囲でしかありません。
>文字列左右(前後)の半角・全角スペース
は、全角でも半角でも、Trim でも十分なはずです。
>改行コードを削除
Excelのセル内での改行は、Chr(10) = vbLf だけです。
ただし、改行した前後の空白というものがあるなら、その内容は、まったく違ってきます。
Sub TestMacro1()
Dim c As Range
Dim buf As String
Application.ScreenUpdating = False
For Each c In Workbooks("BookA.xls").Worksheets("SheetA").Range("F1:F40")
If VarType(c) = vbString Then
For Each n In Split(c, vbLf)
buf = buf & Trim(n)
Next n
c.Value = buf
End If
buf = ""
Next
Application.ScreenUpdating = True
End Sub
No.4
- 回答日時:
またまた間違い、myRangeです。
(^^;;;CR、LFはひとつずつしないといけないので。。。
'----------------------------
Sub Test()
Dim R As Range
For Each R In Sheets("SheetA").Range("F1:F40")
R.Value = Trim(Replace(R.Value, vbCr, ""))
R.Value = Trim(Replace(R.Value, vbLf, ""))
Next R
End Sub
'----------------------
または、一行にして、
R.Value = Trim(Replace(Replace(R.Value, vbCr, ""), vbLf, ""))
以上です。
No.3
- 回答日時:
回答1、myRangeです。
改行コードも、とはっきり書いてありますねぃ。
阿呆な回答、申し訳ないです。
tom04さんの回答がグッドです。
で、参考までに。
他のアプリからもってきたデータであれば
改行がCRかもしれませんので、
CR,LF、両方とも削除した方がいいかも知れません。
'----------------------------
Sub Test()
Dim R As Range
For Each R In Sheets("SheetA").Range("F1:F40")
R.Value = Trim(Replace(R.Value, vbCrLf, ""))
Next R
End Sub
'----------------------
以上です。
No.2
- 回答日時:
こんばんは!
こんな感じで良いですかね?
BookとSheetは指定していませんので、
操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に貼り付けてマクロを実行してみてください。
Sub test()
Dim i As Long
For i = 1 To 40
Cells(i, 6).Value = Trim(Replace(Cells(i, 6), vbLf, ""))
Next i
End Sub
外していたらごめんなさいね。m(__)m
No.1
- 回答日時:
>書いてみたマクロはエラーが出てしまいます。
折角自分で書いたマクロですから、それを提示し、
間違い部分を指摘してもらった方がベターだと思いますが。。。
ま、それは置いといて、、、
Trim関数は、半角、全角に拘わらず前後のスペースを削除してくれますので、
'----------------------------
Sub test()
Dim R As Range
For Each R In Sheets("SheetA").Range("F1:F40")
R.Value = Trim(R)
Next R
End Sub
'----------------------------
対象ブックBookAがこのマクロの書いてあるブックでない場合は
Workbooks("BookA.xls").Sheets("SheetA").Range("F1:F40")
とします。
以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) 【マクロ】フォルダを2つのモニターの定位置に並べたい 2 2022/09/02 01:14
- Excel(エクセル) 【マクロ】フォルダを3つ、POモニター上に、決まった並べ方をしたい 4 2022/08/31 11:05
- Excel(エクセル) Excelの複数置換はSUBSTITUTEを重ねるしかない? 9 2022/05/08 11:25
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- PHP Postgresの特定のカラムからスペースを取る方法 1 2023/02/22 13:18
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 16:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel VBA】A列の全角・半角...
-
VBScriptである文字列に半角文...
-
Excel関数「COUNTIF」で”文字”...
-
エクセルのCOUNTIFが正しくカウ...
-
正規表現 文中空白可能
-
エスケープ文字にstr_replaceが...
-
文字の入力で横バー上段、中断...
-
記号は半角と全角どちらがよい...
-
php言語の全角入力のチェック方...
-
特定の文字を簡単な操作で半角...
-
メッセージボックスで1025文字...
-
半角記号、全角記号を含む正規...
-
2つ以上の連続する空白文字を除去
-
全角数字以外を半角化する方法
-
XMLのタグ名の禁則文字
-
全角括弧と全角読点の間隔を狭...
-
マクロで半角・全角スペースと...
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
Excel関数「COUNTIF」で”文字”...
-
エクセルのCOUNTIFが正しくカウ...
-
全角括弧と全角読点の間隔を狭...
-
半角記号、全角記号を含む正規...
-
特定の文字を簡単な操作で半角...
-
全角英数文字が嫌われる理由を...
-
VBAで英数字入力チェックしたい。
-
エクセルでの漢字、カタカナ、...
-
全角半角変換 C++/CLI
-
XMLのタグ名の禁則文字
-
VBScriptである文字列に半角文...
-
記号は半角と全角どちらがよい...
-
文字列中の両丸括弧を取り除くV...
-
パソコンで全角、半角文字の切...
-
HTML5の「pattern」属性で前後...
-
Replace関数は文字数の制限ある...
-
Excel2002 一桁数字だけ全角に置換
-
エスケープ文字にstr_replaceが...
おすすめ情報