アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております
Excelシートのあるセルに、
=COUNTIF(K321:K336,"○")
のような関数を挿入してあります。
行挿入する毎に、K321:K336の範囲指定部分を
1つずつ増やしていきたい(k322:k337のように・・)のですが
VBAでは、どのように記述すればよいのでしょうか

よろしくお願いします

A 回答 (3件)

こんにちは。



>行挿入する毎に、K321:K336の範囲指定部分を
>1つずつ増やしていきたい(k322:k337のように・・)のですが

行を挿入する毎、という意味がはっきりしません。行はまとめて挿入すればよいと思います。それに、簡単にAutoFill を使えばよいのではありませんか。記録マクロの範囲内だと思います。

Dim i As Long
i = 10
'A1に数式があるとすれば、そのA1を含んで、AutoFillをする
Range("A1").AutoFill Range("A1:A" & CStr(i))
' CStr(i) は、i だけでもよい
'もちろん、Copy でもよい

-------------------------
=COUNTIF(K321:K336,"○")

絶対参照式ではありませんので、オートフィルで、セルの数だけ引っ張ればよいです。
    • good
    • 0

> VBAでは、どのように記述すればよいのでしょうか



For I = 321 To 322
Debug.Print Application.WorksheetFunction._
CountIf(Range("K" & I & ":K" & I + 15), "○")
Next I

で、増やしていけば計算しません?
それとも、セルに式を入れて行きたいのかな?
    • good
    • 0

必ずその範囲(K321:K336)だけならば、その範囲に名前をつける方法をお勧めします。


(範囲選択しておいて、ツールバー「挿入」→「名前」→「定義」→任意の名称)
任意の名称を「okweb」としたら、
=COUNTIF(okweb,"○")となります。
挿入に伴ってどんどんずれていきます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!