前提・実現したいこと
Excel VBA のAutofill機能を使ってA列にあるセルを順々に下に行き、値が0になったら、Autofillを止めたいのですが、やり方が分からなく、どなたか助けて頂けないでしょうか?
該当のソースコード
ここまではできたと思います。Loopを使うと思うのですが、どこで使えばいいのか分かりません。 i = 7 to n Range("A6").AutoFill Range("A6:A" & i)
試したこと
Dim Cell as Range
i = 7 to n
Range("A6").AutoFill Range("A6:A" & i)
For Each cell In Range("A6:A" & i)
If cell.Value <> 0 Then
Else End If
AutoFillを使わないといけないのでしょうか?
A6は値でしょうか?数式でしょうか?
返信ありがとうございます。ChangeLinkも含まれているので、AutoFillの使用は必須になります。A6は値です。
不勉強のため逆に教えていただきたいのですが、ChangeLinkというものを使ったことがないので、どうしてAutoFillと関連するのかがわかりません。
A6が単なる値であるなら、AutoFillを使わずにA6の値をループで減算してあげればよいだけの気がしますが。
返信ありがとうございます。他のマクロと関連していて、そのマクロでできた新しいワークシートがまた別のワークシートと繋がっているので、まず新しくできたワークシートのリンク元を変えないといけない作業があります。その別のシートを元にAutoFillをしているのでAutoFillが必須になってきます。
可能性としては私は必要以上に複雑な事をしているんだと思います。A6は値なのですが、ループを繰り返すといつか必ずどこかで0という値にたどり着きます。ただ、それは日によって異なります。「0になったら、ループをやめる」でもいいと思うのですが、それもやり方が分からなく、非常に困っています。
すいません、A6は値ではなく、Stringです。でも、必ずいつかAutoFillをやっていくと0になります。
値はA6だけに入っている状態ですか。それともその前のセルにも値はありますか。
具体的にどのような値が入ってますか。
「Stringです。」の意味が数値ではないテキストということならオートフィルで0になることはないと思いますが。

回答2件
あなたの回答
tips
プレビュー