2017-08-07 3 views
1

Ich verwende eine Listbox, die den Namen von Ordnern enthält. Ich muss die Namen aus der Listbox auswählen (einzeln, um die Reihenfolge der Auswahl beizubehalten) und sie der Excel-Spalte A1 hinzufügen, so dass jedes Mal zur nächsten leeren Zelle von Spalte A hinzugefügt wird. Ich bin sehr neu in vb und brauche Hilfe. Unten sind die Ansätze, die ich versucht habe.So fügen Sie den ausgewählten Wert (einzeln) von der Listbox zur spezifischen Excel-Spalte hinzu

Ansatz 1)

Sub AddRecord_Click() 
     With Sheet1.ListBox1 
      For intIndex = 0 To .ListCount - 1 
       With ActiveSheet 
         LastRow = .Cells(.Rows.Count, "F").End(xlUp).Row 
       End With 

       If .Selected(intIndex) Then 
        Sheet1.Cells(LastRow, "A") = Sheet1.ListBox1.Value 
        NextRow = LastRow + 1 
       End If 
      Next 
     End With 
     End Sub 

Ansatz 2)

Sub AddRecord_Click() 
      intRecord = (CInt(Range("A1").End(xlDown).Row) + 1) 
      Sheet1.Cells(intRecord, "A") = Sheet1.ListBox1.Value 
      intRecord = intRecord + 1 
     End Sub 
+0

Sind zu u hilfreich sein können Sie alle Ausnahmen oder Fehler in dem obigen Code gegenüber – PRABA

+0

ich bin sowohl in der Annäherung an die nächste leere Zelle zu navigieren tatsächlich nicht in der Lage. –

Antwort

0

Versuchen Sie, diese

Sub ListBox7_Change() 
    Dim i As Long 
     With ActiveSheet.ListBoxes("List Box 7") 
      For i = 1 To .ListCount 
       If .Selected(i) Then 
        Range("A" & Rows.count).End(xlUp).offset(1).Value = .List(i) 
       End If 
      Next i 
     End With 

     End Sub 
+0

Vielen Dank. Das hat mein Problem gelöst. :) –

+0

@JuhiDubey ist mein Vergnügen – Ashok

0

Zuerst erhalten Sie gebrauchte Zeile aus der Excel-Tabelle zuletzt und erhöhen schließlich die letzte Zeile und nächsten Spalt Wert auf den Excel einfügen.

Dim last as Excel.Range = xlWorkSheet.Cells.SpecialCells 
(Excel.XlCellType.xlcellTypeLastCell,Type.Missing) 
dim lastUsedRow As Integer = last.Row 
lastUsedRow += 1 
xlWorksheet.RangeA("A"+ lastUserRow).value = ListBox1.Value 
Verwandte Themen