2017-07-19 4 views
0

私はすぐに質問がありました - 右から始まって最も近い充填されたセルを拾い上げようとしています。値を取るために配列を反転する

私は左から始めてみましたが、空白のセルがある場合に問題が残ります。空のセルがあると、前に続行せずに停止します。誰か助けてもらえますか?

おかげ

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において)ブランクの前に来ます。 私が左からではなく右から配列を始めると、最初に塗りつぶされたセルを見ることができるので、作業が楽になります。

+0

このコードには他に何かがありますか?書かれている目的に従うために、セルがD6:H6の範囲内で空白(1つの値しか表示されません)であれば、I6を一致させるように要求してから、I6をコピーして値を貼り付けて式を削除します。 Range( "I6")。Formula = ...を作成して、式から見積もりを削除して、コピー/貼り付けを省略することができます。ワークシート・アプリケーション・モディファイアも追加する必要があります。これはコードとインテントの有効な評価ですか? – Cyril

+0

commnet Cryilに感謝します。上記を参照してください、私は明らかにした。 –

+0

あなたがコメントしました(私はそれをテストしたときにいくつかの編集をしました)...私はいつもisblockを使って混乱しています(エクセル式で動作します)とisemptyを使用しています(VBAで動作します)。あなたの明確化を考えれば、法案に適合することを願っています。 – Cyril

答えて

1

右から順に、最も近いセルをピックアップしようとしています。右端ジャンプで

スタートは

cells(6,columns.count).end(xltoleft).select 
を残し、それは質問への更新を読んでA6

+0

私はこれをどのように使用するのか詳しく教えてください。 –

+0

私は何が起きているのかを見ます - カウントが始まる場所の範囲を修正する方法はありますか? I6の右側に塗りつぶされたセルがあるので、それは私が望んでいないものです –

+0

Columns.countを特定の番号に置き換えることができます。したがって、I6の左にある最初の空白のセルを見つけたい場合は セル(6,9 ).End(xltoleft)(私がアルファベットの9番目の文字なので) しかし、それは複雑になります。終了を使用して、コントロールとカーソルキーの使用を模倣し、テーブルの真ん中でその動作は直感的ではありません –

0

を選択したときに、行が完全に空でない限り、行6の最後の塗りつぶされたセルを選択し、それはあなたがワンているものかどう

Sub test() 
Dim i As Integer 

For i = 4 To 8 Step 1 'Calling out the Step in case you want to go from the right and say Step -1 

If ISEMPTY(Cells(6, i)) Then 

If ISEMPTY(Cells(6, 9)) Then 

    Cells(6, 9).Value = Cells(6, i - 1).Value 
    Else 
    End If 

Else 
End If 

Next i 
End Sub 

は私は知ってみましょう:私はあなたがあなたの最初の空白の前にRC [-1]の値を伝えるために、次の操作を行うことができると思いますティン。これは、I6が空白で、空白がある場合にのみI6が埋められることを前提としています。これにより、ループを終了させることができます(ラウンドアバウトの方法で)。

+0

ありがとう!より簡単な解決策を見つけた –

関連する問題