VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2002/12/24(Tue) 21:03
投稿者New16
URL
タイトルExcelのUsedRangeについて

はじめまして。
いつも参考にさせていただいています。

以下のようなExcelの使用範囲を取得する関数を作成しているのですが、
UsedRangeで最終行が正確に取得できない場合があります。

>>>>>>>>>>>>>>>>>>>>
Public Function GetDataRange(wks As Worksheet) As Boolean

Dim rng As Range

On Error GoTo ErrorHandler
    
    GetDataRange = False
    
    Set rng = wks.UsedRange

    MaxRow = rng.Rows.Count
    MaxCol = rng.Columns.Count
    MinRow = 1
    MinCol = 1
    
    If Not rng Is Nothing Then Set rng = Nothing
    GetDataRange = True
    Exit Function

ErrorHandler:
    If Not rng Is Nothing Then Set rng = Nothing

End Function
<<<<<<<<<<<<<<<<<<<<

通常は、「rng.Rows.Count」で最終行を正確に取得できるのですが、
中に取得できないケースがあります。
例えば、
10行目までしかデータが入力されていないのに、
rng.Rows.Countでは1104行が取得される
(1104行目には何も入力されていません)
といった現象です。

原因がわかる方御教示ください。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -