Excelのこととか色々

マクロをどんな Excel ファイルにも実行できるように設定して、3秒かかる操作も1秒で完了。あといろいろ書いてみます・・・

【Excel/VBAのこと38】ミニツール 見た目は同じ文字が入っているはずなのに・・・

   f:id:tuna-kichi:20200223230814p:plain

 

**************************************

 

 

  同じ文字が入っているのに・・・

上の図の2つのセルには同じ文字が入っていますが、Exact 関数で比べてみると、False になってしまいます。

何が違うのでしょうか?

 

見た目が同じ、セルの内容に間違いがなければ問題ないとして、スルーされてしまうと思いますが、

なんか気持ち悪い・・・  同じなのに違うって・・・

 

この現象になった時には「見えないデータ」が存在しています。

 

私には、このようになる原因はわかりませんが、マクロを実行した Excel で発生しています。

明らかに空白セルがあるのに Ctrl + 矢印キー を押してもその空欄セルで止まらなかった場合も同じです。

 

何が、どこに書かれているかを可視化するミニツールを作りました。

 

**********************************************

外観

ツールの外観はこんな感じです。

調べたいセルを選択して、ツールを起動すれば

「ラベル」と「テキストボックス」に表示させます。

 

ラベルとテキストボックスでは表示方法が違うのです。

  

  見えないデータを見る


  

 

  

フォームの名前は frmShowSelection にしました。

 

マクロ

閉じるボタン

Private Sub cmdClose_Click()
 End
End Sub

-----------------------------------

更新ボタン

'別のセルを選択してそのセルを調べます

Private Sub cmdUpdate_Click()

 Call UserForm_Initialize
End Sub

-----------------------------------

ツール初期化

Private Sub UserForm_Initialize()
 lblSelectionText.Caption = Selection
 txtSelectionText.Text = Selection

End Sub

-----------------------------------

標準モジュール

'ツールを起動させるマクロです

'このマクロは標準モジュールに記載します
'vbModeless を記載しておけばツールを起動させたまま Excel を操作できます
'このマクロをリボンに登録してください

Sub セル内容確認()

 frmShowSelection.Show vbModeless
End Sub

 

**************************************** 

使い方 

まずはリボンに登録して、 

  

  リボンに登録

 

調査したいセルを選択

  

  セル選択

 

そしてツールを起動(リボンに登録したマクロをクリック)して、セルの内容をツールに表示させます。

  ツール起動

 

上のセルは、通常通り、予想通りの表示です。

 

では、ツールを起動させたまま下のセルを選択して、「更新」ボタンを押します。

  次のセルを選択

 

 

すると、ラベルには改行されたセルの内容、

テキストボックスには改行を表す記号が表示されています。

  すると・・・

 

Sample と Text の間に改行がされていたので、 Exact 関数は2つのセルは違うと判断したのです。

 

私はまだ、この改行しか見たことがありませんが、

「制御文字」と呼ばれるものがマクロによって入り込んでしまうことがあるかもしれません。

 

*************************************************************

 

個人用マクロブックについてはこちら

www.tuna-kichi.com

 

リボンに登録についてはこちら

www.tuna-kichi.com

 

 

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/