Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


21103 / 76732 ←次へ | 前へ→

【61034】Re:レコードの件数の表示
質問  peke  - 09/4/5(日) 1:59 -

引用なし
パスワード
   ichiseさん、温かい回答有難うございます。

少し長くなりますが、詳しく説明します。

1.、データ一覧の定義ですが、顧客シートのB3〜O6間をデータ一覧とブック内に

設定しました。

 その範囲には、数字、文字、が含まれています。

↓内容詳細

注文番号 日付 取引先 現場名 作業内容 請求単価 数量 単位 金額 作業員コード 作業員名 支払単価 支払金額 備考

上記の14項目になり、2行分データを作り、1行空白 以下空白にしています。

2.DataDlgという名前のユーザーフォームを作り、一番上の部分に

 レコード件数:00000/00000 ←ラベルを設置し、このラベルに
 表示されているデータは何番目/合計データ件数 を表示させるために、

以下のコードを記述しています。

Dim RecordCount As Long  'データの入力件数
Dim CurrentRecord As Long '現在表示しているデータの行位置


Private Sub BackButton_Click()
'-----------------------------------------------------
' [<]ボタンで前のレコードを表示する
'-----------------------------------------------------
  If CurrentRecord = 1 Then
    Exit Sub
  End If
  CurrentRecord = CurrentRecord - 1
  ReadData CurrentRecord
End Sub

Private Sub CloseButton_Click()
'-----------------------------------------------------
' [売上データ]ダイアログを閉じる
'-----------------------------------------------------
  Unload DataDlg
End Sub

Private Sub EndButton_Click()
'-----------------------------------------------------
' [>l]ボタンで最終レコードを表示する
'-----------------------------------------------------
  CurrentRecord = RecordCount
  ReadData CurrentRecord
End Sub


Private Sub NextButton_Click()
'-----------------------------------------------------
' [>]ボタンで次のレコードを表示する
'-----------------------------------------------------
  If CurrentRecord = RecordCount Then
    Exit Sub
  End If
  CurrentRecord = CurrentRecord + 1
  ReadData CurrentRecord
End Sub

Private Sub TopButton_Click()
'-----------------------------------------------------
' [l<]ボタンで先頭レコードを表示する
'-----------------------------------------------------
  CurrentRecord = 1
  ReadData CurrentRecord
End Sub

Private Sub UserForm_Initialize()
'-----------------------------------------------------
' [売上データ]ダイアログを初期化する
'-----------------------------------------------------
  Dim rowIndex As Long
  Dim columnIndex As Integer
  
  ' [登録されている顧客]のリスト項目を設定する
  rowIndex = Range("顧客一覧").Rows.Count - 1
  columnIndex = Range("顧客一覧").Columns.Count
  CustomerBox.RowSource = "顧客!" & Range(Range("顧客一覧").Cells(1, 1), Range("顧客一覧").Cells(rowIndex, columnIndex)).Address
                
  ' データを表示する
  CurrentRecord = 1
  ReadData CurrentRecord
  
End Sub


Private Sub ReadData(num As Long)
'------------------------------------------------------
' データベースのデータを取り出して表示する
'------------------------------------------------------
  ' 現在のレコードとデータ件数を表示する
  RecordCount = WorksheetFunction.Count(Range("データ一覧").Columns(1))
  RecordLabel = "レコード件数:" & CurrentRecord & "/" & RecordCount
  
  ' データを表示する
  NumberBox.Text = Range("データ一覧").Cells(num, 1)
  DateBox.Text = Range("データ一覧").Cells(num, 2)
  CustomerBox.Text = Range("データ一覧").Cells(num, 3)
  GennbameiBox.Text = Range("データ一覧").Cells(num, 4)
  SagyounaiyouBox.Text = Range("データ一覧").Cells(num, 5)
  SeikyuuTannkaBox.Text = Range("データ一覧").Cells(num, 6)
  QuantityBox.Text = Range("データ一覧").Cells(num, 7)
  TanniBox1.Text = Range("データ一覧").Cells(num, 8)
  TotalBox.Text = Range("データ一覧").Cells(num, 9)
  SagyouinnCodeBox.Text = Range("データ一覧").Cells(num, 10)
  SagyouinnNameBox.Text = Range("データ一覧").Cells(num, 11)
  SiharaiTannkaBox.Text = Range("データ一覧").Cells(num, 12)
  TotalBox1.Text = Range("データ一覧").Cells(num, 13)
  BikouBox.Text = Range("データ一覧").Cells(num, 14)

  
End Sub


上記コード記述した結果

合計レコード件数が 0と表示され "データ一覧"の範囲以下の行も表示していまい

ます。

この現状から、1.未入力行は表示しないようにする
       2.合計レコード件数を現在入力済みである2にする

には、どうすればいいのか全くわかりません。

原因として考えられる事があれば、教えて下さい。
宜しくお願いします。
0 hits

【61026】レコードの件数の表示 peke 09/4/4(土) 2:29 質問
【61027】Re:レコードの件数の表示 ichinose 09/4/4(土) 7:37 発言
【61034】Re:レコードの件数の表示 peke 09/4/5(日) 1:59 質問
【61048】Re:レコードの件数の表示 ichinose 09/4/5(日) 21:35 発言
【61049】Re:レコードの件数の表示 peke 09/4/6(月) 9:12 お礼

21103 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free