Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Ausdruck nicht aktuell

Betrifft: Ausdruck nicht aktuell von: Caroline
Geschrieben am: 13.08.2014 08:12:36

Hallo!

Ich habe das Problem, dass mein Makro zwar funktioniert und auch die Tabelle alles richtig _
rechnet und ausgibt, der Ausdruck an sich allerdings einen Fehler ausgibt, vermutlich, weil die _ Zeit dazwischen zu kurz ist oder sich das Dokument nicht aktualisert. Hier erstmal der Code:


Range("Berechnung!AL26") = Replace(Rh5.Text, ",", ".")
Worksheets("Berechnung").Calculate
Worksheets("Ausgabe").Calculate
Worksheets("Ausgabe").Activate
ActiveSheet.PrintOut

In 'Berechnung' wird etwas eingefügt, damit gerechnet und über die Tabelle mit "=C3" übertragen. Das Worksheets.calculate ist mein Versuch, dass auf dem Ausdruck nicht der Fehler #Div/0! ausgegeben wird. Auch ActiveWorkbook.refreshall funktioniert nicht
Sobald der Ausdruck fertig ist und ich klicke in die Tabelle, erscheinen die tatsächlichen Werte, das Problem ist also wirklich nur dass diese Zellen mit =C3 oder =A7 sich nicht aktualisieren.

Kann mir jemand den richtigen Befehl sagen?

Vielen Dank im Voraus,
Caro

  

Betrifft: AW: Ausdruck nicht aktuell von: fcs
Geschrieben am: 13.08.2014 08:31:43

Hallo Caro,

probiere mal folgendes

Range("Berechnung!AL26") = Replace(Rh5.Text, ",", ".")
Application.Calculate
Worksheets("Ausgabe").Activate
Application.ScreenUpdating = True
ActiveSheet.PrintOut
Gruß
Franz


  

Betrifft: AW: Ausdruck nicht aktuell von: Luschi
Geschrieben am: 13.08.2014 08:36:08

Hallo Caro,

benutze bitte Folgendes: Range("Berechnung!AL26") = CDbl(Me.Rh5.Text)


Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Ausdruck nicht aktuell von: Caroline
Geschrieben am: 13.08.2014 09:21:49

Hallo!

Die Replace-Funktion ist notwendig, da Zahlen eingegeben werden und vom deutschen ins englische Format übertragen werden muss. Leider klappen beide Ansätze nicht, auch application.calculate hat keinen Einfluss...


  

Betrifft: AW: Ausdruck nicht aktuell von: Caroline
Geschrieben am: 13.08.2014 09:58:09

Sobald man das Makro schließt, werden die Zellen übrigens aktualisert und es steht das richtige drin, aber eben erst danach...


  

Betrifft: AW: Ausdruck nicht aktuell von: Caroline
Geschrieben am: 13.08.2014 10:00:55

Sobald man das Makro schließt, werden die Zellen übrigens aktualisert und es steht das richtige drin, aber eben erst danach...


  

Betrifft: AW: Ausdruck nicht aktuell von: fcs
Geschrieben am: 13.08.2014 12:43:29

Hallo Caro,

was für eine Mischwelt habt ihr euch denn eingerichtet?
Im Grundzustand arbeitet Excel mit den in der Systemsteuerung des Betriebssystems eingestellten Optionen für die Zahlen/Datums-Darstellung.
In dieser Einstellung harmonieren Tabellen und Userform-Textboxen bei Zahleneingaben meistens. Es ist trotzdem ratsam, nummerische Text-Boxinhalte in Zahlen umzuwandeln, bevor diese in Zellen eingetragen werden.

Über die Optionen können in Excel Dezimal- und 1000er Trennzeichen abweichend vom Betriebssystem eingestellt werde werden. Und hier beginnen dann die Probleme mit Userformen und nummerischen Eingaben.
Das Userform ist weiter auf Betriebssystemeinstellungen getrimmt. VBA arbeitet intern sowieso mit den US-Einstellungen. Gibt man entsprechend Betriebssysten-Einstellungen ein und macht im Code die Umwandlung von Text in Zahl ist eigentlich alles in Butter. Werden die Userform-Eingaben bei Deutschen Systemeinstellungen im US-Format gemacht, dann gibt es Problem mit den resultierenden Zellwerten.

