Microsoft Excel

Herbers Excel/VBA-Archiv

Daten von Listenfeld in Tabelle

Betrifft: Daten von Listenfeld in Tabelle von: Franz
Geschrieben am: 07.07.2008 15:47:27

Hallo zusammen,

in meinem Excelsheet lade ich ein Listenfeld (zwei spaltig) "lstvalues" mit Daten, dies funktioniert soweit.
Das Listenfeld ist auf MultiSelect (Mehrfachauswahl) eingestellt. Nun möchte die ausgewählten Daten in Tabelle6
ab Zeile 10 bis Zeile 59 in die Felder A11 und C11 übertragen. Bei dem untenstehen Code werden die Werte nacheinander in A11 und B11 eingetragen, aber ich möchte statt B11 den Wert in C11 eintragen lassen. Hat jemand eine Idee?

Danke.
Gruß Franz

Private Sub cmdInsert_Click()

   Dim iRow As Integer, iCol As Integer, iCounter As Integer
   Dim Zelle As Integer
   Dim i As Integer
   iCounter = 10
   For iRow = 0 To lstValues.ListCount - 1
      If lstValues.Selected(iRow) Then
         iCounter = iCounter + 1
         For iCol = 1 To 4
            Tabelle6.Cells(iCounter, iCol).Value = Me.lstValues.List(iRow, iCol - 1)
            
         Next iCol
      End If
   Next iRow
End Sub


  

Betrifft: AW: Daten von Listenfeld in Tabelle von: Reinhard
Geschrieben am: 07.07.2008 16:10:22

Hi Franz,

Option Explicit
'
Private Sub cmdInsert_Click()
Dim iRow As Integer, iCol As Integer
For iRow = 0 To lstValues.ListCount - 1
   If lstValues.Selected(iRow) Then
      Tabelle6.Cells(iRow + 11, 1).Value = Me.lstValues.List(iRow, 0)
      Tabelle6.Cells(iRow + 11, 3).Value = Me.lstValues.List(iRow, 1)
   End If
Next iRow
End Sub


Gruß
Reinhard


  

Betrifft: AW: Daten von Listenfeld in Tabelle von: Franz
Geschrieben am: 07.07.2008 16:21:56

Hallo Reinhard,
fast perfekt. Nur sollen die Daten untereinander in die Tabelle geschrieben werden. Bei Deinem Code habe ich wenn ich im Listenfeld die 1 und 5 Zeile markiere in der Tabelle vier leere Zellen. Hast Du noch eine Idee?
Danke.
Gruß Franz


  

Betrifft: AW: Daten von Listenfeld in Tabelle von: Reinhard
Geschrieben am: 07.07.2008 16:31:42

Hi Franz,

ach, deshalb der zweite Zähler, na gut, habe ich ihn wohl zu voreilig rausgeworfen :-)

Private Sub cmdInsert_Click()
Dim iRow As Integer, iCol As Integer, iZei As Integer
iZei = 10
For iRow = 0 To lstValues.ListCount - 1
   If lstValues.Selected(iRow) Then
      iZei = iZei + 1
      Tabelle6.Cells(iZei + 11, 1).Value = Me.lstValues.List(iRow, 0)
      Tabelle6.Cells(iZei + 11, 3).Value = Me.lstValues.List(iRow, 1)
   End If
Next iRow
End Sub

Gruß
Reinhard


  

Betrifft: AW: @Reinhard von: Chris
Geschrieben am: 07.07.2008 16:45:12

Servus Reinhard,

aber nicht + 11, sonst schreibt das Makro ja in Zeile 22ff.

Gruß

Chris


  

Betrifft: Das stimmt :-), danke o.w.T. von: Reinhard
Geschrieben am: 07.07.2008 16:53:45




  

Betrifft: AW: @Reinhard von: Franz
Geschrieben am: 08.07.2008 09:50:08

Danke. Funkt.

Franz


  

Betrifft: AW: @Reinhard von: Franz
Geschrieben am: 08.07.2008 09:50:23

Danke. Funkt.

Franz


  

Betrifft: AW: @Reinhard von: Franz
Geschrieben am: 08.07.2008 09:50:24

Danke. Funkt.

Franz


  

Betrifft: AW: @Reinhard von: Franz
Geschrieben am: 08.07.2008 09:50:48

Danke. Funkt.

Franz


  

Betrifft: AW: @Reinhard von: Franz
Geschrieben am: 08.07.2008 09:50:50

Danke. Funkt.

Franz


  

Betrifft: AW: @Reinhard von: Franz
Geschrieben am: 08.07.2008 09:51:38

Danke. Funkt.

Franz


  

Betrifft: AW: Daten von Listenfeld in Tabelle von: Chris
Geschrieben am: 07.07.2008 16:36:06

Servus Franz,

z.B. so

Option Explicit
'

Private Sub cmdInsert_Click()
Dim iRow As Integer, iCol As Integer, i as long
For iRow = 0 To lstValues.ListCount - 1
   If lstValues.Selected(iRow) Then
      i = i+1
      Tabelle6.Cells(i +10, 1).Value = Me.lstValues.List(iRow, 0)
      Tabelle6.Cells(i + 10, 3).Value = Me.lstValues.List(iRow, 1)
   End If
Next iRow
End Sub



Gruß

Chris


 

Beiträge aus den Excel-Beispielen zum Thema "Daten von Listenfeld in Tabelle"