Datum umwandeln

Danke für deine Unterstützung. Habe mit dem ersten Codesatz Probleme.
Und zwar, wo füge diesen Satz ein? Kannst du mir das bitte etwas ausführlicher zeigen?
Die anderen Änderungen konnte ich anhand der Beispiele direkt nachvollziehen.

zuoberst in den Code hinter deinem Form musst du mal die Variable deklarieren, damit sie funktionsübergreifend verfügbar ist:
Private actNumber As String

Danke und Gruß Josef
 
Zuletzt bearbeitet:
Visual Basic:
Option Explicit
Option Compare Text

'----------------------------------------------------------------
'--- Private Memebers
'----------------------------------------------------------------

Private actNumber As String

'/**
' * Enum mit den Feldnummern der Tabelle ArbTab (At)
' */
Private Enum eColAtFields
    colatnummer = 1
    colAtAnrede = 2
    colAtNachname = 3
...
 
Jetzt taucht aber noch ein Problem auf:

Code:
Private Sub cmdSave_Click()  '  Daten übertragen , Datei – Speichern [aktive Arbeitsmappe]

Hatte es schon ,mal so versucht, ging aber nicht. :   Dim actnummer As Range
...
    'Zeile suchen und auslesen
   If seekArb(actNumber, rngRow) Then    Fehler : wird gekennnzeichnet
        'Werte übernehmen (inkl. neuer Nummer)
       rngRow.Cells(, colatnummer).Value = Trim(CStr(txtNummer.Text))
...
 
Ein Problem. Schön.
Warum soll actNumber ein Range sein?

Und nochmals. Schreib dir das fett hinter die Ohren.
"Ich habe ein Problem" hilft uns allen überhaubt nix.
Was für ein Problem? Fehlermeldung? Fehlverhalten?

Wir können das Frage-Rückfrage-Beschreibung-Antwort spiel weiterspielen. Irgendwann gewinnst du weil ich keine Lust mehr habe.
 
Hallo und guten Morgen. Hatte wohl einen Schritt zu viel getan. Sorry, hätte den Fehler besser kommentieren müssen. Aber vielleicht ist dennoch Bereitschaft für eine Unterstützung vorhanden.
Hab das actNumber..... wieder raus genommen. Es kommt der Fehler: Fehler beim kompilieren, variable nicht definiert, in der Zeile: If seekArb(actnummer, rngRow) Then wenn ich die Änderung abspeichern will. Dabei ist actnummer blau unterlegt.

Danke bis dahin und Gruß Josef

Code:
Private Sub cmdSave_Click()  '  Daten übertragen , Datei – Speichern [aktive Arbeitsmappe]
    Dim lZeile As Long
    Dim rngRow As Range
   
    If lstData.ListIndex = -1 Then Exit Sub
    If Trim(CStr(txtNummer.Text)) = "" Then
        MsgBox "Sie müssen mindestens eine Nummer eingeben!", vbCritical + vbOKOnly, "FEHLER!"
        Exit Sub
    End If
    'Zeile suchen und auslesen
    If seekArb(actnummer, rngRow) Then
        'Werte übernehmen
        rngRow.Cells(, colatnummer).Value = Trim(CStr(txtNummer.Text))
        rngRow.Cells(, colAtAnrede).Value = txtAnrede.Text
        rngRow.Cells(, colAtNachname).Value = txtNachname.Text
 
Ist doch klar.
Wenn du die Deklaration entfernst kommt "variable nicht definiert"

Meine Frage war, warum Als Range und nicht mehr als String?

Meine Version, die ich weiter oben gepostet hatte war getestet und funktionierte bei mir.
 

Anhänge

  • T405935.zip
    256,9 KB · Aufrufe: 1
Erst mal Danke für die Geduld. Habe den Code in die Endung String abgeändert. Jetzt läuft der Prozess durch, aber nicht wie man sich das vorstellt.
Ich sag mal es läuft nicht so wie man sich das vorstellt. Ich kann es schlecht mit Worten erklären daher meine Bitte :
Vielleicht schaust du mal hier rein. Gruß Josef
 

Anhänge

  • 6te TESTTABELLE 07_2017 mit Änderung von Yaslaw.zip
    251,7 KB · Aufrufe: 2
Was ist so schwer, das Excel zu nehmen, dass ich dir in meinem letzten Posting gegeben habe?
Oder die Änderungen so zu machen wie sie dokumentiert sind.
Du kopierst einfach wild Sachen zusammen.
actummer gibt es nicht! Die Variable heisst actnumber
Zudem ist sie am Anfang deklariert (dim). Nicht in der Methode selber
Visual Basic:
Private actnumber As String

Private Sub cmdSave_Click()  '  Daten übertragen , Datei – Speichern [aktive Arbeitsmappe]
    ...
    Dim actnummer As String
    ...
    If seekArb(actnummer, rngRow) Then
    ...
End Sub
So nimmt er in der Methode cmdSave_Click() die actnummer welche niemals abgefüllt wurde und nicht die actnumber, welche in den anderen Methoden abgefüllt wird.

Wenn schon Sachen zusammenkopieren, dann richtig.
Also raus mit der actnummer und im If die atummer durch actnumber ersetzen
 
Ich muss mich ausdrücklich Entschuldigen. Das hätte mir auffallen müssen. Ausdrücklichen Dank für alles. Hiermit ist mein "Programm" perfekt und komplett.
Habe aber mal eine andere Frage: Wie oder mit welchem Programm kann man so schöne Screenshot erstellen? Wäre mal interessant zu wissen.
Danke nochmal und Gruß Josef
 
Zurück