Daten aus Eingabeformular in zwei Arbeitsblätter fließen lassen

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Ruediger036.

    Daten aus Eingabeformular in zwei Arbeitsblätter fließen lassen

    Hallo zunächst einmal.

    Ich muss zugeben ich hab kaum Ahnung von der Materie, aber mir Stück für Stück bislang weitergeholfen, mit googeln und ausprobieren...aber im Moment verzweifel ich etwas.

    Ich habe mir eine Eingabemaske erstellt und die Daten aus dieser Maske werden automatisch in das Arbeitsblatt eingetragen. Funktioniert echt gut. Sogar das die nächste freie Zeile angesteuert wird. (Sorry, ihr werdet lachen..aber ich war echt froh das alles lief)

    Jetzt wollte ich ein paar mehr Daten eingeben/aufnehmen, habe das Eingabeformular auch um ein paar Eingabeoptionen erweitert.... wollte diese aber in zweites Arbeitsblatt laufen lassen... und scheitere großartig! Irgendwie gelingt es mir nicht den richtigen Kontext zu finden: Vielleicht kann mir jemand einen Tipp geben? (Lachen über über mein Holzfällerscript ist dabei erlaubt)

    Private Sub cmdEingabe_Click()
    'fügt die eingetragenen Werte in das Tabellenblatt und schließt das Formular frmAngebote

    Dim intErsteLeereZeile As Long
    intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
    ActiveSheet.Cells(intErsteLeereZeile, 1).Value = CDate(Me.txtDatum.Value)
    ActiveSheet.Cells(intErsteLeereZeile, 2).Value = Me.TxtKundennummer.Value
    ActiveSheet.Cells(intErsteLeereZeile, 3).Value = Me.txtKundenname.Value
    ActiveSheet.Cells(intErsteLeereZeile, 4).Value = Me.cboB.Value
    ActiveSheet.Cells(intErsteLeereZeile, 5).Value = CCur(Me.txtD1.Value)
    ActiveSheet.Cells(intErsteLeereZeile, 6).Value = CCur(Me.txtD2.Value)
    ActiveSheet.Cells(intErsteLeereZeile, 7).Value = CDbl(Me.txtP1.Value)
    ActiveSheet.Cells(intErsteLeereZeile, 8).Value = CDbl(Me.txtP2.Value)
    ActiveSheet.Cells(intErsteLeereZeile, 9).Value = Me.cboVb.Value
    ActiveSheet.Cells(intErsteLeereZeile, 10).Value = CDbl(Me.txtVb.Value)
    ActiveSheet.Cells(intErsteLeereZeile, 11).Value = CCur(Me.txtBV.Value)
    ActiveSheet.Cells(intErsteLeereZeile, 12).Value = CDbl(Me.txtBVP.Value)
    ActiveSheet.Cells(intErsteLeereZeile, 13).Value = Me.cboR.Value
    ActiveSheet.Cells(intErsteLeereZeile, 14).Value = CCur(Me.txtPD.Value)
    ActiveSheet.Cells(intErsteLeereZeile, 15).Value = CDbl(Me.txtPDP.Value)
    intErsteLeereZeile = Worksheets("Tabelle13").Cells(Rows.Count, 1).End(xlUp).Row + 1
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 1).Value = CDate(Me.txtDatum.Value)
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 2).Value = Me.TxtKundennummer.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 3).Value = Me.txtKundenname.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 4).Value = Me.txtemail.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 5).Value = CCur(Me.txtD1.Value)
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 6).Value = CCur(Me.txtD2.Value)
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 7).Value = Me.cboB.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 8).Value = Me.cboB1.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 9).Value = Me.cboB2.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 10).Value = Me.cboB3.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 11).Value = TextBoxZBvar.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 12).Value = TextBoxZB5.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 13).Value = TextBoxZB10.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 14).Value = TextBoxZB15.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 15).Value = TextBoxZB20.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 16).Value = TextBoxZB25.Value
    Worksheets("Tabelle13").Cells(intErsteLeereZeile, 17).Value = TextBoxZB30.Value

    Unload frmAngebote
    End Sub

    Ab dem fettgedruckten steigt Excel aus mit der Meldung:
    Laufzeitfehler 9
    Index au0erhalb des gültigen Bereichs, wie kann ich das Arbeitsblatt 13 denn ansprechen?

    Sorry für diese wahrscheinlich dämliche Frage, aber was soll man machen wenn die syntax nicht versteht...

    Vielen Dank schon mal im Voraus...
    Willkommen im Forum.
    Tja, da heißt es: Debuggen.
    Gibt es eine Tabelle mit dem Namen Tabelle13?
    Du könntest es schrittweise auseinandernehmen und gucken, bis wie weit Excel kommt:

    Visual Basic-Quellcode

    1. Dim intErsteLeereZeile As Integer, Worksheet As Worksheet, RowCount As Integer, LastNonEmptyCell As Range
    2. Set Worksheet = Worksheets("Tabelle13")
    3. RowCount = Rows.Count
    4. Set LastNonEmptyCell = Worksheet.Cells(RowCount, 1).End(xlUp)
    5. intErsteLeereZeile = LastNonEmptyCell.Row + 1


    btw: Bitte CodeTags verwenden, siehe hier.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Guten Morgen,

    vielen Dank für Deine Antwort. Du hast mir schon mal geholfen ! :thumbup:

    In der Tat hat er den internen Namen Tabelle 13 nicht erkannt, spreche ich das Arbeitsblatt mit der von mir vergebenen Bezeichnung an läufts! Sieht vielleicht nicht besonders elegant aus... aber jetzt klappt es!

    Visual Basic-Quellcode

    1. With Worksheets("Banken")
    2. .Activate
    3. Set Worksheet = Worksheets("Banken")
    4. intErsteLeereZeile = Worksheets("Banken").Cells(Rows.Count, 1).End(xlUp).Row + 1
    5. Worksheets("Banken").Cells(intErsteLeereZeile, 1).Value = CDate(Me.txtDatum.Value)
    6. Worksheet("Banken").Cells(intErsteLeereZeile, 2).Value = Me.TxtKundennummer.Value


    happy!!!!

    Danke!!

    :thumbsup:


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