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")
とします。
以上です。
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.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.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.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
お探しの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ランキング
-
文字の入力で横バー上段、中断...
-
エクセルのCOUNTIFが正しくカウ...
-
半角文字と全角文字の判別の仕方
-
メッセージボックスで1025文字...
-
記号は半角と全角どちらがよい...
-
VB.net テキストボックス半角文...
-
半角数字かどうかの判定
-
全角半角変換 C++/CLI
-
全角英数字のみ半角英数字にす...
-
全角カタカナの正規表現
-
FC2ホームページ 文字化けする。
-
Phonetic関数を利用して文章中...
-
数字と半角英字混じりの乱数を...
-
VBAで英数字入力チェックしたい。
-
入力データ「英数字」と「アン...
-
マクロで半角・全角スペースと...
-
全角英数文字が嫌われる理由を...
-
文字列中の両丸括弧を取り除くV...
-
VBのソース検索で、コメントア...
-
ファイルから読み込み
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字の入力で横バー上段、中断...
-
メッセージボックスで1025文字...
-
Excel関数「COUNTIF」で”文字”...
-
全角括弧と全角読点の間隔を狭...
-
半角記号、全角記号を含む正規...
-
エクセルのCOUNTIFが正しくカウ...
-
XMLのタグ名の禁則文字
-
文字列中の両丸括弧を取り除くV...
-
VBScriptである文字列に半角文...
-
全角英数文字が嫌われる理由を...
-
記号は半角と全角どちらがよい...
-
Excel2002 一桁数字だけ全角に置換
-
エクセルでの漢字、カタカナ、...
-
特定の文字を簡単な操作で半角...
-
Replace関数は文字数の制限ある...
-
VBAで英数字入力チェックしたい。
-
IT企業の技術屋にとって全角英...
-
2つ以上の連続する空白文字を除去
-
全角半角変換 C++/CLI
-
Accessの文字数を調べたい
おすすめ情報