|
▼toki さん:
>▼ponpon さん:
>アドバイスありがとうございます。ひとつずつ追っかけてみたところ、やはりFor文が無限ループになっていました。
>myRの要素がなくなったらループは終わるかと思ったのですが、空白のままループしてしまうようです。
>そこで、
> If c.Value = "" Then
> Exit For
>を入れたところ、うまく抜けられました。
Set myR = .Range("C7", "C65536").SpecialCells(xlCellTypeVisible)
↓
Set myR = .Range("C7", .Range("C65536").End(xlUp).SpecialCells(xlCellTypeVisible)
としないとC65536までいくようです。(無限ではありませんが確認しました)
myR.Selectと入れてみるとわかったと思います。
>ところで、点数のコピペのところなのですが、変数cを起点に、offsetをかけると、4月単月はよいのですが、5月以降も変数cを起点にすると
>4月のデータが張り付いてしまうことがわかりました。
>そこで、各月のC列から社員番号の行を拾いだして起点のセルを変数tenにSetしてResizeしたところうまくいきました。
↑
これをやっているつもりでしたが・・・・
仕様の全景が見えているわけではないので何ともいえませんが、
With Worksheets("5月")
Set myR = .Range("C7", .Range("C65536").End(xlUp).SpecialCells(xlCellTypeVisible)
For Each c In myR
・・・・・・・・・
・・・・・・・・・
Next
End With
となっていれば、そんなことにはならないと思いますし、
>変数cをオブジェクト(セル)として考えていたのですが
でよいと思います。
.Rangeの.の前は、何の省略なのか。親は何なのか?
With節の使い方に間違いがあるのかもしれません。
私がわかるのは、これだけです。
がんばってください。
|
|