ここから本文です

Vbaにお詳しい方にご質問です。 ご覧いただきありがとうございます。 あるセル...

hir********さん

2019/8/2522:02:35

Vbaにお詳しい方にご質問です。
ご覧いただきありがとうございます。

あるセル(下記例ではA2セルからA10セルです。

)に『☆田中 瞳』や『☆_佐々木 麗奈』『☆__高橋 由美子』『☆___小柳 ルミ子』等文字列の先頭に☆と全角スペース・半角スペース・全角プラス半角スペース等が入力されているとして、『☆』と、その後の全角スペース・半角スペースだけを削除するマクロを考えております。
下記マクロでは☆のみは削除出来ますが、その後のスペースの数や半角と全角の組み合わせが不確定な為上手く作成できません。
※質問本文から全角・半角スペースが消えてしまうため、『』内にはスペースの代わりに_を入力しています。

どなたか、お詳しい方のお知恵をお借り出来ませんでしょうか?
よろしくお願いいたします。

Sub Sample1()
Dim i As Long
For i = 2 To 10
If Cells(i, 1) = Like "☆" Then
Cells(i, 1) = Replace(Cells(i, 1), "☆", "")
End If
Next i
End Sub

閲覧数:
36
回答数:
2
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

30246kikuさん

2019/8/2608:58:47

Replace(Cells(i, 1), "☆", "")

↓ 以下で良さそう

Trim(Replace(Cells(i, 1), "☆", ""))

  • 30246kikuさん

    2019/8/2609:05:15

    追記

    先頭以外に ☆ が無いのなら

    > If Cells(i, 1) = Like "☆" Then

    この If 文は要らない
    たった9回なら、以下だけでも

    Cells(i, 1) = Trim(Replace(Cells(i, 1), "☆", ""))

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2019/8/26 12:40:52

kik********様
この度はご親切にご回答ありがとうございました。
他のご回答下さいました方もありがとうございました。
勉強になりました。

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

tra********さん

2019/8/2522:18:12

Sub 一例です()
Dim i As Long, ii As Long
For i = 2 To 10
With Cells(i, 1)
If .Value Like "☆*" Then
ii = 2
Do Until Mid(.Value, ii, 1) <> " " And Mid(.Value, ii, 1) <> " " '2つの空白のうち一方は、全角
ii = ii + 1
Loop
.Value = Mid(.Value, ii)
End If
End With
Next i
End Sub

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる