[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『不特定多数のスペースの統一方法』(ツバメ)
不特定多数のスペースを持ったテキストファイルのスペースを置換する方法に苦労しております。
例)
1 2 3 4 5 6
論理式で=TRIM(テキストファイルの1行)とすると上手くスペースが1つに統一されリプレスできるのですが、
vbaでTRIMを行った場合前後のスペースしか削除されずリプレスが出来ません。
VBAで不特定多数のスペースの数を統一する方法をご存知でしたらご教授ください。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
ワークシート関数をVBA内で使えるWorksheetFunctionを使って WorksheetFunction.Trim(〜) としてはどうか (ねむねむ) 2018/04/02(月) 13:05
すべてのワークシート関数が使えるわけではないのでそこはヘルプで確認してくれ。
(ねむねむ) 2018/04/02(月) 13:34
●ワークシート関数のTRIM関数
https://azby.fmworld.net/usage/excel-function/007/
文字列の先頭や末尾に挿入されているスペースはすべて削除
文字列の間に挿入されているスペースは、1つだけを残してすべて削除 ←コレ
このような違いがあるので、VBAのTRIM関数では、文字列の間に挿入されているスペースはそのままになるとおもいます。(違っている場合はツッコミお願いします。>他の回答者さん)
また、これまた違っていたらごめんなさいですが、「論理式」とは、2つの要素(セル参照、定数、関数(、変数))を比較演算子でつないだものって表現されることが多いように思いますので、質問者さんの
>WorksheetFunctionで論理式がつかえるのですね。
という発言には違和感を感じ、Application.WorksheetFunctionでVBAのコード上でも「ワークシート関数」が使えます。のほうがより正しいような気がします。(あんまり自信ないので他の回答者さんのレスも参考にしてください。)
なお、ねむねむさんのおっしゃるとおりすべてのワークシート関数がこの方法で使えるようになるわけでないので注意が必要です。そのような場合でも、VBA上でワークシート関数が使いたい場合は、下記URLのコラムのようにEvaluateメソッドで対応するというテクニックがあります。
http://vbae.odyssey-com.co.jp/column4/s41602.html
(もこな2) 2018/04/02(月) 20:45
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.