私が作業しているvbaスクリプトがあります(数百行)。コードの1つのセクションは、セルの行をループし、残りのデータに先行する「文字列」を追加することになっています。なぜこれが動作していないのかわかりませんが、元の値で何とかデータを上書きしていると思われます。ヘルプは非常に高く評価されます。ありがとうございました。元の値の前に "文字列"を含めるようにセルの値を変更する
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
For y = 1 To 26
If UCase(Cells(1, y).Value) Like "*MISC COMMENTS*" Then
Cells(1, y).Value = "Comments"
For Q = 2 To lastRow
If Cells(Q, y).Value <> "" Then
Cells(Q, y).Value = "Misc Comment - " & Cells(Q, y).Value
End If
Next Q
End If
Next y
データは、私は私のスクリプトがエラーなしで
Comments '<-- Header'
Misc Comment - This is a simple '<-- Data'
Misc Comment - Problem but I '<-- Data'
Misc Comment - cannot figure '<-- Data'
Misc Comment - it out. '<-- Data'
実際の結果(データは変更されません)
Misc Comments etc. '<-- Header'
This is a simple '<-- Data'
Problem but I '<-- Data'
cannot figure '<-- Data'
it out. '<-- Data'
にデータを向けるべきだと考え
Misc Comments etc. '<-- Header'
This is a simple '<-- Data'
Problem but I '<-- Data'
cannot figure '<-- Data'
it out. '<-- Data'
のように見えます私のエラーは私だと思うn次のチャンク
If Cells(Q, y).Value <> "" Then
Cells(Q, y).Value = "Misc Comment - " & Cells(Q, y).Value
End If
私はそれを間違って呼び出す方法はわかりませんが、
のisEmpty(細胞(Q、y)は)= Falseをした場合のライン '細胞(Q、Y).Valueの= "その他コメント - " にブレークポイントを入れて – WltrRpo
次に試してみてください&細胞(Q、Y)。あなたのコードがその行に当たっているかどうかを確認してください。そうでない場合は、ステップスルーしてデバッグして*なぜ*そうでないかを調べる。 –
@DavidZemens私は先に進んでブレークポイントを追加しました(これは発見すべき素晴らしい機能です)。上の 'If Cells(Q、y).Value <> 'Then Then'ステートメントからデータを含む行をスキップしているようです。私はこのコードが "空の"ボックスをスキップし、データを持つボックスにデータを追加すると考えました。 – bluerojo