OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

Excelデータの最終行判別について

  • 困ってます
  • 質問No.231598
  • 閲覧数673
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

VBでExcelデータ(Excel97)をAccessデータベース(Access97)に落とし込む処理をしたいのですが、空白行を含むExcelデータのレコードカウントを取得するにはどうしたら良いでしょうか?アドバイスよろしくお願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル8

ベストアンサー率 60% (21/35)

Excel97ではサポートされているか分かりませんがExcel2000では Sheets(シート名).Range("A1").SpecialCells(xlLastCell) で入力されている最後のセルを取得できます。 行数を取得するのでしたら rowcount = Sheets(シート名).Range("A1").SpecialCells(xl ...続きを読む
Excel97ではサポートされているか分かりませんがExcel2000では

Sheets(シート名).Range("A1").SpecialCells(xlLastCell)

で入力されている最後のセルを取得できます。
行数を取得するのでしたら

rowcount = Sheets(シート名).Range("A1").SpecialCells(xlLastCell).row

でできないでしょうか?
補足コメント
noname#3051

アドバイスありがとうございます。上記の内容ですが、マクロのみで使用されるコーディングなのでしょうか?Excel97,Excel2000でも試してみたのですが、「アプリケーション定義またはオブジェクト定義のエラー」で動作確認できませんでした。他に参照設定などの環境設定が必要なのでしょうか?
投稿日時 - 2002-03-11 13:10:17

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

使用している最終行を求めるマクロを書いてみました。ExcelVBAで動かす例です。 使用している列について、下から上に向かって調べています。 当方、Excel2000ですがExcel97でも問題ないと思います。ご参考に。 Sub GetmaxRow()   Dim maxCol As Integer, wkCol As Integer, col As Integer '最大列、列、 ...続きを読む
使用している最終行を求めるマクロを書いてみました。ExcelVBAで動かす例です。
使用している列について、下から上に向かって調べています。
当方、Excel2000ですがExcel97でも問題ないと思います。ご参考に。

Sub GetmaxRow()
  Dim maxCol As Integer, wkCol As Integer, col As Integer '最大列、列、カウンタ
  Dim MaxRow As Long, wkRow As Long, rw As Long '最大行、行、カウンタ

  '使用している一番右の列を求める
  maxCol = 1
  For rw = 1 To Range("A1").SpecialCells(xlLastCell).Row
    wkCol = Cells(rw, 256).End(xlToLeft).Column
    If maxCol < wkCol Then maxCol = wkCol
  Next

  '使用している一番下の行を求める
  MaxRow = 1
  For col = 1 To maxCol
    wkRow = Cells(65536, col).End(xlUp).Row
    If MaxRow < wkRow Then MaxRow = wkRow
  Next
  MsgBox "一番下の行は " & MaxRow & " です。"
  'MsgBox "一番右の列は " & maxCol & " です。"
End Sub
補足コメント
noname#3051

アドバイスありがとうございます。VBAで実行確認できました。同様のことをBisualBasicでしたいのですが、なかなかうまくいかないのでちょっと手間取っています・・・。VBでも同じことをされたことがありましたら、教えていただけると嬉しいです。
投稿日時 - 2002-03-11 13:32:44
  • 回答No.3
レベル7

ベストアンサー率 46% (7/15)

以前AccessデータをExcelデータに落とし込んで関数で帳票を作った時 のソースです。 ※ちなみに私はトーシロですので正しい書き方とは思っておりません。 「とりあえず動けばイイヤ!」と思った際に参考にして下さい。 '----------------------------------------------------------------- '処理(セルの値を取得し印 ...続きを読む
以前AccessデータをExcelデータに落とし込んで関数で帳票を作った時
のソースです。
※ちなみに私はトーシロですので正しい書き方とは思っておりません。
「とりあえず動けばイイヤ!」と思った際に参考にして下さい。
'-----------------------------------------------------------------
'処理(セルの値を取得し印刷範囲を設定する。その上で印刷を行いAcに戻る。)
Dim RetVal As String  '変数宣言「Shell起動」
Dim vPath As Variant  '変数宣言「Pathを取得」
Dim intPr1 As Long   'IFに使用するセルの値を取得
Dim intPr2 As Long   'IFに使用するセルの値を取得

'変数に特定のセルの値を代入
intPr1 = Worksheets("ファイル名").Range("C46").Value
intPr2 = Worksheets("ファイル名").Range("C100").Value

'もし変数の値が"0"の場合は、改ページプレビュー位置をA1~CG54に設定
If intPr1 = 0 And intPr2 = 0 Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$CG$54"
End If
'もし2pの値が"1"の場合は、改ページプレビュー位置をA1~CG108に設定
If intPr1 = 1 And intPr2 = 0 Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$CG$108"
End If
'もし3pの値が"1"の場合は、改ページプレビュー位置をA1~CG162に設定
If intPr1 = 1 And intPr2 = 1 Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$CG$162"
End If


'印刷。
ActiveWindow.SelectedSheets.PrintPreview 'プレビュー

'印刷は↓
'ActiveWindow.SelectedSheets.PrintOut Copies:=1

'Accessが置いてあるPath名を変数に代入。
vPath = "c:\Test.mdb"

'Access起動(※端末により異なる。)
RetVal = Shell("""" & "C:\Program Files\Microsoft Office97\Office\MSACCESS.EXE" & """" _
& """" & vPath & """", 1)
'改ページプレビューを元の位置に戻す。
ActiveSheet.PageSetup.PrintArea = "$A$1:$CG$162"
ActiveWorkbook.Save '保存する。
Application.Quit '終了する。
'-------------------------------------------------------------
※質問は受け付けますが、ご批判は勘弁してください。
(少なくとも動きました。)
  • 回答No.4
レベル7

ベストアンサー率 46% (7/15)

御免なさい! かなり的外れな答えでした。 スミマセン。 質問の方ですが、VBは「VB6.0」ですか?「VBA」ですか? >レコードカウントを取得 とは変数への取得ということでしょうか? ...続きを読む
御免なさい!
かなり的外れな答えでした。
スミマセン。
質問の方ですが、VBは「VB6.0」ですか?「VBA」ですか?
>レコードカウントを取得
とは変数への取得ということでしょうか?
補足コメント
noname#3051

言語はVIsualBasic6.0です。レコードカウント取得は変数格納ということでご指摘のとおりです。
投稿日時 - 2002-03-11 13:43:11
お礼コメント
noname#3051

VB6.0でExcelデータの最終行を取得する方法が見つかりました。マクロでの制御も勉強になりました。アドバイスくださったみなさん、ありがとうございました。
投稿日時 - 2002-03-11 16:09:09
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