教えてください。
先程質問をして早まって回答を締め切りしてしまったものです・・・。
申し訳ないです・・・。
質問の内容としては、
「1234 14 35」 のように、
数字と数字の間にスペースが入っています。
スペースの数は一定ではありません。
これを一つのハイフン”-”に変換したいのですが、
どうしたらよいでしょうか?
substituteを使うと、1234----14--35になってしまいますし、TRIMを使うと消えてしまいますし・・・。
というものでした。
回答で、SUBSTITUTE(TRIM(A1)," ","-")
を教えていただき、早速エクセルでためしたところ、
結果がOKだったので喜んで締め切ってしまいました・・。
ところが、実際にVBAに
kakou2 = Application.Substitute(Trim(b(x)), " ", "-")
とかいたところ、うまくいきません。。
元データは「ABCD 123456」 で、結果は
「ABCD--123456」になりました。
なぜなんでしょう・・・。
今度からきちんと最後まで確認してから回答を締め切ろうと
反省しております。 どなたか助けてください。。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
ワークシート関数の TRIM
VBA の Trim の仕様の違いです。
> kakou2 = Application.Substitute(Trim(b(x)), " ", "-")
は、VBA の Trim 関数が実行されてしまいます。
kakou2 = Application.Substitute(Application.Trim(b(x)), " ", "-")
にしてください。
VB の Trim のヘルプ:
指定した文字列から先頭のスペース (LTrim) または 末尾のスペース (RTrim)、あるいは先頭と末尾の両方のスペース (Trim) を削除した文字列を表すバリアント型 (内部処理形式 String の Variant) の値を返します。
ワークシート関数の TRIM のヘルプ:
文字列に複数のスペースが連続して含まれている場合、単語間のスペースを 1 つずつ残して、不要なスペースをすべて削除します。TRIM 関数は、ほかのアプリケーションから読み込んだテキストに不要なスペースが含まれているときなどに使用します。
なるほど!!!
VBAのTRIMとワークシート関数のTRIMですか!
詳細説明もありがとうございます。
早速試して確認しました。バッチリでした。
ありがとうございました。
No.3
- 回答日時:
b = Worksheets(1).Cells("A1").value
b = Application.Substitute(Application.Trim(b), " ", "-")
No.1
- 回答日時:
スペースが半角であると仮定した場合なら、
Sub try()
Dim v, w, st As String
v = Split("ABC 123 456", " ")
For Each w In v
If Len(w) > 0 Then st = st & w & "-"
Next
MsgBox Left(st, Len(st) - 1)
End Sub
とかなら思いつきましたけど。
違っていたらスル~して下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
ACCESS VBA でのエラー解決の根...
-
Accessでフォームに自動入力し...
-
accessでlaccdbファイルが削除...
-
access2021 コンパイルエラーの...
-
Access runtimeでのオプション...
-
access2019の起動が遅い
-
Accessでセレクタをダブルクリ...
-
Microsoft365にAccessってあり...
-
access2019 チェックボックスと...
-
access クエリ yes/no型のクエ...
-
access2021 VBA メソッドまたは...
-
Access Error3061 パラメータが...
-
Access VBA を利用して、フォル...
-
Access DLookup vbaで条件を2件...
-
【至急・画像あり】建物or住所...
-
アクセス 削除するレコードを含...
-
実行時エラー3131 FROM 句の構...
-
【Access】Dcount関数の複数条...
-
Accessレポートのチェックボッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文章内にスペースを入力する方...
-
なぜわざわざ関西弁で書き込む...
-
数値と単位が離れないように半...
-
viで行にスペース(空白)を挿...
-
エクセル→CSVにした時、スペー...
-
エクセルについて質問です。 写...
-
フランス語:疑問符や感嘆符に...
-
word 2007 フィールドコード内...
-
正規表現で郵便番号だけを削除
-
Wordで勝手にスペースが削除さ...
-
JR谷川駅の駐車場について
-
Twitterのスペースに入ろうとす...
-
自作のHPを死後も残す方法は?
-
ワードでどうしてもわからない...
-
「?」のあとにスペースはいら...
-
HP作成時容量20MBとはど...
-
【関数】スペースがいくつ入っ...
-
電子辞書の使い方
-
Twitter(X)で、スペース機能が...
-
エクセル セルを分割する関数
おすすめ情報