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

こんにちは。
CurrentRegion.Rows.Count
などを使って、
『もし、最終行が10000件を超えたなら、メッセージ”データが1万件を超えました』と表示させるには
どうしたらよいでしょうか?

A 回答 (4件)

●#2です。

CurrentRegion.Rows.Countなんてのを見たから#2のようなのを
あげましたが、この手のVBAは、動的でない。
入力した機会に走らない。
超えたときに、このルーチンを走らす保証がない。
●SelectionChangeイベントブロシージュアーで設定してもできそうだが、平凡。
●別に思いついたのが、データー入力規則で
A1:A10000を範囲指定。そして
データ-入力規則ー(入力値の設定)ユーザー設定ー(数式)
=COUNTA($A$10001:$A$65536)=0
(エラーメセージに適当なものを入れないと、何のエラーかわからないので注意。)
とする。$がいるらしい、OK分の=0を設定するなど試行錯誤しました。
VBAにするなら、これをマクロの記録をとって使えばどうですか。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ちょっと...むずかしそうですが、チャレンジしてみます。

お礼日時:2005/07/30 21:42

#1 です。


間違えました。
Range("A1").End(xlDown).Row

でした。
    • good
    • 0

私は


d = Range("A65536").End(xlUp).Row
If d > 10000 Then
とします。#1のご回答とUpとDownの違いです。
    • good
    • 0

こんにちは。



通常は、以下のように使います。
'-----------------------------------
Sub test1()
dim r As Long
r = Range("A65536").End(xlDown).Row
If r > 10000 Then
  MsgBox "データが1万件を超えました。"
End If
End Sub

'しかし、CurrentRegion を使う場合は、例えば、このような方法を取ります。
'-----------------------------------
Sub test2()
Dim rng As Range, r As Long
Set rng = Range("A1").CurrentRegion
r = rng(rng.Cells.Count).Row
If r > 10000 Then
  MsgBox "データが1万件を超えました。"
End If
End Sub

あまり、ひとつの方法にこだわらないほうがよいですね。
    • good
    • 0
この回答へのお礼

こんばんは。
ありがとうございます。
早速、使わせていただきました。

お礼日時:2005/07/30 21:40

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