Thema Datum  Von Nutzer Rating
Antwort
06.09.2017 22:29:53 Paul
NotSolved
Blau Eingabemaske für Datenbank in Excel
07.09.2017 00:33:52 Ben
NotSolved
10.09.2017 22:08:01 Gast68340
NotSolved

Ansicht des Beitrags:
Von:
Ben
Datum:
07.09.2017 00:33:52
Views:
572
Rating: Antwort:
  Ja
Thema:
Eingabemaske für Datenbank in Excel

Hallo Paul,

ein wenig mehr Hintergundinfos wären ganz hilreich gewesen.

z.B. dass Combobox7 nur Zahlenwerte enthält.

Die Sub funktioniert nur solange, wie in Spalte A der Wert enthalten ist, der in Combobox7 eingegeben wurde.

Mir ist schlierhaft, welchen Zweck es erfüllen soll, einen Wert der Combobox7 zuzuweisen, um diesen Wert in der nächsten Zeile wieder neu zu setzen:

        ComboBox7.Value = rng.Value
        ComboBox7.Value = " "

Der Befehl ...

ActiveSheet.Range("a5:a10000").Cells.Find(What:=Suchen, lookat:=xlWhole).Activate

verursacht einen Fehler, wenn der gesuchte Wert nicht gefunden wurde. Daher wurde dieser verändert:

Sub CommandButton1_Click()
     
    'On Error GoTo EERR
    Dim rng As Range
    Dim Suchen As Variant
    ActiveSheet.[all] = 0
    ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Select
    ActiveCell.Offset(1, 0).Select
    If ComboBox7 <> " " Then
        Suchen = ComboBox7.Value
        Set rng = ActiveSheet.Range("a5:a10000").Cells.Find(What:=Suchen, lookat:=xlWhole)
        If rng Is Nothing Then
            GoTo EERR
        End If
    End If
    If IsNumeric(rng.Value) Then
        rng.Offset(ColumnOffset:=1).Value = TextBox1.Value
        rng.Offset(ColumnOffset:=2).Value = ComboBox2.Value
        rng.Offset(ColumnOffset:=3).Value = TextBox3.Value
        rng.Offset(ColumnOffset:=4).Value = TextBox4.Value
        rng.Offset(ColumnOffset:=5).Value = TextBox5.Value
        rng.Offset(ColumnOffset:=6).Value = ComboBox6.Value
        rng.Value = rng.Offset(RowOffset:=-1).Value + 1
        ComboBox7.Value = rng.Value
        ComboBox7.Value = " "
         
        With ActiveSheet
            ComboBox7.RowSource = .Range(.Cells(5, 1), .Cells(.Cells(Rows.Count, 1).End(xlUp).Row, 1)).Adress(External:=True)
        End With
    End If
    Exit Sub
EERR:
End Sub

Es ist sinnvoller, mit range-Objekten zu arbeiten.

 

LG, Ben


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
06.09.2017 22:29:53 Paul
NotSolved
Blau Eingabemaske für Datenbank in Excel
07.09.2017 00:33:52 Ben
NotSolved
10.09.2017 22:08:01 Gast68340
NotSolved