Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1152to1156
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
Inhaltsverzeichnis

VBA-Formel liefert nicht gewünschten Wert

VBA-Formel liefert nicht gewünschten Wert
onkelbobby
Hallo,
über ein User-Formular gebe ich Daten in eine Tabelle ein. Es sollen nach der Eingabe dieser Daten auch Berechnungen durchgeführt werden. Unter anderem möchte ich in Spalte 29 den Monat des eingegebenen Datums aus Spalte 10 eintragen lassen.
Das funktioniert direkt in der Tabelle durch die Formal "=MONAT(J26)" (für Zeile 26) soweit ganz gut.
Da diese Formel jedoch immer nur für neu eingegebene Zeilen angewendet werden soll habe ich folgende Zeile in den VBA-Code eingefügt:
Private Sub CommandButton1_Click()
Dim z As Integer
z = Range("A65536").End(xlUp).Row + 1
Cells(z, 1) = TextBox1
Cells(z, 2) = TextBox2
Cells(z, 4) = TextBox3
...
Cells(z, 29).Select
ActiveCell.FormulaR1C1 = "=MONAT(RC[-19])"
...
Soweit, so gut.
Tatsächlich wird nach Betätigung des Buttons der Wert
=MONAT(J26)
für beispielsweise Zeile 26 eingetragen. In AC26 steht aber statt der Monatszahl "#NAME?".
Wenn ich dann in die Eingabezeile klicke und Return drücke erscheint komischerweise das gewünschte Ergebnis (an der Formel wird nichts geändert). Warum ist das so?
Wie kann ich ausserdem bei den UserForms feste Eingabewerte definieren (z. B. dass zwingend ein Datum oder eine achtstellige Nr. eingegeben werden muss?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA-Formel liefert nicht gewünschten Wert
21.04.2010 13:58:24
Hajo_Zi
Hallo Unbekannter,
Du schreibst Text in die Zelle, da ja eine Textbox Text enthält.
=Cdate(Textbox1)

AW: VBA-Formel liefert nicht gewünschten Wert
21.04.2010 13:59:32
David
Hallo Bob.
Monat ist deutsch, d.h. du musst FormulaLocalR1C1 verwenden oder Month.
Ist nur eine Vermutung, da ich auch nur einfache VBA-Kenntnisse habe, aber vielleicht ist's das ja schon.
Gruß
David
ActiveCell.FormulaR1C1 = "=MONTH(...)"
21.04.2010 14:00:26
{Boris}
Hi,
denn VBA spricht englisch (solange Du nicht die Locals verwendest).
Grüße Boris
AW: ActiveCell.FormulaR1C1 = "=MONTH(...)"
21.04.2010 14:10:36
onkelbobby
Wow, das ging ja schnell!
Ich habs jetzt so:
Cells(z, 29) = Month(CDate(TextBox10))
Funktioniert einwandfrei.
Vielen Dank!
Wie siehts aus mit dem Definieren von festen Eingabewerten im Userform (Datum, usw.)?
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige