2017-08-07 3 views
1

フォルダの名前を含むリストボックスを使用しています。リストボックスから名前を選択して(選択の順序を維持するために一度に1つずつ)、列Aの次の空のセルに追加するようにExcelの列A1に追加する必要があります。助けが必要です。以下は私が試みたアプローチです。リストボックスから特定のExcelの列に選択した値(一度に1つずつ)を追加する方法

アプローチ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 

アプローチ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

Uに役立つかもしれない試してみてください、あなたは私が実際にアプローチの両方で次の空白のセルに移動することはできませんよ上記のコード – PRABA

+0

内の任意の例外やエラーに直面しています。 –

答えて

0

これは

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

ありがとうございました。これは私の問題を解決しました。 :) –

+0

@JuhiDubeyその私の喜び – Ashok

0

まず、Excelシートから最後に使用された行を取得し、最終的にはその最後の行をインクリメントし、Excelに次の列値を挿入します。

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 
関連する問題