Page 620 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼ありがとうございました。 ヒデノ 03/1/27(月) 21:53 ┗Re:ありがとうございました。 ichinose 03/1/27(月) 23:00 ┗【3168】非表示行をカウントしない方法 ... ヒデノ 03/1/28(火) 10:52 ─────────────────────────────────────── ■題名 : ありがとうございました。 ■名前 : ヒデノ ■日付 : 03/1/27(月) 21:53 -------------------------------------------------------------------------
回答ありがとうございました。 早速試してみましたが、Row(ActiveCell.Row)の値が1の ままで変化しませんでした。 Windows2000で、Excel2002を使用しているのですが、 設定が不足しているのでしょうか? Sub Macro1() ActiveSheet.Activate Cells(1, 1).Select Application.SendKeys "{ENTER}", True DoEvents Row = ActiveCell.Row Application.SendKeys "{DOWN}", True DoEvents Row = ActiveCell.Row End Sub |
▼ヒデノ さん: こんばんは。 >早速試してみましたが、Row(ActiveCell.Row)の値が1の >ままで変化しませんでした。 >Windows2000で、Excel2002を使用しているのですが、 >設定が不足しているのでしょうか? > >Sub Macro1() > ActiveSheet.Activate > Cells(1, 1).Select > Application.SendKeys "{ENTER}", True > DoEvents > Row = ActiveCell.Row > Application.SendKeys "{DOWN}", True > DoEvents > Row = ActiveCell.Row >End Sub ex2000では、変数Rowに正しい値が入っていました(2002は、まだインストールしてないんで確認してませんが)。 Doevents入れなきゃ駄目ってのも納得いかないところなんですが・・・。 取りあえず、こっちの方法で '================================================= Sub test() Dim rng As Range Set rng = 次の行から調べて見つかった表示セル(ActiveCell) If Not rng Is Nothing Then MsgBox rng.Row End If End Sub '==================================================== Function 次の行から調べて見つかった表示セル(rng As Range) As Range On Error Resume Next Set 次の行から調べて見つかった表示セル = Range(rng.Offset(1, 0), Cells(65536, rng.Column)).SpecialCells(xlCellTypeVisible).Item(1) If Err.Number <> 0 Then Set 次の行から調べて見つかった表示セル = Nothing End If On Error GoTo 0 End Function ではどうでしょうか? |
ichinose 様 お忙しいところ貴重なお時間を割いていただきまして、 誠にありがとうございました。 おかげさまでうまくカウントすることができました。 心から感謝いたします。 でも、またよろしくお願いします。 |