Clever-Excel-Forum

Normale Version: Einsargen Teil II
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Alter Thread ist geschlossen, sieh aber letztes Post
Einsargen (13 Striche sammeln), Anzahl Kegler verringert sich, Teil 2

Hallo @all Lesende
bin nun in der Lage das Szenario per Formular zu händeln,
anbei die Probe-Tabelle
[attachment=1041]
mit diesem Code hole ich untereinanderstehende Ergebnisse in eine Zeile
Code:
Private Sub CmdSpaltenweise_eintragen_Click()
   Dim lngZeile As Long
   With Worksheets("Ergebnisse2")
      lngZeile = IIf(Len(.Cells(.Rows.Count, 2)), .Rows.Count, .Cells(.Rows.Count, 1).End(xlUp).Row) + 1
      .Cells(lngZeile, 1).Value = Cbo1_Einsargen.Text
      .Cells(lngZeile, 2).Value = Cbo2_Einsargen.Text
      .Cells(lngZeile, 3).Value = Cbo3_Einsargen.Text
      .Cells(lngZeile, 4).Value = Cbo4_Einsargen.Text
      .Cells(lngZeile, 5).Value = Cbo5_Einsargen.Text
      .Cells(lngZeile, 6).Value = Cbo6_Einsargen.Text
      .Cells(lngZeile, 7).Value = Cbo7_Einsargen.Text
      .Cells(lngZeile, 8).Value = Cbo8_Einsargen.Text
      .Cells(lngZeile, 9).Value = Cbo9_Einsargen.Text
      .Cells(lngZeile, 10).Value = Cbo10_Einsargen.Text
      .Cells(lngZeile, 11).Value = Cbo11_Einsargen.Text
      .Cells(lngZeile, 12).Value = Cbo12_Einsargen.Text
   End With
End Sub

Frage: Nun sollen die Einträge untereinander, aber in die nächste leere Spalte eingetragen werden. Erste belegte Spalte A (Namen) ab Spalte B nach rechts die Spaltenüberschriften W1, W2, W3 usw.

Wenn ich richtig gelesen habe geht das mit Offset.

Aber wie?
Kann mir da jemand helfen?
Ich hoffe auf eure Mithilfe Blush

Nächste Fragestellung, wie den Verlierern die Werte laut ihrer Platzierung zuweisen? Tabellenbereich Tabelle2!K2:L13
Hallo Frank,

meintest Du so?

Code:
Private Sub CmdSpaltenweise_eintragen_Click()
   Dim lngSpalte As Long, lngLabel As Long
   Dim rngSpalte As Range
   ' Schreibt den Inhalt der Userform in die Excel Tabelle History
   With Worksheets("Ergebnisse1")
      For lngLabel = 68 To 79
         If Me.Controls("Label" & lngLabel).Visible Then
            Set rngSpalte = .Columns(1).Find(Me.Controls("Label" & lngLabel).Caption, lookat:=xlWhole, LookIn:=xlValues)
            If Not rngSpalte Is Nothing Then
               lngSpalte = IIf(Len(.Cells(rngSpalte.Row, .Columns.Count)), .Columns.Count, .Cells(rngSpalte.Row, .Columns.Count).End(xlToLeft).Column) + 1
               .Cells(rngSpalte.Row, lngSpalte) = Me.Controls("Cbo" & lngLabel - 67 & "_Einsargen").Value
            End If
         End If
      Next lngLabel
   End With
End Sub