Datum umwandeln

Yaslaw

n/a
Moderator
1) Im Event lstData_Click() lZeile löschen. und zwar überall. Das behebt den Versatz beim Auslesen aus der Listbox
Visual Basic:
'Vorher
rngRow.Cells(lZeile, colAtAnrede).Value
'Nachher
rngRow.Cells(, colAtAnrede).Value

2) cmdNewClick() umbennen auf cmdNew_Click()

3) Lerne. Nicht einfach abschreiben ohne zu wissen was der Code macht. Du hast diverse Vorlagen. Versuche sie zu verstehen.
Ich will dir nicht einfach so dein Programm schreiben.

4) "will nicht gelingen", "geht nicht" gibt's nicht! Es gibt ein "Ich habe auf der Zeile XY folgende Fehlermeldung/Fehlverhalten"
 

josef24

Erfahrenes Mitglied
Ich bin total begeistert, habe die Berichtigung eingearbeitet, und es ist einfach perfekt jetzt. Für deine Erklärungen und besonders deine Geduld mit mir muss ich mich nochmal ausdrücklich bedanken. Ich musste hierbei leider feststellen, das eine kurze Einweisung vor geraumer Zeit und ein Buch aus dem Rheinwerk Verlag hier bei weitem nicht ausreichen. Nochmals herzlichen Dank und einen schönen Tag Gruß Josef
 

josef24

Erfahrenes Mitglied
Muss leider nochmal auf mein Problem zurück kommen. Habe jetzt 1 zu 1 den Code auf das Original übertragen, und plötzlich taucht der folgende Fehler auf. Dürfte ich nochmal um Unterstützung und Information bitten? Die Tabellen sind eigentlich gleich. Danke und Gruß Josef

Fehler wird bei: "lstData" blau unterlegt angezeigt
Hinweis: Fehler beim kompilieren, Variable nicht definiert


Code:
 Private Sub UserForm_Initialize()

  Dim lZeile As Long
 
    clearForm
   
    With Tabelle4
        lstData.List = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, 7)).Value  ' es stand 7  da
    End With

End Sub
 

josef24

Erfahrenes Mitglied
Hallo zusammen, ich muss mit folgendem nochmal um Unterstützung bitten. Habe folgenden Code wo ich neue Daten eingeben kann. Was mir aber jetzt auffiel, ist folgendes.
Verändere ich aber Die "NeuNr...." kommt der Fehler: " Nummer z. B. 112233 nicht gefunden". Muss jetzt etwas an meinem Code verändert werden?
Bitte um Unterstützung. Danke und Gruß Josef

Code:
Private Sub cmdNew_Click()
   Dim lZeile As Long
     lZeile = 2
     Do While Trim(CStr(wsAt.Cells(lZeile, 3).Value)) <> ""
         lZeile = lZeile + 1
     Loop
     wsAt.Cells(lZeile, 1) = CStr("NeuNR " & lZeile)
     lstData.AddItem CStr("NeuNR " & lZeile)
     lstData.ListIndex = lstData.ListCount - 1
  
End Sub
 

Yaslaw

n/a
Moderator
Wo kommt der Fehler?
Die Fehlermeldung? Ist das die Exakte Meldung?
Sie passt irgendwie nicht zu deinem angezeigten Code.
 

josef24

Erfahrenes Mitglied
Hallo und Danke erst mal. Kann den Fehler nicht näher benennen darum hänge ich mal einen Entwurf an, wo man die Änderung eine Nummer durch spielen kann.
Danke und Gruß Josef
 

Anhänge

  • 5te TESTTABELLE 07_2017 von Yaslaw.zip
    258,5 KB · Aufrufe: 1

Yaslaw

n/a
Moderator
Wo soll man was drücken um den Fehler zu bekommen?
Bitte, ich habe echt keinen Bock auf ein Katz und Maus Spiel.

Wenn du Hilfe haben willst, dann schreib genau was wann wie und wo.
Ja, ich hatte das File glaub schon mal offen. Aber ich habe es genauso schnell vergessen, weil es nicht mein Projekt ist.
 

josef24

Erfahrenes Mitglied
Danke für dein Interesse erst mal. Folgendes Problem tut sich auf. Ich klicke auf "In ArbDat Daten eingeben...". Dann öffnet sich ein Tabellenausschnitt. Hier versuche ich dann die fiktive Nr. (in Spalte A) in eine echte Nr. zu ändern. Dabei kommt der Hinweis: "Nummer z. B. 112233 nicht gefunden". Ich kann also auf diesem Weg die Nummer nicht verändern, was natürlich nicht gewollt ist. Gruß Josef
 

Yaslaw

n/a
Moderator
Jepp. Ist klar warum. Zum Speichern suchst du die passende Zeile anhand der Nummer. Nur, die neue Nummer existiert nicht.
Also muss man die alte Nummer irgendwo speichern um dann anhand dieser den Update zu machen.

Folgendes anpassen:
zuoberst in den Code hinter deinem Form musst du mal die Variable deklarieren, damit sie funktionsübergreifend verfügbar ist
Visual Basic:
Private actNumber As String
Dann beim auslsen die Nummer abfüllen
Visual Basic:
Private Sub lstData_Click()
...
        If seekArb(id, rngRow) Then
            '  txtNummer = id
            actNumber = rngRow.Cells(, colatnummer).Value
            txtNummer = actNumber
...
Und natürlich beim Erstellen eines neuen Datensatzes
Visual Basic:
' * Neuer Eintag öffnen
Private Sub cmdNew_Click()
   Dim lZeile As Long
  
     lZeile = 1
     Do While Trim(CStr(wsAt.Cells(lZeile, 3).Value)) <> ""
         lZeile = lZeile + 1
     Loop
     actNumber = CStr("NeuNR " & lZeile)
     wsAt.Cells(lZeile, 1) = actNumber
     lstData.AddItem actNumber
     lstData.ListIndex = lstData.ListCount - 1
  
End Sub

Und beim speichern jetzt einfach nach dieser Variable suchen
Visual Basic:
Private Sub cmdSave_Click()  '  Daten übertragen , Datei – Speichern [aktive Arbeitsmappe]
...
    'Zeile suchen und auslesen
    If seekArb(actNumber, rngRow) Then
        'Werte übernehmen (inkl. neuer Nummer)
        rngRow.Cells(, colatnummer).Value = Trim(CStr(txtNummer.Text))
...
 

Neue Beiträge