Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehler im VBA Code

Fehler im VBA Code
05.12.2006 06:48:51
Josef
Hallo!
In der ComboBox24 sind Datensatznummern von 1 bis 25000 eingetragen.
Jetzt möchte ich das folgendes passiert:
Ist das Arbeitsblatt "Schalter" aktiv und ist in der dataktBox1 der heutige Tag eingetragen dann suche in der Spalte E dieses Datum und aktiviere den Datensatzwert zu diesem Datum in der Combobox24

Private Sub CommandButton7_Click()
On Error Resume Next
Dim t%
Dim wks1 As Worksheet
Dim Suche As Range
Set wks1 = Workbooks("Gesundheitswesen Wien.xls").Worksheets("Schalter")
If ActiveSheet.name = "Schalter" And dataktBox1.Text = Date Then
Set Suche = wks1.Range("E2:E252").Find(CDate(dataktBox1.Text), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows)
If (Not Suche Is Nothing) Then ' <-- hier der Test
t = Suche.Row
ComboBox24.Value = Cells(t, 1).Text
TextBox5.Text = Cells(t, 5)
End If
End If
End Sub

Leider funktioniert dieser Code so nicht. Wo habe ich hier bitte den Fehler gemacht?
Danke
Josef

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler im VBA Code
05.12.2006 08:30:55
Armin
Hallo Josef,
das kann man daraus nicht klar erkennen. Welcher Fehler tritt auf?
Wahrscheinlich ist die Zuweisung Cells(t,1).text und Cells(t,5) nicht korrekt. Vor allem wenn Du mit mehreren Tabellen arbeitest sollte der Bezug eindeutiger sein. Denn meist kann man nicht immer garantieren, dass das richtige Sheet aktiv ist. Also besser Worksheets("Tabelle").Cells(t,1).Value.
AW: Fehler im VBA Code
05.12.2006 09:43:39
Josef
Hallo Armin!
Jetzt habe ich hier folgenden Code:

Private Sub CommandButton7_Click()
On Error Resume Next
Dim t%
Dim wks1 As Worksheet
Dim Suche As Range
Set wks1 = Workbooks("Gesundheitswesen Wien.xls").Worksheets("Schalter")
If ActiveSheet.name = "Schalter" And dataktBox1.Text = Date Then
Set Suche = wks1.Range("E2:E252").Find(CDate(dataktBox1.Text), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows)
If (Not Suche Is Nothing) Then ' <-- hier der Test
t = Suche.Row
ComboBox24.Value = wks1.Cells(t, 1).Text
TextBox5.Text = wks1.Cells(t, 5)
End If
End If
End Sub

Wenn jetzt das heutige Datum gefunden z.B. in der Zeile 252 dann sollte der Wert aus A251 in der ComboBox24 aktivert werden bzw. der Wert aus E251 in die Textbox5 eingetragen werden.
Anzeige
AW: Fehler im VBA Code
05.12.2006 11:18:35
Ramses
Hallo
"...If ActiveSheet.name = "Schalter" .."
Ist überflüssig da WKs1 als Objekt bereits zugewiesen ist.
"...And dataktBox1.Text = Date..."
Ein Text ist ein Text und kein Datum. Typ-Umwandlung verwenden:
And CDate(dataktBox1.Text) = Date
"...z.B. in der Zeile 252 dann sollte der Wert aus A251 ..."
Das ist eine andere Zeile ?
Bist du sicher ? Wenn ja, dann muss es heissen
ComboBox24.Value = wks1.Cells(Suche.Row - 1, 1).Text
TextBox5.Text = wks1.Cells(Suche.Row - 1, 5)
Damit sparst du dir eine Variable ;-)
und die Klammern bei "If (Not Suche Is Nothing) " kannst du weglassen
Der Code ist getestet und funktioniert,... sofern die Einträge in der combobox auch tatsächlich vorhanden sind :-)

Private Sub CommandButton7_Click()
'sowas macht man nicht global ;-)
'On Error Resume Next
Dim wks1 As Worksheet
Dim Suche As Range
Set wks1 = Workbooks("Gesundheitswesen Wien.xls").Worksheets("Schalter")
If CDate(Me.dataktBox1.Text) = Date Then
With wks1
'Gezieltes ausschalten ist erlaubt :-)
On Error Resume Next
Set Suche = .Range("E2:E252").Find(CDate(dataktBox1.Text), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows)
On Error GoTo 0
If Not Suche Is Nothing Then ' <-- hier der Test
Me.ComboBox24.Value = .Cells(Suche.Row - 1, 1).Text
Me.TextBox5.Text = .Cells(Suche.Row - 1, 5)
End If
End With
End If
End Sub

Gruss Rainer
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige