![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
仕事でVBAをやっているのですが、壁にぶち当たってしまい、詳しいかたがいらっしゃいましたらアドバイスいただけたらと思い、初めてこちらを利用させていただきました。
とあるテキストファイルをエクセルで開き、A1セルにH1という文字列が入っていたとします。
A2セルには同じくH1とキーボードで入力します。
これをifでA1セルとA2セルが同じだったらというマクロを組んでもfalseになってしまいます。
ちなみに、どちらとも半角で、セルの書式設定は標準です。
一つ引っかかるのがLENB関数で調べたところA1セルは6バイトなのに対し、A2セルは4バイトだったことと
A1セルをコピーしてVBAのページに張り付けると" H1"となってしまうところがなにか原因なのかなと思いました。
なかなかうまく説明もできていないと思いますが、お助けいただけるかたがおりましたらよろしくお願いいたします。
No.3
- 回答日時:
>テキストファイルをエクセルで開き、
ここが、原因です。
『H1』の後ろに『改行コード』が付いているからです。
Windowsの場合は、CR+LF(内部コード0A+0D)
が付加されているからです。
EXCELで直接入力した文字列には、付きません。
原因はそういうことですが、解決するにはテキストを
EXCELで無理矢理開かず、CSV形式に加工したり、
改行コードを取り除く(無視する)など検討する必要があります。
いかがでしょう?
No.2
- 回答日時:
" H1"と"H1"は別の文字列です。
なのでfalseになって当然です。
スペースを取り除きたいのなら、スペースを削除してから比較しましょう。
また、どちらかと言うとA1にスペースが入っているのが間違いだと思うのですが、そちらを直してはだめなんですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) Excleマクロ セル値の代入と文字列の結合について 3 2022/10/05 16:47
- Excel(エクセル) Excelについて▶あるセルに文字を入力すると、別のセルに色がつく(条件付き書式) 1 2022/03/27 16:43
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) VBAで自動集計(特定セルコピー月ごとに値貼り付け)したい。 6 2023/06/25 11:37
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBA:同じ文字列データの比較がうまくいかない例
Excel(エクセル)
-
エクセル 同じデータなのに違うという判定
Visual Basic(VBA)
-
エクセルに詳しい方に教えて頂きたいです。 全く同じ文字に見えるのにEXACT関数を使って調べるとFA
Excel(エクセル)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
エクセルでエラーが出て困っています。
Excel(エクセル)
-
6
VBA 判定文で理解できない結果になる
その他(Microsoft Office)
-
7
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
8
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
9
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
10
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
-
11
エクセルVBAのIF文の否定の複数条件
Excel(エクセル)
-
12
Application.Runエラー(1004)
Excel(エクセル)
-
13
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
14
vba 時間の引き算 例えば 15:00から16:15の間の時間は1時間15分ですが、vbaのコード
Visual Basic(VBA)
-
15
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
16
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
17
エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
Excel(エクセル)
-
18
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
19
VBAで色の付いているセルの行削除
Excel(エクセル)
-
20
VBA シートのボタン名を変更したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで 自動的に◯や数字を...
-
エクセルでファイルの最終更新...
-
シフト表をエクセルで作るとき...
-
Excel 2019 [オプション]の[リボンのユ...
-
Excelに詳しい方! B列が「日...
-
Excelファイルが開けません
-
excel2013 MonthDays 関数が使...
-
スプレッドシートの関数につい...
-
【マクロ】2回実行したら、エ...
-
特定の文字列を含む、住所を抽...
-
EXCELの散布図で日付が1900年に...
-
エクセルのツールバーから数値...
-
Excelで表を作ったところに文字...
-
祝日と土曜、日曜の合計をカウ...
-
Excelについて
-
【マクロ】名前を保存する際に...
-
Excel分数の表示について
-
エクセルでCtrl+Tでテーブルの...
-
マイクロソフトのPADを使ってい...
-
【EXCEL】画像の黄色部分の抽出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報
皆さまご回答ありがとうございました。
こんなに多くの方にお答えしていただけるとは思っていなかったもので、こちらでお礼をさせていただきます。
ありがとうございます。
少し補足なのですが、テキストファイルを開くと、H1=15というのが他のセルに開かれます。
そこから=の前までを取り出してH1のみをA1セルに入れてます。
A1セルに取り出した際に半角に変えたり、スペースを取り除いたりも試してみたので、そのせいでは無いと思います。
今日一日いろいろと調べながら試してみたのですがなかなか攻略できず、明日また皆さまからのご回答をヒントに試行錯誤してみようと思います。
もう一度実際のシートで詳しく説明させていただきます
画像のAのセルにテキストファイルのデータを開いて、それを=の前後で分割してBとDのセルに分けています。
例に出しましたB65のセルがH1となっていると思います。
たとえば空白のF65のセルにH1と入力してifで調べた時にB65とF65がtrueになればよいのですが。
F65のセルをコピーしてモジュールのほうに張り付けるとH1となるのに対し、
B65のセルのほうは" H1"となってしまっています。
B65のセルのHの前に見えないスペースがあるのだと思い、Hの前にカーソルを合わせて一度バックスペースを押したものをまたコピーしてモジュールのほうに張り付けたところH1となりtrueになりました。
ただし、trimやreplaceなどでスペースを消すことができなかったので、もしそのほかの方法で消す方法などがありましたら教えていただきたいです。
皆様ご回答ありがとうございます。
仕事の合間を縫って行っているため、レスが遅くなってしまったりとご迷惑をおかけして申し訳ございません。
お礼では書けなかった結果をこちらで書かせていただければと思います。
No4のfujillin様より教えていただいた=CODE(MID($A$1,COLUMN(A1),1))のコードですが、
9 72 49という結果が出ました。
No11のmike_g様より教えていただいた
「=ASC(A1)=ASC(A2)」と「=A1=A2」はどちらもFALSEでした。
No12の taunamlz様より教えていただいた「=CODE(A2)」の結果は9でした。
みなさまから見えないエラーを調べる方法を教えていただいた結果よく出てきた9というのが原因を表す数字なのかなと思います。
皆様、このたびは私の無理難題にお付き合いいただきありがとうございました。
WindFaller様に教えていただきましたclean関数で無事エラーを取り除くことができました。
また、fujillin様より教えていただきました、ファイルの開き方を変えるというのも利用してみようと思いました。
なにより、エラーを見つけ出そうとしていただけました皆様には大変感謝をしております。
皆様ベストアンサーにしたいくらい選べないのですが、今回はclean関数を教えていただきましたWindFaller様にさせていただければと思います。
エラーの見つけ方など、わからなかったことも多く大変勉強になりました。
貴重なお時間を割いて対応いただき本当にありがとうございました。
こちらのようなサイトを初めて使わせていただきましたが利用して良かったなと思いました。
皆様本当にありがとうございました。