habe unter Hilfe eine USERFORM gebaut, die nachfolgendes Makro zum Suchen und Anzeigen von Datensaetzen ueber Textboxen enthaellt. Das Makro laeuft, solange sich die Schaltflaeche zum Aufrufen der USERFORM im Arbeitsblatt befindet, in welchem auch die Datensaetze sind. Nun moechte ich aber eine Art Frontend in einem separatem Arbeitsblatt machen, die alle Makros/Funktionen meiner bescheidenen Datenbank zentral enthaellt.
Tja und nun erhalte ich den beruehmten run-time-error 1004 (activate-methode des range obkejtes kann nicht ausgefuehrt werden) in der Zeile mit "myRange.Activate". Da mein VBA nach wie vor eher bescheiden ist, wollte ich euch fragen, was ich falsch mache in der Ansprache des Arbeitsblattes mit den Datensaetzen. Oder liegt der Fehler woanders?
Vielen Dank vorab fuer euere Unterstuetzung!
Gruesse,
Markus
'
' suchen
'
Private Sub CommandButton2_Click()
Dim WkSh As Worksheet
Dim lLetzte As Long
Dim myRange As Range
Dim strAddress As String
Dim bolAbbruch As Boolean
CommandButton3.Enabled = False ' den Änder-Button sperren
CommandButton4.Enabled = False ' den Lösch-Button sperren
Set WkSh = Worksheets("Dettagli record")
Sheets("Dettagli record").Protect , UserinterfaceOnly:=True
lLetzte = WkSh.Range("A65536").End(xlUp).Row
If lLetzte strAddress Then
myRange.Activate
FundZeile = ActiveCell.Row
GoSub Anzeigen
End If
End If
Loop While Not myRange Is Nothing And myRange.Address strAddress
If Not bolAbbruch Then
MsgBox "Altro record non c'è purtroppo!", _
48, " Informazione per " & Application.UserName
FundZeile = 0
Else
MsgBox "Non trovato!", _
48, " Informazione per " & Application.UserName
FundZeile = 0
End If
Else
MsgBox "Non trovato!", _
48, " Informazione per " & Application.UserName
FundZeile = 0
With TextBox2
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
End With
End If
Exit Sub
Anzeigen:
If FundZeile = 0 Then Exit Sub
TextBox1.Value = ActiveCell.Offset(0, 0).Value ' ID record
TextBox2.Value = ActiveCell.Offset(0, -1).Value ' ID cliente
TextBox3.Value = ActiveCell.Offset(0, 1).Value ' Straßenname
TextBox4.Value = ActiveCell.Offset(0, 2).Value ' Postleitzahl
TextBox5.Value = ActiveCell.Offset(0, 3).Value ' Ortsname
TextBox6.Value = ActiveCell.Offset(0, 4).Value ' Ortsname
TextBox7.Value = ActiveCell.Offset(0, 5).Value ' Telefon
TextBox8.Value = ActiveCell.Offset(0, 6).Value ' Telefon
TextBox9.Value = ActiveCell.Offset(0, 7).Value ' Telefon
TextBox10.Value = ActiveCell.Offset(0, 8).Value ' Telefon
TextBox11.Value = ActiveCell.Offset(0, 9).Value ' Telefon
TextBox12.Value = ActiveCell.Offset(0, 10).Value ' Telefon
TextBox13.Value = ActiveCell.Offset(0, 11).Value ' Telefon
Return
End Sub