0
誰かが私にこれを理解させてくれることを願っています。このコード行に2番目のインスタンスでExcelエラーが発生する
Run-Time error '1004':
Application-defined or object-defined error
ポイント:私が間違っているのですが、私のプログラムは私というエラーを与えているかわからない私のプログラムは最初(、最初のインスタンスのために働く
lr.Range(1, 1).Value = Date
あなたがそれを実行する時)。そして、あなたがプロセスを繰り返すならば、このエラーを投げてください。助けてください!私は1週間ここにこだわってきた。
ここにはコマンドボタンに配置された完全なコードがあります。基本的に、コードは、ユーザーが別のユーザーフォームから入力したいくつかの詳細を記録します。あなたが保護されたシートでlistrowを追加しようとするあなたの次のコードで
Dim ws As Worksheet
Dim ws1 As Worksheet
Dim lo As ListObject
Dim lr As ListRow
Dim X As String
Set ws1 = Sheets("ACCOUNTS")
Set ws = Sheets("OB RECORDS")
ws1.Activate
ws1.Range("B1").Select
Do Until ActiveCell.Value = Me.TextBox1.Text
ActiveCell.Offset(1, 0).Select
If IsEmpty(ActiveCell.Value) Then
MsgBox "No Time-In Found", vbCritical
Me.TextBox1.Text = ""
Me.TextBox1.SetFocus
Exit Sub
End If
Loop
ActiveCell.Offset(0, -1).Select
X = ActiveCell.Value
ws.Activate
ws.Range("E6").Select
Do Until X = Me.txtcont.Text 'txtcont value is being populated at a different form (frmpass.txtcont.Text = Me.cmbstaff.Text)
ActiveCell.Offset(1, 0).Select
If IsEmpty(ActiveCell.Value) Then
MsgBox "No account matches this password. Please try again.", vbCritical
Me.TextBox1.Text = ""
Me.TextBox1.SetFocus
Exit Do
Exit Sub
End If
Loop
Range("I" & (ActiveCell.Row)).Select
If IsEmpty(ActiveCell) Then
MsgBox "Unable to Time-Out this time because you still have an unclosed O.B filed." & vbNewLine & "Please Time-In and close first.", vbCritical
Unload Me
frmOB.Show
Exit Sub
End If
Set lo = ws.ListObjects(1)
Set lr = lo.ListRows.Add
ws.Unprotect "321321"
lr.Range(1, 1).Value = Date 'this is where the error is and I don't know why
lr.Range(1, 2).Value = frmout.TextBox1.Text
lr.Range(1, 3).Value = UCase(frmout.cmbstaff.Text)
lr.Range(1, 4).Value = UCase(frmout.TextBox2.Text)
lr.Range(1, 5).Value = UCase(frmout.TextBox3.Text)
lr.Range(1, 5).Value = UCase(frmout.TextBox3.Text)
lr.Range(1, 6).Value = Time
lr.Range(1, 6).NumberFormat = "h:mm:ss AM/PM"
lr.Range(1, 8).Value = UCase(frmout.TextBox4.Text)
ActiveWorkbook.Save
MsgBox "O.B log successfully recorded. Take care!", vbInformation
ws.Protect "321321"
Unload Me
frmOB.Show
Exit Sub
Application.ScreenUpdating = True
おそらく無関係なのが、 '出口はすぐに意味Do'が評価されることはありません'出口を、以下のSub'表示した後''このパスワードと一致するアカウントはありません。 ''あなたのコードは継続しています。 – YowE3K
リストオブジェクトではあまり機能しませんでした。 'lr.Range(1、1)'を 'lr.Columns(1)'に変更するとそれが修正されますか?とにかくそれは単一行であるので、それはただ一つのセルを返すべきです。 – AntiDrondert