No.3ベストアンサー
- 回答日時:
>そのすべてを配列に格納して処理しています。
であるのなら、
>aryWs2(cnt, 1)
にはセルの値は格納されていても、セルの背景色等は格納されていないと感じますけど?
⇒ As Range で宣言し Set ステートメントで代入してなければです。
例:
Dim v As Range
Set v = Range("A1:B2")
Debug.Print v(1, 1).Interior.ColorIndex = xlNone '背景色の場合
なので多分、
> Not aryWs2(cnt, 1) = (ColorIndex = xlNone)
は
aryWs2(cnt, 1).Interior.ColorIndex <> xlNone
で宜しいのではないかなと。
回答ありがとうございます。
配列を使わないで .Interior.ColorIndex = xlNoneとすることで、色なしを抽出することはできたのですが、配列で上記のコードを実行すると「オブジェクトが必要です」とエラーになります。宣言の場所に問題があるのでしょうか?
No.4
- 回答日時:
回答者: めぐみん_ です。
>配列を使わないで .Interior.ColorIndex = xlNoneとすることで、色なし
>を抽出することはできたのですが、配列で上記のコードを実行すると「オ
>ブジェクトが必要です」とエラーになります。
私が書いたのも配列です。
ただRange型としているものですけど。
そもそも配列は1次元~多次元の箱のような物で、その箱をRangeであるかString・Long等『変数の型』を何にするのかって事です。
質問文にはその情報がありません。
仮にValiantで宣言した物であれば、上記の『 .Interior.ColorIndex』に対するオブジェクト(Range型)は存在せず、多分他のもの(セルの値による)に自動変換していると思われます。
従って宣言場所の問題ではなく、宣言の型を使用可能なRange型で宣言する必要があると思いますよ。
回答ありがとうございます。
宣言文は Dim v As Range
Set v=Range("A1:AB1051")
と宣言してありますが、この文が間違いでしょうか?
No.2
- 回答日時:
No1です。
>変数ColorIndexの定義はどうすればいいのでしょうか?
なんだか意味が通じていないようですね。
その部分の評価式の形式は
A = (B = C)
になっているよ、ということを書いたつもりなのですが・・・
ColorIndex「属性」を用いたいのならこちらかな?
https://learn.microsoft.com/ja-jp/office/vba/api …
(上記は、MSのVBAに関するリファレンスサイトですので、ほとんどのことはここで情報を得ることができます。)
余談ながら、正式に対応する列挙値を使用するなら、xlColorIndexNone になるはず。
(実質は同じなので、それを理解した上での記述なら問題ありませんが)
>A And B Or Not C And Dの形式については順番については理解しているつもりです。
前出の式の形式を理解なさっていないようなので、更に複雑になっているこちらでは、本当に大丈夫なのかと思ってしまいますけれど・・・
Cが色の判定部分だとして、仮にその部分がFalseでも式全体ではTrueになり得る式ですが、それは意図通りってことなのですね?
もしそうなら、そもそもが、単純な
>色づけセルも選んでしまいます。
というような内容のご質問文にはならなさそうな気もするのですが・・
(ColorIndex = xlNone) の部分をxlColorIndexNoneに変えれば、ということでしょうか?結果は同じになり、色付けは除外されませんでした。
No.1
- 回答日時:
こんばんは
ほとんど説明が無いので意味不明ですけれど、勝手に想像・・・
VBA:「セル」と書いてあるので、エクセルVBAと想定。
aryWs2:セル範囲を示すRange型の変数と推測。
ColorIndex:変数定義されているのかどうか不明ですが、勘違いと推測。
>色づけセルも選んでしまいます。
色には背景色と表示色があるけれど、どちらなのかわからないし、どこにもそれらしき記述が見当たりません。
雰囲気からすると・・
>aryWs2(cnt, 1) = (ColorIndex = xlNone)
の部分がそのつもりなのかも知れない。
上記の右辺を評価すると、変数ColorIndexが未定義か、定義されていてもxlNoneとは異なる可能性が高そうなので、ほぼFalse値になる。
左辺のaryWs2(cnt, 1)はデフォルトでaryWs2(cnt, 1).Valueの意味になるので、
aryWs2(cnt, 1).Value = False
で判定している可能性が高く、多分、結果はFalseになっているだろうと推測される。
いずれにしろ、「セルの色」とは無関係の記述になっている。
色を取得(設定)する場合は、Color又はColorIndex属性を利用するけれど、
・背景色なら、セルのInterior オブジェクトの属性として
・文字色なら、セルの文字のFontオブジェクトの属性として
取得する必要があります。
https://learn.microsoft.com/ja-jp/office/vba/api …
Colorの場合はRGBカラー、ColorIndexの場合はテーマカラーのインデックス値になります。
なお、ご質問には直接関係ありませんけれど・・
判定式が A And B Or Not C And D という形式になっているけれど、どのような順で評価されるかをきちんと把握しているのでしょうか?
評価順が違うと、(勝手に)期待している内容とは異なる評価になる可能性があります。
きちんと()等で明示しておく方が賢いのではと思いますが・・
回答ありがとうございます。エクセルvbaでの記述です。
X列の日付から抽出したものの内A列にRGBで色付けされた行は除きたいのです。
変数ColorIndexの定義はしていません。
変数ColorIndexの定義はどうすればいいのでしょうか?
なお、A And B Or Not C And Dの形式については順番については理解しているつもりです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) エクセルVBAコピー 2 2022/06/08 21:45
- Excel(エクセル) マクロ(データ取得と転記)について教えてください 3 2022/12/24 12:18
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Visual Basic(VBA) セルS2に入力した「月」と一致したB列の右隣へセルS110の値を転記する下記マクロを実行するとエラー 2 2022/12/06 17:32
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Excel(エクセル) エクセルのセルの、そのセルから左に見ていって、文字があったらそのセルの所定の行を表示する方法 7 2022/04/25 09:11
- その他(プログラミング・Web制作) atcoder python コードへの助言 2 2022/08/12 15:31
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA 空白セルがあったら...
-
クリップボードの内容を変数に...
-
VBA 別ブックから条件に合うも...
-
VBA 文字列を1文字ずつ調べて"...
-
Excel VBA コンボボックスで空...
-
複数セルに〇印をつけるマクロ
-
Excelマクロで空白セルの大小比...
-
【VB.NET】DataGridViewセルの...
-
エクセル チェックボックスの...
-
マクロについて質問です 範囲内...
-
Excel 入力規則のリストのカー...
-
マウスを乗せたときにセルの色...
-
【VBA】セルが空白の場合に処理...
-
エクセル: セルの枠を超えて表示
-
エクセルでの計算式で求められ...
-
エクセルのセル内の余白の設定...
-
エクセルのセル内に全角数字を...
-
条件付書式で「=#N/A」に色を付...
-
EXCELで特定のセルに表示...
-
IF関数で空欄("")の時、Null...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 空白セルがあったら...
-
VBA 別ブックから条件に合うも...
-
Excel VBA コンボボックスで空...
-
クリップボードの内容を変数に...
-
Excel 入力規則のリストのカー...
-
Excel_VBAについて質疑です。(...
-
複数セルに〇印をつけるマクロ
-
エクセルの取り消し線を検出す...
-
マウスを乗せたときにセルの色...
-
VBA サンダーバードのメール自...
-
GridViewの行選択イベントを発...
-
【VB.NET】DataGridViewセルの...
-
【VBA】セルが空白の場合に処理...
-
VBA 文字列を1文字ずつ調べて"...
-
vbaで色付けされたセルを除外し...
-
マクロについて質問です 範囲内...
-
JTableにおけるセルの結合について
-
Excelマクロで空白セルの大小比...
-
SPREADで1つのセルに複数のチ...
-
アクティブセルのひとつ右をア...
おすすめ情報
説明が不十分のようなので補足します。
元表のWs2はA列からAB列まであり、1050行あります。
そのすべてを配列に格納して処理しています。
その中からIF文での抽出部分です。X列の日付をd1として抽出しますが、そのうちのA列に色づけされた行を除外したいのです。色付けのセルを他の列に文字情報として置き換えれば正確に抽出されるのですが、直接A列の色情報だけで抽出できないかと考えています。
よろしくお願いいたします。