- ベストアンサー
エクセルでVBAで範囲に対してTRIM関数を適用したい
他のソフトから取り込んだデータなどに、各データの前後に不要なスペースがついている場合があります。 これをワークシート関数のTRIM同様前後のスペースだけ(文字列中のスペースは残す)削除したいのですが、データが多いのでFor~Nextは避けたいと思っています。 何かよい方法はありますか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- KenKen_SP
- ベストアンサー率62% (785/1258)
- KenKen_SP
- ベストアンサー率62% (785/1258)
- imogasi
- ベストアンサー率27% (4737/17068)
- GreatDragon
- ベストアンサー率46% (186/402)
関連するQ&A
- エクセル TRIM関数について
エクセル TRIM関数について 何度トライしてもダメだったのでご回答お願いします。 Vlookupでデータを引っ張ってきたかったのですが、 検索値の末尾に半角スペースが入っているため エラー表示なってしまいます。 TRIM関数を使用してスペースを取り除こうとしたのですが、 どうしても半角スペースが消えません。 何か方法がありましたら教えてください。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- マクロ Trim
A列に1500件ほどデータがあります。 左右、真ん中に余分なスペースがありそれを取りたいのですが、 Trim関数では左右の空白しか削除できません。 で、ググってみるとマクロを発見しました。以下です。 Sub 空白除去プログラム() Dim abc As Range ‘セルを定義 For Each abc In Selection abc = Trim(abc) ‘左右の空白を削除、「abc」を置き換える Next End Sub 勉強不足で、セルを定義できません。A1:A1500を定義したいのですが どのように記述すればよいですか?また、このマクロに手を付け加えて、 今後、A1500以降にスペースを含む文字列が書かれたとき、 自動でスペースを削除するマクロに変更できますか? どなたかお願いします。
- ベストアンサー
- オフィス系ソフト
- EXCEL2013 TRIM関数
WEB(http://blog.livedoor.jp/wtobreed/archives/35579046.html)から引っ張って来たデータをEXCELに貼り付けましたが、タイトル名のデータ並び替えが上手く出来ません。 TRIM関数でスペースを無くした筈ですが、一部先頭にスペースが残ってしまってます。 手作業では消せますがTRIM関数では出来ません。 元のデータでは、/や( 【 ( 等で区切られていたものを区切っています。 以下の様な感じです。上2行の様に頭に半角スペースが残ってしまっています。 ワイルドバンチ ワンス・アポン・ア・タイム・イン・アメリカ アイス・ストーム 愛と哀しみの果て どうぞ宜しくご教示下さい。
- ベストアンサー
- Excel(エクセル)
- Excel2003 データの中身?(=TRIM)
お世話になります。 表題の件で質問が御座います。 今、CSVで取り出したデータをExcelに変更したのですが 文字列の後ろに無駄にスペースが入っていたり、“見た目空白”のセルも 実はスペースが入っていたりで「Ctrl」+「方向キー」が 端っこまで行ってしまうので 「=TRIM」でスペースを消しました。 その後「TRIM」で抽出した値を元のセルに「値で貼り付け」をしたのですが そうすると なぜか 今まで右に寄ってた「数値」までもが左に寄り、表示形式を「通貨」にしても 数値として読み取ってくれてないようで「¥マーク」が付きません。。 そこで「質問(1)」なのですが、「TRIM」で取り出して元のセルに値で貼り付けると「文字列」になってしまうのでしょうか? 数値に見える文字列(?)のセルに「F2キー」で一旦カーソルを入れると きちんと数値になるようで 「¥マーク」が付きます。 が、しかし 1列2000行程のデータがあり、しかも 10列ほどに渡って同じような現象になってしまったので 全部で「20000セル」このような状況です。 「質問(2)」としましては関数か何かで一度に「数値風文字列(?)」を「数値」に変換する方法は御座いますでしょうか? どなたか ご存知の方、宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルでスペースのみが入ったセルを除いてCOUNTA関数を使うには?
自分で作成したシートではないのでよくわからないのですが、データが無いセルにスペースキーで空白が入っているようです。 ある列のデータ(0001とか0028とかの頭が0の文字列の数字)の数を取得しようとしたのですがスペースのセルまで集計されてしまいます。 しかたなく空白を置換えで削除すると、0001は1に化けてしまいます。 スペースを入れないデータを下さいと頼んだのですが、ホストコンピュータから何かのソフトでエクスポートしたエクセルファイルらしく、そういう操作は出来ないと断られてしまいました。 頻繁にあることなのでスペースを削除せず、且つスペース以外の空白でないセル数を取得するにはどのような関数を用いればよいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- VBAで使えないワークシート関数は
エクセルVBAで、ワークシート関数を使う場合に、findやmatchなどの検索関数が使えないのですが、何か別の関数が用意されているのでしょうか? やりたいことは、セルの中の文字列を、区切りのスペース文字で分解したいのですが。区切り文字の位置を知るfindが使えません。
- ベストアンサー
- オフィス系ソフト
- 全角空白のTRIMができない・・・
文字列の前後の全角空白を除去するのに trimが使えると思っていたのですが、できませんでした。 (半角なら取れるのですが・・・) select trim(' あいうえお ') from dual; 何とか前後の全角空白を除去したいのですが、 何か方法はないでしょうか。
- ベストアンサー
- Oracle
- エクセルでのスペース削除
教えてください。。。 例) 山 田 太 郎→山田太郎と文字間のスペースを削除したいのです。TRIM関数だと前後のスペースしか削除されません。どうぞ宜しくお願いします。。。
- ベストアンサー
- オフィス系ソフト
- Excel VBAに詳しい人に質問です。
以下のようなFor文を使用して、F列が空白の場合、その行を削除するマクロを組んでいます。 しかし、他のシートなどデータが肥大になってきて、削除速度がかなり落ちました。 どうにか速度をあげる方法はないでしょうか? ワークシートの7~300の行でF列が空白の行を削除できれば良いです。 F列にはVLOOKUP関数で、検索に引っかからなかった場合に空白になるようにしています。 詳しい方アドバイスよろしくお願いします。 For k = 300 To 7 Step -1 If Worksheets("一覧").Cells(k, "F") = "" Then Worksheets("一覧").Rows(k).Delete End If Next k
- ベストアンサー
- Excel(エクセル)
- Excelで空白を取り除く方法(97限定)
いつもお世話になってます。 Excelで、関数、VBAどちらでもかまわないのですが、文字列中から 完全にスペースを取り除く、スマートな方法がありましたら教えて 頂きたいと思います。 力技ではかろうじてできるのですが、やはり出来れば既存の関数や メソッド(VBAではプロシージャですか…)で美しく行えればいいなと 思っています。 直、前後の空白ではなく、文字列中に含まれるすべての空白です。 Trimで前後の空白が消せるのは確認済みです。また、バージョンは 97限定でお願いします。
- ベストアンサー
- 会計ソフト
お礼
KenKen_SPさん、いつもありがとうございます。 配列ですか。すごい方法があるんですね!驚きました。 早いです!ありがとうございました。助かりました。 ひとつだけいいですか? C.Value = Trim$(C.Value)の$は何でしょうか? Stringかなとも思いましたが、結果は数値ででますし、これを取っても結果は変わらなかったので不思議に思いました。