- 帖子
- 552
- 主題
- 6
- 精華
- 0
- 積分
- 576
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2015-2-8
- 最後登錄
- 2026-9-10
  
|
回復 13# Michelle-W - Private Sub 刪除_Click()
- '還沒處理完,一直錯誤
- Dim i As Integer
- For i = home.ListBox1.ListCount - 1 To 0 Step -1 '程式所在位置在 home表單中可以省略 home.
- If ListBox1.Selected(i) Then '即然等於True 就不用等於True了
- home.ListBox1.RemoveItem (i) 'ListBox1的 list所指定的是清單來源,也就是說清單來源有改變ListBox1的清單才會改變
- '所以這裡用RemoveItem是錯誤的,正確方式,應該刪除 Sheet2的資料,這裡先不幫你修正
- End If
- Next
- End Sub
複製代碼- Private Sub 匯入_Click()
- Dim AA(), xi As Integer
- With ListBox1
- For xi = 0 To .ListCount - 1
- ' 判斷列表框 (ListBox1) 是否有被點選
- If .Selected(xi) Then '即然等於True 就不用等於True了
- ' 取出該行之數據,存入 AA 陣列中
- AA = Application.Index(ListBox1.List, xi + 1)
- ''下列語句必須加入.End(xlUp),這裡已幫你修正
- With Sheets("sheet3").Range("A" & Rows.Count).End(xlUp).Offset(1) '.Offset(1) '**還是下一儲存格
- '''''''''''''''''''''
- '下面2個語法依你的需求擇一
- .Cells = AA '單一儲存格使用
- .Resize(, UBound(AA)) = AA '若使用多欄多列必須指定有多少的儲存格給它
- '''''''''''
- '還是 .Cells = .Cells + AA '資料是累積的
- End With
-
- '***Count 屬性 傳回一個 Long (長整數),等於在一個集合物件中的物件數目。
- 'Rows.Count : 工作表的最後一列
-
- ' ***Offset 屬性 套用至 Range 物件時用 Offset 屬性。
- '傳回 Range 物件,用以代表某個指定區域以外的範圍。唯讀。
- 'expression.Offset(RowOffset, ColumnOffset)
- 'Range("A" & Rows.Count).End(xlUp).Offset(1)
- '工作表A欄底部 , 往上到有資料的儲存格, 的下一儲存格
- 'Exit For
- End If
- Next
- End With
- ListB1 '匯入後重新設定ListBox1
- End Sub
複製代碼 |
|