Clever-Excel-Forum

Normale Version: Zellen bestätigen nach VBA Import
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich habe folgendes Problem:

Wenn ich aus meinem Userform die Eingaben der TextBoxen in meine Tabelle "importiere", dann aktualisieren sich meine Formeln nicht automatisch mit.

Zum Beispiel: wenn ich eine das Feld "Datum" wie folgt einfüge:


Private Sub CommandButton3_Click()

Dim a As Long
Sheets("Projektstunden-LPH").Activate
    a = Cells(Rows.Count, 1).End(xlUp).Row + 1
    Cells(a, 4) = Me.vlph1.Value
    Cells(a, 5) = Me.blph1.Value
   
Die beiden Fett geschriebenen Zeilen sollen ein Datum einfügen.

Die Formel, die die Eingaben weiter verarbeiten soll zeigt jedoch #Bezug. Sobald ich auf die Zellen klicke, F2 und Enter drücke, beginnt die Berechnung.

Da ich ca. 100 Zeilen habe würde ich mir dies gern ersparen.

Wie kann ich das realisieren?

Vielen Dank!

Viele Grüße
Jonas
Hallo Jonas,

vielleicht mit passender Umwandlungsfunktion (und hier ohne unnötigem Activate) :
Private Sub CommandButton3_Click()
 Dim a As Long
 With Sheets("Projektstunden-LPH")
   a = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
   .Cells(a, 4).Value = CDate(Me.vlph1.Value)
   .Cells(a, 5).Value = CDate(Me.blph1.Value)
 End With
End Sub
Gruß Uwe
Eine Einszeiler reicht aus (ohne Activate, ohne Variabele):



Code:
Private Sub CommandButton3_Click()
   Sheets("Projektstunden-LPH").Cells(Rows.Count, 1).End(xlUp).offset(1,3).resize(,2)=array(vlph1.Value,blph1.Value)
End Sub
Hallo Zusammen,

der Einzeiler kombiniert mit CDate vor vlph1.value funktioniert klasse! Es läuft viel schneller als zuvor und auch die anschließenden Formeln erkennen das Datum.

Leider bekomme ich eine Fehlermeldung wenn die TextBox leer ist. In dem Fall soll auch die Zelle einfach leer bleiben.

Wie könnte ich die Zeile noch umschreiben, dass auch leere TextBoxen möglich sind?

Danke & Viele Grüße
Jonas
Erledigt: Ich habe einfach bei meiner weiter verwendeten Formel "wenn Wert = 0 dann 0 sonst Formel" geschrieben :)