Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
604to608
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
604to608
604to608
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Formatierung und Spezielles in VBA
27.04.2005 13:45:43
Sammy
Hallo Ihr Lieben!
Wieder ich mit einigen (bestimmt nervigen) Fragen und hoffe wieder auf eure tatkräftige hilfe...
Bin mit meiner Datei jetzt ein Stück weiter, also beim feintunig. Dabei treten leider ein paar Probleme auf:
https://www.herber.de/bbs/user/21780.xls
1.z.B. Eingabefeld Laufzeit in Monaten: Er schreibt die Monate nicht als Zahl in die Zelle, da ich die Zelle aber so formatiert habe, dass er noch Monate dahinterschreiben soll, geht das nicht weil er es nicht als Zahl erkennt. Wie kann ich im VBA-Editor dieses Eingabefeld als Zahl formatieren.
2.Wenn ich einen Eintrag mache, überschreibt er mir immer den ersten Eintrag.
Ist untenstehendes richtig damit er die nächste Zeile nimmt, bzw. die nächste freie und wo muß ich das reinschreiben
Do While Cells(z, 1) ""
z = z + 1
Loop
3.Habe im Eingabefenster zweimal die Auswahl für das Datum gegeben.
Leider unterscheidetet er nicht die Daten, sondern schreibt ein Datum in beide Zellen... Das es mit dem Label 18 zusammenhängt habe ich schon verstanden aber ich weiß nicht wo ich nachschauen kann welche Labelnr. die Ordentlichekündigung hat

Private Sub cmdOK_Click()
Eingabetest.txtVertragsbeginn = Me.Label8
Unload Me
Eingabetest.txtOrdentlichekündigung = Me.Label8
Unload Me
End Sub

Drei für den Anfang. Hoffentlich könnt Ihr mir weiterhelfen.
LG
Sammy

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
zu 2
27.04.2005 14:35:45
Reinhard
Hallo Sammy,
deine loop-schleife gibt nen Fehler weil z anfangs auf 0 steht, du musst es vorher auf 1 setzen.
warum nimmst du nicht die Lösung aus meiner Datei die ich schickte?
Also:

Private Sub cmdInsert_Click()
Dim z As Long
Sheets("Eingabefenster").Select
If MsgBox("Vertrag eingeben?", vbQuestion + vbYesNo, "Frage...!") = vbYes Then
With Sheets("Eingabefenster")
z = .Range("A65536").End(xlUp).Row + 1
.Cells(z, 1) = Eingabetest.txtVertragspartner
.Cells(z, 2) = Eingabetest.txtVertragsbeginn
.Cells(z, 3) = Eingabetest.txtVertragslaufzeit
.Cells(z, 4) = Eingabetest.txtKündigungsfrist
.Cells(z, 5) = Eingabetest.txtOptionskündigungsfrist
End With
End If
End Sub

Gruß
Reinhard
Anzeige
AW: zu 2
27.04.2005 14:48:44
Sammy
Hallo Reinhard,
hatte ich ja... leider funktionierte das nicht und ich hatte es so geändert wie ich dachte es könnte funktionier. Habe gerade abermalls deine Lösung versucht und es funktioniert immer noch nicht.
Haste du noch andere Lösungsvorschläge?
LG
Sammy
zu 1,3
27.04.2005 14:53:20
Reinhard
Hallo Sammy,
.Cells(z, 5) = CInt(Eingabetest.txtVertragslaufzeit)
in Deklaratinen
oben hin
Public wer as Boolean
im Kalender-UF:

Private Sub cmdOK_Click()
If wer = False Then
Eingabetest.txtVertragsbeginn = Me.Label8
Else
Eingabetest.txtOrdentlichekündigung = Me.Label8
End If
Unload Me
End Sub

in der anderen UF

Private Sub cmdgetVertragsbeginn_Click()
wer = False
UF_Kal.Show
End Sub


Private Sub cmdgetOrdentlichekündigung_Click()
wer = True
UF_Kal.Show
End Sub

Gruß
Reinhard
Anzeige
Frage 2 noch offen und noch mehr...
27.04.2005 15:58:11
Sammy
Hat ja super funktioniert, danke!
Fehlt nurnoch Lösung zu Frage 2...
und sag darf ich dich eigentlich weiter belästigen? Wenn ja, hier gehts weiter.
1.Wenn es fertig ist soll das Blatt ja gesperrt werden und nurnoch eingaben über das Fenster gemacht werden können. Manche Zellen enthalten ja Formeln und Formatierungen, wenn ich sie jetzt schon nach unten kopiere, dann siehts ja scheiße aus wenn in allen Zeilen #Wert! steht weil für die berechnung angebaen fehlen.
Kann man das so programieren das er für jeden neuen Vertrag die Formeln und Formate der genau drüberliegenden Zelle übernimmt?
2.Wenn man auf eingabe Drückt aber man nichts eingibt kommt immer ne Fehlermeldung...wie kann ich die abstellen und durch ein fenster ersetzten wo drinsteht das Angaben fehlen... das Fenster bekomm ich hin aber wie baue ich das ein?
2.Jetzt was ganz großes: Da das ganze ja auch ein Frühwarnsystem sein soll, muß natürlcih auch was blinken. Dafür die erste Spalte. Und zwar nach folgender Regel...
Blaue Lampe:Vertrag läuft, solange bis ordentliche Kündigung ausläuft...
danach Grün:soll heißen Vertrag läuft normal und Ordentlich Kündigung nicht mehr möglich
danach dunkel Grün: Vertrag läuft auf Option
und Orange immer die letzte 14 Tage vor dem letztmöglichen Kündigungstermin egal ob normal- oder optionslaufzeit
Und sobald die Option greift, sollen alle Zellen des ursprünglichen Vertrags einmal durchgestrichen werden damit man direkt auf die Optionsdaten schaut...
Puhh, geht sowas?
Hoffe ich hab dich nicht abgeschreckt...
LG
Sammy
Anzeige
AW: Frage 2 noch offen und noch mehr...
28.04.2005 15:46:00
Hajo_Zi
Hallo Sammy,
zu 3
wenn ich es richtig gelesen habe sind es 3 Farben, also Format, bedingte Formatierung. Damit ist kein Blinken möglich das muß mit VBA gemacht werden. Dazu habe ich ein paar Beispiele auf meiner HP.
Aber da muß man sich schon gut in VBA auskennen.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!" Dies gilt auch für Bert.
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige