|
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にする
には、どうすればいいのか全くわかりません。
原因として考えられる事があれば、教えて下さい。
宜しくお願いします。
|
|