importieren

DarkSean

Erfahrenes Mitglied
ich hab ein programm mit 3 formen. nun haben diese formen gemeinsame textfelder in die genau das gleiche reingeschrieben werden soll. wenn ich zb in die eine form etwas eintrage, wie kann ich vb erklären, dass er das gleiche in die anderen formen auch eintragen soll?
 
hi,

normalerweise hast du ja dann eine hauptform, zb frmMain und frm1 und frm2.

auf frmmain hast du dann zb txt1 (deine textbox)
da wählst du den changeevent aus.
dann halt

sub txt1_Change...
frm1.deineTextbox.Text = txt1.Text
frm2.deineTextbox.Text = txt1.Text
end sub

Gruß, NRF
 
ok danke noch eine frage
wie kann ich vb in einer if-schleife erklären, dass wenn eine bestimmte textbox nicht ausgefüllt ist, dass er dann zu einem bestimmten befehl weiter springt und die davor ignoriert?
 
if txt1.text = "" then
goto weiter
end if

msgbox "blablubcode - das wird übersprungen"
weiter:
...



aber besser ists mit vernünftigen verzweigungen, also

if txt1.text = "" then
Msgbox "txt1 ist leer, bitte geben sie einen wert ein"
exit sub
else
weitermachen....
end if

das ist eleganter und geht i.d.R immer.
 
Hi,

die antwort hat er doch gegeben.
An die Stelle zu der du springen möchtest schreibst du zum Beispiel:

weiter:

dahinter geht es dann weiter. Und an der Stelle an der du springen möchtest schreibst du:

goto weiter:

ein Beispiel:

if doof = true then
goto weiter:
end if
.............
weiter: ..........

Aber es stimmt auch, das dies nicht besonders elegant ist. Eine vernünftige Verzweigung ist meistens besser. :rolleyes:

ulki
 
wie aknn ich denn mit hilfe dessen zu einer bestimmten if-schleife im code weiterspringen? versteh ich noch nicht...
 
du schreibst einfach vor die if-Anweisung (oder sonst eine Stelle an die du springen möchtest) deine Sprungmarke (in meinem Beispiel weiter:). An der Stelle an der du entscheidest ob du springst schreibst du dann: goto weiter: . Hier ein konkreteres Beispiel:

Code:
For j = 2 To SheetAnzNeu - 1
         Worksheets(j).Select   
         
         Cells(1, 1).Select
         ActiveCell.SpecialCells(xlCellTypeLastCell).Select
         ZeilenAnzVerg = ActiveCell.Row  
         
         For k = 2 To ZeilenAnzVerg
            VergContent = Cells(k, 1).Value 
            
            If VergContent = Content Then 
               If Cells(k, 14).Value = "" Then 
                Cells(k, 14).Value = "xx"
                Cells(k, 13).Value = "xx"    
               End If
               GoTo nextj:                        
            End If
         Next k
    nextj: Next j

Die Sprungmarke ist grün der Sprung ist orange. Jetzt klar? ;-)

ulki
 
habs jetzt (endlich?) mal kapiert. jetzt noch ne frage (hoffentlich die letzte :D), nämlich wqenn ich eine form zu mache und dabei eine andere geladen wird, löschen sich die einträge die vorher in den textfelder standen. kann man die auf irgendeine weise abspeichern?
 
definier dir Variablen, speicher dort den Inhalt der Felder bevor du die neue Datei öffnest und schon sind die alten Werte in Sicherheit und du kannst mit ihnen anstellen was du willst.

ulki
 
Zurück