Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Einsargen Teil II
#1
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

.xlsm   CEF-Einsargen 1.xlsm (Größe: 67,75 KB / Downloads: 6)
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
?mage
to top
#2
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
Gruß Stefan
Win 7 / Office 2007
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste