良い一日以降の予選値で置き換えるために、VBAコード特定の値をスキップして
私は、コーディングに非常に新しく、VBAマクロでものをコーディングする新しい完全なブランドです。 vbaの有用性を発見した後、私は今それについてもっと学ぶ努力をしています。助けや援助は非常に高く評価されます。
これは私がこれまでに働いていたコードです:
Option Explicit
Const initrow As Integer = 3
Const ENDROW As Long = 65536
Const PrimaryLengthCol As Integer = 1 '"A"
Sub Test()
Dim lastrow As Double
Dim i As Double
Dim irow As Double
lastrow = Cells(Rows.Count, "A").End(xlUp).Row
Application.ScreenUpdating = False
irow = 0
i = 0
For i = 0 To lastrow
If Cells(initrow + irow, PrimaryLengthCol + 2) = "BLANK" Then
Continue For
Cells(initrow + i, PrimaryLengthCol + 3).Value = Cells(initrow + irow, PrimaryLengthCol + 2).Value
End If
Next
End Sub
だから基本的に私が遭遇してる問題は次のとおりです。
私は列「A」(入力欄に以下しています):
- 14.155
- 14.128
- 15.589
- BLANK
- BLANK
- BLANK
- 15.158
Iは、各セルをループにVBAコードを必要とし、細胞が等しくされている場合に "ブランク"(文字列)対応するセルは後続の番号をとる。さらに、列「A」の値がゼロに等しい場合、出力は列「B」の「ボイド」に等しい。
だから、コラム "B"(出力列)内の所望の出力は次のようにする必要があります:
- ボイド
- 14.155
- 14.128
- 15.589
- 15.158
- 15.158
- 15.158
- 15。
最後基準158は、その列内のセル「は」等しい「ブランク」より前のセルにゼロ値が先行したした場合、それらの「ブランク」場合と「ボイド」値にも等しいです出力列 "B":だから
列 "A" は、このシナリオを持っていた場合:
- BLANK
- BLANK
出力列「B」はする必要があります:
- 無効
- 無効
- のボイド私はループにしたいので、継続適用する方法がわからないんだ
次の反復のために「空白」セルを「スキップ」するが、それに続く適格値と共に「B」列に対応する値をまだ充填する。私はvbaを通してこれを完成させることを好むでしょう。なぜなら、言語を学ぶことをもう一度試みているから、私はそれを自分自身に強要しているからです。
再度、この問題に関する援助をいただければ幸いです。
ありがとうございました!ここで
(a)あなたはこれまでにどのようなコードを思い付いていますか? (これは「私たちがあなたのためにコードしている」サイトではありません - それは "私たちがあなたの**コード作業を手助けする"サイトです)。(b) 'BLANK 'は実際のテキスト文字列" BLANK "文字列、または空のセル? (c)これはExcelの公式では簡単に実現できますが、列Bと列Cを使用する必要があります(誰かが気に入っていない限り)。あなたのソリューション**は** VBAを必要としますか、またはあなたは数式の使用に開放されていますか? – YowE3K