Dies hast du jetzt versucht zu lösen, indem du im eingegebenen Text das Dezimalzeichen ersetzt.
Das hab ich jetzt auch mal getestet und bei mir funktioniert es mit einem einfachen Beispiel (System deutsch, in Excel 1000er-Zeichen = ",", Dezimalzeichen = ".", Berechnungen in einer Zelle (=WENN(ODER(AL26=0;AL26="");"";E5/AL26), Übernahme des Ergebnisses per Formel ins Ausgabeblatt). Die Daten werden vor dem Drucken korrekt aktualisiert/neu berechnet.

Warum das jetzt in deiner Datei nicht will: ???

Gruß
Franz


  

Betrifft: AW: Ausdruck nicht aktuell von: Caroline
Geschrieben am: 13.08.2014 13:01:24

Hallo Franz,

ich kann die Datei gerne hochladen. Mir ist bewusst, dass das ein oder andere vll einfacher ginge, aber da ich das ganze heute fertig bekommen muss, will ich nur noch das Problem mit dem Ausdruck lösen.... Die Daten zum Test des Makros habe ich in die Tabelle geschrieben.
Ich wäre sehr dankbar über eine Lösung, vorallem weil ich das eigentliche Problem nicht verstehe.

https://www.herber.de/bbs/user/92071.xlsm

Vielen Dank, Caro


  

Betrifft: AW: Ausdruck nicht aktuell von: fcs
Geschrieben am: 13.08.2014 15:28:28

Hallo Caro,

zur Zeit werden die Eingabewerte aus dem Userform "Start" erst nach dem Schließen von Userform "Schichten" in das Berechnungsblatt eingetragen.

Du muss die Werte aus dem "Start" zusätzlich eintragen dann sollte es funktionieren.
Ähnliches gilt möglicherweise für "Zertifikat_Click"

Gruß
Franz

Private Sub LIMS_Click()
Range("Berechnung!AL2") = Replace(WC1.Text, ",", ".")
Range("Berechnung!AL3") = Replace(TGA1.Text, ",", ".")
Range("Berechnung!AL4") = Replace(Pt1.Text, ",", ".")
Range("Berechnung!AL5") = Replace(Pd1.Text, ",", ".")
Range("Berechnung!AL6") = Replace(Rh1.Text, ",", ".")
Range("Berechnung!AL7") = Replace(WC2.Text, ",", ".")
Range("Berechnung!AL8") = Replace(TGA2.Text, ",", ".")
Range("Berechnung!AL9") = Replace(Pt2.Text, ",", ".")
Range("Berechnung!AL10") = Replace(Pd2.Text, ",", ".")
Range("Berechnung!AL11") = Replace(Rh2.Text, ",", ".")
Range("Berechnung!AL12") = Replace(WC3.Text, ",", ".")
Range("Berechnung!AL13") = Replace(TGA3.Text, ",", ".")
Range("Berechnung!AL14") = Replace(Pt3.Text, ",", ".")
Range("Berechnung!AL15") = Replace(Pd3.Text, ",", ".")
Range("Berechnung!AL16") = Replace(Rh3.Text, ",", ".")
Range("Berechnung!AL17") = Replace(WC4.Text, ",", ".")
Range("Berechnung!AL18") = Replace(TGA4.Text, ",", ".")
Range("Berechnung!AL19") = Replace(Pt4.Text, ",", ".")
Range("Berechnung!AL20") = Replace(Pd4.Text, ",", ".")
Range("Berechnung!AL21") = Replace(Rh4.Text, ",", ".")
Range("Berechnung!AL22") = Replace(WC5.Text, ",", ".")
Range("Berechnung!AL23") = Replace(TGA5.Text, ",", ".")
Range("Berechnung!AL24") = Replace(Pt5.Text, ",", ".")
Range("Berechnung!AL25") = Replace(Pd5.Text, ",", ".")
Range("Berechnung!AL26") = Replace(Rh5.Text, ",", ".")

'Werte aus Userform "Start" eintragen
        Range("Ausgabe!B6") = Start.Batch.Text
        Range("Ausgabe!B9") = Start.Technologie.Text
        Range("Ausgabe!B10") = Start.Hersteller.Text
        Range("Ausgabe!B11") = Start.Mat.Text
        Range("Ausgabe!B35") = Application.UserName
        Range("Berechnung!AL27") = Replace(Start.Volumen.Text, ",", ".")

Worksheets("Berechnung").Calculate
Worksheets("Ausgabe").Calculate
Worksheets("Ausgabe").Activate
ActiveSheet.PrintOut
'Schichten.Hide
'Worksheets("Eingabe").Activate
End Sub



  

Betrifft: AW: Ausdruck nicht aktuell von: Caroline
Geschrieben am: 13.08.2014 16:00:32

Es funktioniert! Vielen vielen vielen Dank :) gerade noch rechtzeitig :)


  

Betrifft: AW: Ausdruck nicht aktuell von: Caroline
Geschrieben am: 13.08.2014 13:04:27

Sry, vergessen das Kästchen zu aktivieren...


 

Beiträge aus den Excel-Beispielen zum Thema "Ausdruck nicht aktuell"