A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No.1です。
>先頭に半角スペースや全角スペース等のスペースが入っていました。
あぁ~~~!だったら全く反応しませんね。
↓のコードではどうでしょうか?
Sub Sample3()
Dim k As Long, c As Range, myStr As String, buf As String
Application.ScreenUpdating = False
For Each c In Selection
If c <> "" Then
buf = Trim(c)
k = 1
If Left(buf, 1) = vbLf Then
Do Until Mid(buf, k, 1) <> vbLf
k = k + 1
Loop
End If
myStr = Mid(buf, k, Len(buf))
For k = 1 To Len(myStr)
If Mid(myStr, k, 2) = vbLf & vbLf Then
myStr = Replace(myStr, Mid(myStr, k, 2), vbLf)
End If
Next k
c = myStr
End If
Next c
ActiveSheet.Rows.AutoFit
Application.ScreenUpdating = True
End Sub
※ セルの頭、もしくは末尾のスペースには対応できると思います。m(_ _)m
ありがとうございます。
おかげさまで、半角スペースを置換削除した後、一番最初のプログラムでやってみたところ
上手くゆきましたので、今回のデータは試してはいませんが、次に同じ問題が起きた時
※必ずできてしまうのですが・・・
このデータを使ってみますね!
ありがとうございます。
ベストアンサーに入れさせて頂きますね!
No.1
- 回答日時:
こんばんは!
前回回答した者です。
>いざ、本番に使おうとしたら、ダメでした??
対象セルを範囲指定し、マクロを実行されたのでしょうか?
もしくは空白セルがあればそこのでマクロをやめるようなコードにしていたので
空白セルも範囲指定に含まれていたというコトはないでしょうか?
今回は頭の改行だけでなく途中の改行も消すようなコードにしてみました。
前回のコードはすべて消去し、↓のコードに変更してみてください。
Sub Sample2()
Dim k As Long, c As Range, myStr As String
If Selection.Count > 1000 Then Exit Sub
Application.ScreenUpdating = False
For Each c In Selection
If c <> "" Then
k = 1
If Left(c, 1) = vbLf Then
Do Until Mid(c, k, 1) <> vbLf
k = k + 1
Loop
End If
myStr = Mid(c, k, Len(c))
For k = 1 To Len(myStr)
If Mid(myStr, k, 2) = vbLf & vbLf Then
myStr = Replace(myStr, Mid(myStr, k, 2), vbLf)
End If
Next k
c = myStr
End If
Next c
Application.ScreenUpdating = True
End Sub
※ 極端に広い範囲を指定してしまうと「応答なし」の状態になりますので、
セル選択は1000セル以内に限定しています。
すなわち列全体とか行全体を範囲指定するのではなく
対象セルを絞って範囲指定して、マクロを実行してください。
今回は空白セルが含まれていても大丈夫です。m(_ _)m
何度もありがとうございます。
空白セルではないのですが、
先頭に半角スペースや全角スペース等のスペースが入っていました。
それでできなかったのかもしれません。
また、頂いた上記プログラムをマクロに入れてみましたが、これはうまくいかない様でした。
何度もすみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBA セルの書式設定 2 2022/03/30 10:48
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- ビジネスマナー・ビジネス文書 レターパックを返信する際の敬称について 2 2022/10/11 07:50
- Visual Basic(VBA) VBAで出力したCSVファイルの先頭にカンマを挿入したい 5 2022/10/14 12:20
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- クレジットカード ENEOSでのポイント付与、キャンペーンについて 1 2022/05/29 14:24
- 高校 高校生です。テストで改ざんをしてしまいました。 消しゴムで消して書き直して合ってると言いに行きました 3 2023/03/02 23:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
Excelで挿入した図をセルの中央...
-
現在のセルの位置を返す関数は...
-
エクセルでの検索ボックスの作...
-
クリックすると文章が表示され...
-
マクロを実行すると画像がズレ...
-
【EXCEL】先週の月曜日の日付を...
-
Excelでセルをクリックす...
-
太字に設定されているセルの個...
-
セルがクリックされた回数をカ...
-
Excelで、図形内の文字をセルに...
-
Excel ハイパーリンクのURLを別...
-
Excel2007 色のカウント (VBA)
-
エクセルマクロ 赤色の文字を検...
-
フォントの色を指定して削除出...
-
アポストロフィーの一括挿入 ...
-
エクセルグラフ数値軸の最大最...
-
セル背景や文字を点滅させる方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
マクロを実行すると画像がズレ...
-
太字に設定されているセルの個...
-
Excelで、図形内の文字をセルに...
-
Excelで挿入した図をセルの中央...
-
フォントの色を指定して削除出...
-
Excel ハイパーリンクのURLを別...
-
エクセルでPDFリンクを大量...
-
エクセル 未入力セルがあると...
-
現在のセルの位置を返す関数は...
-
VBA 見つからなかった時の処理
-
EXCELのセルや文字色の反映
-
【EXCEL】先週の月曜日の日付を...
-
セルの値が変ると自動でマクロ...
-
エクセルでセルをダブルクリッ...
-
アポストロフィーの一括挿入 ...
おすすめ情報
tom04さん
本当にありがとうございます。
置換で半角スペースを消してから、最初に頂いたプログラムでマクロしてみたらできました。
やっぱり、先頭に半角スペースが入っていて、これがプログラムを止めていたようです。
他の文章の半角スペースは詰まってしまいましたが、でも、これでも十分に使えそうなので、これでやってみます。
本当に感謝です。
でも、こんなことできるんですね。
ありがとうございます。