Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11全般 : Microsoft 365)
セルに文字が入っていたら色をつける
投稿日時: 24/01/30 22:56:51
投稿者: evemama
メールを送信

ダウンロードしたデータのD列に数値が入っていたらその行のB列に色を付けたい場合を教えていただけますか?

回答
投稿日時: 24/01/31 08:57:29
投稿者: simple

今後の修正にもリアルタイムに追随させたいのであれば、
条件付き書式を使うと簡単ではないですか?

適用範囲は  $B:$B
条件式      =ISNUMBER(D1)
書式(塗りつぶし色ですか?)はお好きなものを指定します。

投稿日時: 24/01/31 10:06:42
投稿者: evemama
メールを送信

simple さんの引用:
今後の修正にもリアルタイムに追随させたいのであれば、
条件付き書式を使うと簡単ではないですか?
適用範囲は  $B:$B
条件式      =ISNUMBER(D1)
書式(塗りつぶし色ですか?)はお好きなものを指定します。

 
 
私のやり方が悪いのかうまくいきません。
新しいルールで
数式を使用して、書式設定するセルを決定 を使ったのですが・・・・
 
日々データを落として元のデータに貼り付けていくような作業をしています。
その際、落としたデータはVBAにて編集しています。
その中に今回お願いしたマクロを追加したいのですが・・・

回答
投稿日時: 24/01/31 10:53:37
投稿者: WinArrow

evemama さんの引用:

ダウンロードしたデータ

って、ファイル形式はなんですか?
 
若しかしたら、CSVではありませんか?

回答
投稿日時: 24/01/31 10:57:46
投稿者: WinArrow

引用:

日々データを落として元のデータに貼り付けていくような作業をしています。

 
この辺りをもう少し詳しく説明しましょう。

投稿日時: 24/01/31 11:48:14
投稿者: evemama
メールを送信

WinArrow さんの引用:
evemama さんの引用:

ダウンロードしたデータ

って、ファイル形式はなんですか?
 
若しかしたら、CSVではありませんか?

 
 
落としたデータはCSVなんですが、EXCELのシートにインポートしています。
そして、マクロを使ってデータを整えて、大元のEXCELのシートに貼り付けてる感じなんですが・・・
説明が下手で申し訳ありません。

回答
投稿日時: 24/01/31 12:28:33
投稿者: Suzu

ワークシート関数で、IsNumber関数があります。
 
セルの値が、数値として認識できるなら True が返ります。
 
今回判定の対象の値が、Excel上で、数値として認識されているのか
上記関数を使い判定してみてください。
 
多分、False が返ってくるのではありませんか?
つまり、数値として認識されておらず、文字列として保存されているのです。
 
CSVをメモ帳などで開き、その値を確認すると "123" の様に、「"」で括られている状態ではありませんか?
 
CSVファイルをExcelで開いた際、数値が他の形式に変換されるのを防ぐことはできますか?
https://help-dxsuite.inside.ai/hc/ja/articles/7907929497881-CSV%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92Excel%E3%81%A7%E9%96%8B%E3%81%84%E3%81%9F%E9%9A%9B-%E6%95%B0%E5%80%A4%E3%81%8C%E4%BB%96%E3%81%AE%E5%BD%A2%E5%BC%8F%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%95%E3%82%8C%E3%82%8B%E3%81%AE%E3%82%92%E9%98%B2%E3%81%90%E3%81%93%E3%81%A8%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B-
 
 
文字列として保存されている数値を数値形式に変換する
https://support.microsoft.com/ja-jp/office/%E6%96%87%E5%AD%97%E5%88%97%E3%81%A8%E3%81%97%E3%81%A6%E4%BF%9D%E5%AD%98%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E6%95%B0%E5%80%A4%E3%82%92%E6%95%B0%E5%80%A4%E5%BD%A2%E5%BC%8F%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B-40105f2a-fe79-4477-a171-c5bad0f0a885
 
あたりを参考にしてみてください。

投稿日時: 24/01/31 13:14:30
投稿者: evemama
メールを送信

Suzu さんの引用:
ワークシート関数で、IsNumber関数があります。
 
セルの値が、数値として認識できるなら True が返ります。
 
今回判定の対象の値が、Excel上で、数値として認識されているのか
上記関数を使い判定してみてください。
 
多分、False が返ってくるのではありませんか?
つまり、数値として認識されておらず、文字列として保存されているのです。
 
CSVをメモ帳などで開き、その値を確認すると "123" の様に、「"」で括られている状態ではありませんか?
 
CSVファイルをExcelで開いた際、数値が他の形式に変換されるのを防ぐことはできますか?
https://help-dxsuite.inside.ai/hc/ja/articles/7907929497881-CSV%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92Excel%E3%81%A7%E9%96%8B%E3%81%84%E3%81%9F%E9%9A%9B-%E6%95%B0%E5%80%A4%E3%81%8C%E4%BB%96%E3%81%AE%E5%BD%A2%E5%BC%8F%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%95%E3%82%8C%E3%82%8B%E3%81%AE%E3%82%92%E9%98%B2%E3%81%90%E3%81%93%E3%81%A8%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B-
 
 
文字列として保存されている数値を数値形式に変換する
https://support.microsoft.com/ja-jp/office/%E6%96%87%E5%AD%97%E5%88%97%E3%81%A8%E3%81%97%E3%81%A6%E4%BF%9D%E5%AD%98%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E6%95%B0%E5%80%A4%E3%82%92%E6%95%B0%E5%80%A4%E5%BD%A2%E5%BC%8F%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B-40105f2a-fe79-4477-a171-c5bad0f0a885
 
あたりを参考にしてみてください。

 
 
ありがとうございます。
D列に入ってる文字は、数字ではなく文字でした。
それで反応しなかったのですね

回答
投稿日時: 24/01/31 16:43:59
投稿者: WinArrow

CSVをインポートしたブックで「条件付き書式」を設定したものを
他のシートにコピペすると、条件付き書式の適用範囲が変わってしまうことがあります。
今回の場合、該当するか判断できませんが・・・
結果として、条件が変わってしまった場合は、条件式を変更することになります。
  
貼付け後のシート側で「条件付き書式」を設定したほうが無難かもしれません。
 
文字列を数値判定する関数
=ISNUMBER(D1*1)
とすれば、可能です。

投稿日時: 24/02/05 10:23:33
投稿者: evemama
メールを送信

ありがとうございました。
 
なんとか解決いたしました。