Excel zu VB

  • VB.NET

Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von reyman.

    Hallo liebe Community,

    Ich bin neu hier in diesem Bereich. Und zwar möchte ich folgendes machen. Ich habe eine Exceltabelle mit mehreren Formeln, diese wollte ich gerne in einem Programm via VisualBasic 2010 schreiben.

    Nun ist mir VB noch sehr unbekannt und kenne nur sehr wenig von der Sprache. Ich habe mir auch schon ein wenig in "https://msdn.microsoft.com/de-de/library/8hb2a397(v=vs.90).aspx" reingelesen.

    Welche Formeln verwende ich ?

    =SUMME((B4*F4)+C5-H4-H5)*4

    =WENN(C4=0;-12;WENN(C4=-1;-12;WENN(C4=-2;-13;WENN(C4=-3;-13;WENN(C4=-4;-14;WENN(C4=-5;-15;WENN(C4=21;-1;WENN(C4=22;-1;WENN(C4=23;-1;WENN(C4=24;0;WENN(C4=25;0;WENN(C4=26;0;WENN(C4=27;1;WENN(C4=28;1;WENN(C4=29;1;WENN(C4=30;1))))))))))))))))

    =WENN(C10<0;"ZK kürzer";WENN(C10>0;"ZK länger"))

    Das sind so die Hauptformeln.

    Kann man diese irgendwie leichter in VBA umwandeln, sodass ich nur noch die TextBox anpassen muss.

    So sieht (derzeit) mein Projekt aus. prntscr.com/83smwl

    Und so der einzige Code.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. ergebnis = Convert.ToInt32(TextBox1.Text) * Convert.ToInt32(TextBox4.Text)
    3. Driver.Text = ergebnis
    4. End Sub


    Ich bekomme dann auch im unteren TB ein Ergebnis. Aber nur wenn ich es bei 2 TB lasse in der Berechnung. Wenn ich eine weitere TB in die Berechnung einfüge kommt immer eine Fehlermeldung.

    MFG

    *Topic verschoben*

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Möchtest du das Excel in VB.Net nachprogrammieren?
    Das wird eine Herausforderung. ;)

    Das was bei Excel als Formel in den Zellen steht, hat nichts mit VBA oder sonst einer VB-Programmierung zu tun.
    Das wird von der Excel-Engine kalkuliert.
    Und die hast du in VB.Net natürlich nicht.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Mache mal bitte Option Strict On: home.arcor.de/eckardahlers/Pro…/Blogs/WarumStrictOn.html

    Dann solltest du erstmal alle Eingaben in entsprechende numerische Datentypen konvertieren. Tipp: Nutze ein NumericUpDown. Damit kannst du auch Gleitkommazahlen ohne Rücksicht auf Kultur und Sprache etc. problemlos eingeben.

    Wenn du dann alle Eingaben als Variablen vorliegen hast, kannst du damit anfangen, deine Formeln in VB.NET nachzuprogrammieren.

    LG :)
    @petaod: gibt es vielleicht eine deutlich bessere / leichtere Variante ?
    Ich dachte da man in Excel auch Makros per Visual Basic schreiben kann. Kann man das ganze irgendwie verknüpfen. Aber Pustekuchen.

    @ichduersie:
    Das erste habe ich gemacht hoffentlich richtig: siehe (prntscr.com/83w5fa)
    zu zweitens: Das habe ich nicht so ganz verstanden. Habe auch gegoogelt. Da bin ich nur auf eine Seite von MS gekommen: msdn.microsoft.com/de-de/libra…wn.maximum(v=vs.110).aspx

    So ganz verstehe ich es nur nicht, da ich mich so noch nicht damit beschäftigt habe.

    Danke euch aber erstmal für eure hilfe.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „reyman“ ()

    Wichtig zu Option Strict: Die globale Eigenschaft, die du gesetzt hast, gilt nur für neu erstellte Projekte. Du musst bei deinen bisherigen noch ganz oben in der Datei Option Strict On schreiben, und keine Angst, wenn deine Source danach erstmal voller Fehler ist. Das sind meistens nur falsch konvertierte Datentypen, also bspw. wenn du folgendes versuchst:

    VB.NET-Quellcode

    1. Dim inti As Integer = "String"
    ^ Das hier ist übrigens falsch, weil du versuchst einen String in eine Integer zu schreiben. Leider ist ein String aber keine Integer. Ist ein sehr häufiger Anfängerfehler, aber nicht schlimm, wenn man es direkt am Anfang schon ändert.

    Lässt sich alles korrigieren.

    Zum zweiten: Wenn du die ToolBox durchsuchst, findest du neben der TextBox auch das NumericUpDown. Das ist ein Control, welches nur die Eingabe von Zahlen erlaubt. Hier ist das Control noch mal erklärt: dotnetperls.com/numericupdown Es erlaubt dir bspw. auch das Einstellen von Minimal- und Maximalwerten.

    LG :)
    Okay danke erstmal. Ich hoffe du meinst das so:

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Dim FormatNumber As String = 0
    4. Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
    5. End Sub
    6. Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click
    7. End Sub
    8. Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click
    9. End Sub
    10. Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    11. End Sub
    12. Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label10.Click
    13. End Sub
    14. Private Sub Label9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label9.Click
    15. End Sub
    16. Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    17. End Sub
    18. Private Sub MaskedTextBox1_MaskInputRejected(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MaskInputRejectedEventArgs) Handles Driverergebnis.MaskInputRejected
    19. End Sub
    20. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    21. ergebnis = Convert.ToInt32(NumericUpDown1.Text) * Convert.ToInt32(NumericUpDown4.Text)
    22. Driverergebnis.Text = ergebnis()
    23. End Sub
    24. Private Sub Label5_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click
    25. End Sub
    26. Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs)
    27. End Sub
    28. Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
    29. End Sub
    30. Private Sub SplitContainer1_Panel2_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs)
    31. End Sub
    32. Private Sub CheckedListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    33. End Sub
    34. Private Function ergebnis() As String
    35. Throw New NotImplementedException
    36. End Function
    37. End Class


    Ich glaube wir müssen das am Anfang schritt für schritt machen :D

    Einen Fehler habe ich jetzt hier:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. ergebnis = Convert.ToInt32(NumericUpDown1.Text) * Convert.ToInt32(NumericUpDown4.Text)
    3. Driverergebnis.Text = ergebnis()
    4. End Sub


    Ohne kann ich keine Demo starten. Wobei ich das glaub eh anders schreiben muss oder ? Ich habe die Formel erstmal rausgelöscht. Mann sollte ja am Anfang anfangen und nicht mittendrin ;)

    So sähe jetzt das ganze aus: prntscr.com/83xfio

    Diese eine Formel ist nur eine Stütze für mich.

    MFG

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „reyman“ ()

    Genau. Das NumericUpDown hat nämlich keine Property, genannt 'Text'. Es gibt nur die Value-Property, vom Typ Decimal. Decimal, ist wie der Name schon sagt, eine Dezimalzahl, kann also auch Zahlen mit einem Komma aufnehmen. Die Integer kann das nicht. Sie kann nur ganze Zahlen aufnehmen. Da aber Decimal auch ein Typ zum anzeigen von Zahlen ist, kannst du auch problemlos damit rechnen, d.h.:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim ergebnis As Decimal = NumericUpDown1.Value * NumericUpDown4.Value
    3. Driverergebnis.Text = ergebnis.ToString()
    4. End Sub


    So sähe es korrekt aus. Du musst immer beachten: String ist auch ein Datentyp, jedoch für Zeichenfolgen und nicht für Zahlen, d.h. in einem String kannst du auch "Hallo Welt" speichern. Wenn du dann aber versuchst, damit zu rechnen, kommt -selbstverständlich- ein Fehler raus. Das habe Ich ja in meinem oberen Post auch geschrieben, dass das nicht geht.

    Deine Form sieht soweit gut aus.

    LG :)

    ~ides
    Super. Also die Formel konnte ich schon mal so umsetzen das sie richtig rechnet.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim ergebnis As Decimal = ((NumericUpDown1.Value * NumericUpDown4.Value) + NumericUpDown2.Value - NumericUpDown5.Value - NumericUpDown6.Value) * 4
    3. Driverergebnis.Text = ergebnis.ToString()
    4. End Sub


    2 dinge die ich so nicht in Foren finden konnte. Wenn ich TAB drücke springt er ja ins nächste Fenster. Kann man das so einstellen das, wenn eine Zahl drin steht diese automatisch markiert wird ? Und 2. wenn ich den Wert 2,2 eingebe steht am ende nur 2 da. Am Ende berechnet er die ,2 mit und zeigt sie auch an.

    Ich wollte auch einen Resetbutton einpflegen, aber VB sagt mir "Fehler 1 "clear" ist kein Member von "System.Windows.Forms.NumericUpDown""

    1. Nein, das geht -glaube Ich- leider nicht.
    2. Dafür musst du die DecimalPlaces-Property auf die gewünschte Anzahl an Dezimalstellen einstellen, die angezeigt werden soll, d.h. wenn du eine Dezimalstelle haben möchtest, setzt du diese Eigenschaft auf 1. Das ist das tolle am NumericUpDown.

    Für den ResetButton: Microsoft hat eine offizielle Referenz für das .NET-Framework aufgesetzt: das MSDN. Wenn du bspw. wissen willst, ob das NumericUpDown über eine ClearMethode verfügt, googelst du numericupdown msdn. In 99,9% aller Fälle ist das MSDN das erste Suchergebnis. Im Rest der Fälle das zweite ;)

    Du würdest dann bspw. auf dieser Seite landen: msdn.microsoft.com/de-de/libra…ericupdown(v=vs.110).aspx
    Rechts klickst du dann auf 'Methoden'. Diese musst du leider alle durchforsten, da gibt es keinen Weg drum rum. Dort finden wir die Methode ResetText und die passende Beschreibung dazu:

    MSDN schrieb:

    Setzt die Text-Eigenschaft auf den Standardwert zurück.

    Also aufrufen und wie erwartet: Der angezeigte Text des NumericUpDowns ist leer. Als Alternative zum MSDN einfach mal IntelliSense durchforsten, da dort nur die Methoden angezeigt werden, die du auch aufrufen kannst. Manche werden als private überschrieben, und sind somit intern vorhanden, aber du, als externer Programmierer kannst nicht drauf zugreifen. Dafür einfach im VisualStudio NumericUpDown1. eingeben, und danach das kleine Fensterchen durchsuchen.

    LG :)

    ~ides
    Ja hab es gefunden und funktioniert.

    Zu 1. Kann man es wenigstens so machen das wenn man das Programm startet, die Fenster leer sind ? Momentan steht immer eine 0 drin. Oder ich müsste einen automatischen Reset, bei Programmstart einrichten. Weil wenn ich den Reset-Button drücke dann sind die Felder auch leer.

    Habe nun die anderen MaskedTextBoxen auch so umgeschrieben bekommen. nur was mich stört ist, dass ich die Dezimalstellen der Boxen nicht eingestellt bekomme. Habe schon einiges probiert, aber ohne erfolg.

    VB.NET-Quellcode

    1. Public Sub UserForm_Initialize()
    2. TextBox6.Text = Format(Number, "0.0000")
    3. End Sub
    4. Private Sub TextBox6_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    5. If IsNumeric(TextBox6.Value) Then
    6. TextBox6.Text = Format(TextBox6, "0.0000")
    7. End If
    8. End Sub


    Diese 2 habe ich Probiert. Aber bei dem Wort (Number) zeigt er mir ein Fehler an. (prntscr.com/844kl4)

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „reyman“ ()

    Ich bin jetzt schon ein wenig weiter gekommen. Die obrigen (kleineren) Probleme bestehen weiterhin.

    prntscr.com/846if6

    So sieht es bisher aus. Nur an einem Problem hapert es gerade.

    Wie im befehl unten steht

    VB.NET-Quellcode

    1. ​If CDbl(Gradzahl.Text) = 21 Then
    2. Gradzahl1.Text = ("-1")
    3. End If


    Das Problem ist das, wenn ich Enter drücke muss in MsgBox die "-1" schon drin stehen, sonst berechnet er das nicht.
    Kann man das automatisch umwandeln ? Das heißt wenn ich die 21 im Fenster "Gradzahl" eingebe, dass dann automatisch "-1" im Fenster "Gradzahl1" steht.

    Ich wollte keinen weiteren Button einpflegen.

    Rein von der Funktion her funktioniert es, nur nicht wenn das Fenster "Gradzahl" leer ist weil er eigentlich im gleichen Schritt die -1 ausgeben soll.
    Wichtig: Bei NumericUpDown die Value-Property nehmen. Die Text-Property gibt es zwar, aber sie macht von der Logik her keinen Sinn, anders als bspw. bei TextBoxen. Damit sich das Value in die TextBox spiegelt, musst dies im ValueChanged-Event des NumericUpDowns schreiben. Dieses Event wird jedes mal gefeuert, wenn sich das Value des NumericUpDowns ändert.
    Also für den Reset am Start am besten einfach eine Sub schreiben, die du dann sowohl beim Start (bspw. im Load-Event der Form) als auch beim Klick auf den Reset-Button aufrufst, oder du simulierst beim Öffnen der Form einen Klick auf den Button. Wie dus machst ist scheissegal, kommt aufs genau gleiche hinaus :D

    Das mit der MaskedTextBox verstehe ich nicht ganz. Wenn du ein Problem beim einrichten der Maske hast, solltest du auch hier im MSDN nachschauen: msdn.microsoft.com/de-de/libra…xtbox.mask(v=vs.110).aspx Dort wird genau beschrieben, wie du die Maske aufbauen kannst.

    LG :)
    Hmm also mit der Maske zu Arbeiten versuche ich mal. Schade das man es nicht direkt einstellen kann.

    Ein wenig läuft aber noch nicht so ganz rund mit meinem Programm.

    Zum ersten habe ich jetzt Textboxen Probiert weil es besser aussieht. Klappt soweit ganz gut. (sollte es am ende nicht gehen nutze ich die UpDownBoxen)

    Und zwar wenn ich jetzt etwas berechnen möchte und eine Textbox ist leer, bekomme ich die Meldung (prntscr.com/84btb3)

    Hier der Code:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim Ergebnis As Decimal = CDec(((CDbl(Windstärke1.Text) * CDbl(Faktor1.Text)) + CDbl(Gradzahl1.Text) - CDbl(Wolken.Text) - CDbl(Regen.Text)) * 4)
    3. Driverergebnis.Text = Ergebnis.ToString()
    4. DriverZK.Text = CStr(CDbl(Driverergebnis.Text) / 13)
    5. DriverYard.Text = CStr(CDbl(Weite1.Text) - CDbl(Driverergebnis.Text))
    6. EisenErgebnis.Text = CStr(((CDbl(Windstärke1.Text) * CDbl(Faktor1.Text)) + CDbl(Gradzahl1.Text) - CDbl(Wolken.Text) - CDbl(Regen.Text) / 100 * CDbl(Weite1.Text)))
    7. EisenZK.Text = CStr(CDbl(EisenErgebnis.Text) / 13)
    8. EisenYard.Text = CStr(CDbl(Weite1.Text) - CDbl(EisenErgebnis.Text))
    9. WedgeErgebnis.Text = CStr(((CDbl(Windstärke1.Text) * CDbl(Faktor1.Text)) + CDbl(Gradzahl1.Text) - CDbl(Wolken.Text) - CDbl(Regen.Text) / 100 * CDbl(Weite1.Text) + 3))
    10. WedgeZK.Text = CStr(CDbl(WedgeErgebnis.Text) / 13)
    11. WedgeYard.Text = CStr(CDbl(Weite1.Text) - CDbl(WedgeErgebnis.Text))
    12. End Sub


    Würde ich überall einen Wert eintragen berechnet er es ohne Probleme.

    Ein ähnliches Problem habe ich mit dem Clear Button. (prntscr.com/84bu4w)

    Das ist der Code für die Gradzahl.

    Hier der Code:

    VB.NET-Quellcode

    1. Private Sub Gradzahl0_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Gradzahl0.TextChanged
    2. If CDbl(Gradzahl0.Text) = 0 Then
    3. Gradzahl1.Text = ("-12")
    4. End If
    5. If CDbl(Gradzahl0.Text) = -1 Then
    6. Gradzahl1.Text = ("-12")
    7. End If
    8. If CDbl(Gradzahl0.Text) = -2 Then
    9. Gradzahl1.Text = ("-13")
    10. End If
    11. If CDbl(Gradzahl0.Text) = -3 Then
    12. Gradzahl1.Text = ("-13")
    13. End If
    14. If CDbl(Gradzahl0.Text) = -4 Then
    15. Gradzahl1.Text = ("-14")
    16. End If
    17. If CDbl(Gradzahl0.Text) = -5 Then
    18. Gradzahl1.Text = ("-15")
    19. End If
    20. If CDbl(Gradzahl0.Text) = 21 Then
    21. Gradzahl1.Text = ("-1")
    22. End If
    23. If CDbl(Gradzahl0.Text) = 22 Then
    24. Gradzahl1.Text = ("-1")
    25. End If
    26. If CDbl(Gradzahl0.Text) = 23 Then
    27. Gradzahl1.Text = ("-1")
    28. End If
    29. If CDbl(Gradzahl0.Text) = 24 Then
    30. Gradzahl1.Text = ("0")
    31. End If
    32. If CDbl(Gradzahl0.Text) = 25 Then
    33. Gradzahl1.Text = ("0")
    34. End If
    35. If CDbl(Gradzahl0.Text) = 26 Then
    36. Gradzahl1.Text = ("0")
    37. End If
    38. If CDbl(Gradzahl0.Text) = 27 Then
    39. Gradzahl1.Text = ("1")
    40. End If
    41. If CDbl(Gradzahl0.Text) = 28 Then
    42. Gradzahl1.Text = ("1")
    43. End If
    44. If CDbl(Gradzahl0.Text) = 29 Then
    45. Gradzahl1.Text = ("1")
    46. End If
    47. If CDbl(Gradzahl0.Text) = 30 Then
    48. Gradzahl1.Text = ("1")
    49. End If
    50. End Sub


    Es ist nur so wenn ich es löschen möchte.

    Es müsste doch eine Funktion geben die quasi leere Boxen als 0 behandelt oder ignoriert.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „reyman“ ()

    Hi,

    also dein Wunsch mit dem Text-Markieren geht, eine Textbox hat ein ENTER Event das wird gefeuert wenn du die Textbox z.b. auch mit TAB anwählst. und in diesem Event schreibst du folgendes:

    VB.NET-Quellcode

    1. Private Sub MeineTextbox_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles MeineTextbox.Enter
    2. If (Not String.IsNullOrEmpty(MeineTextbox.Text)) Then
    3. MeineTextbox.SelectionStart = 0
    4. MeineTextbox.SelectionLength = MeineTextbox.Text.Length
    5. End If
    6. End Sub


    und nochwas: der Code da über mir ist ziemlich übel....
    Was wird denn das für ein Programm bzw. was soll es denn später einmal machen? Das was du das jetzt hinschreibst geht nicht lange gut.
    Du musst dich unbedingt mit den Grundlagen betraut machen (vor allem Datentypen) und nich wild drauf los hämmern...
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Snaptu“ ()

    reyman schrieb:

    Und zwar wenn ich jetzt etwas berechnen möchte und eine Textbox ist leer, bekomme ich die Meldung
    Ist ja klar, da eine leere TextBox nicht in einen Zahlentyp konvertiert werden kann. Eine TextBox hat nämlich einen String als Text, während das UpDown eine Decimal als Value hat. Die gibt 0 zurück, wenn sie leer ist.

    Ich würde dir mal dieses (kostenlose) E-Book aus dem Hause Microsoft ans Herz legen: microsoft-press.de/url.asp?cnt=mspress_vb2010
    Da ist alles erklärt. Von den Basics (am wichtigsten) über Konsolen über WinForms über Datenbanken, so ziemlich alles.

    LG :)

    Edit: Ganz wichtig beim programmieren mit Option Strict: Wenn du folgendes hast:

    VB.NET-Quellcode

    1. Option Strict On
    2. Dim inti As Integer = "String"

    Dann kommt ein Fehler. Nun geht es aber nicht darum, einfach nur die vorgeschlagene Fehlerbehebung (​CInt()) zu verwenden, denn dann geht das ganze wieder, bzw. wird vom Compiler akzeptiert, abstürzen tuts trotzdem. Du musst schauen, wo der Fehler liegt. Hier ist es sehr offensichtlich, String passt nicht in Integer. Aber hier?

    VB.NET-Quellcode

    1. If CDbl(Gradzahl0.Text) = 0 Then
    2. Gradzahl1.Text = ("-12")
    3. End If

    Hier nutzt du ja gerade die vorgeschlagene Fehlerbehebung, anstatt mal nachzuschauen, wie man richtig einen String in einer Double bekommt. Einfach mal Google anschmeißen: ​visual basic korrekt von string nach double konvertieren. Drittes Ergebnis: Artentus: Konvertieren - wie funktionierts richtig

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ichduersie“ ()

    Erstmal danke für deinen Code zum Markieren.
    Es ist ein Programm für ein Golfspiel (ShotOnline). Hier wird berechnet wo der Ball unter welchen Bedingungen aufkommt.
    Dieser Coder funktioniert eigentlich einwandfrei. Sobald die Zahl im Fenster steht, schreibt er die "then" Variable in das andere Fenster. Wie gesagt berechnen geht alles so wie ich es mir vorgestellt habe. Nur mit dem löschen der TB hapert es. Mag ja sein das ich vielleicht einige dinge vergessen habe die unbedingt hinein müssen. Ja ich bin ein klarer Anfänger in VB.

    Ich werde jetzt das Projekt langsamer angehen und mich ein wenig mehr mit der Materie auseinander setzen.

    Unnötiges Vollzitat entfernt.
    ~Trade

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Trade“ ()