私はすぐに質問がありました - 右から始まって最も近い充填されたセルを拾い上げようとしています。値を取るために配列を反転する
私は左から始めてみましたが、空白のセルがある場合に問題が残ります。空のセルがあると、前に続行せずに停止します。誰か助けてもらえますか?
おかげ
Range("I6").Select
Selection.FormulaArray = "=INDEX(D6:H6,(MATCH(TRUE,ISBLANK(D6:H6),0))-1)"
Range("I6").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
編集。
本質的に。 D6に1、E6に2、E6に3があります。私はI6でwで終わり、コードは-1番目のセルを選択します。
しかし、問題は私が持っているときです
D | E | F | G | H |私|
1 --- 2 ------- 3 ------- 2
これは2ためCOLのI、行6に2あろう(Eにおいて)ブランクの前に来ます。 私が左からではなく右から配列を始めると、最初に塗りつぶされたセルを見ることができるので、作業が楽になります。
このコードには他に何かがありますか?書かれている目的に従うために、セルがD6:H6の範囲内で空白(1つの値しか表示されません)であれば、I6を一致させるように要求してから、I6をコピーして値を貼り付けて式を削除します。 Range( "I6")。Formula = ...を作成して、式から見積もりを削除して、コピー/貼り付けを省略することができます。ワークシート・アプリケーション・モディファイアも追加する必要があります。これはコードとインテントの有効な評価ですか? – Cyril
commnet Cryilに感謝します。上記を参照してください、私は明らかにした。 –
あなたがコメントしました(私はそれをテストしたときにいくつかの編集をしました)...私はいつもisblockを使って混乱しています(エクセル式で動作します)とisemptyを使用しています(VBAで動作します)。あなたの明確化を考えれば、法案に適合することを願っています。 – Cyril