Có thể Remove Item trong Combobox hay không?

Liên hệ QC

Ếch Xanh

Thành viên tích cực
Tham gia
12/8/09
Bài viết
865
Được thích
1,570
Xin vui lòng cho hỏi tại sao tôi không thể Remove Item trong Combobox được? Tôi dùng dòng lệnh dưới đây thì báo lỗi?

PHP:
Private Sub CommandButton1_Click()
  ComboBox1.RemoveItem (ComboBox1.ListIndex)
End Sub

Xin cám ơn.
 
Xin vui lòng cho hỏi tại sao tôi không thể Remove Item trong Combobox được? Tôi dùng dòng lệnh dưới đây thì báo lỗi?

PHP:
Private Sub CommandButton1_Click()
  ComboBox1.RemoveItem (ComboBox1.ListIndex)
End Sub

Xin cám ơn.
Tôi thí nghiệm bình thường mà bạn... Có khi nào bạn chưa chọn Item trong ComboBox mà lại remove thì lấy đâu ra thằng ComboBox1.ListIndex
 
Upvote 0
Tôi thí nghiệm bình thường mà bạn... Có khi nào bạn chưa chọn Item trong ComboBox mà lại remove thì lấy đâu ra thằng ComboBox1.ListIndex

Sau khi em chọn xong 1 Item trong combobox, rồi em chọn nút command để xóa hẳn mục đó ra khỏi list của nó, chẳng hiểu sao nó cứ báo lỗi. Form em tạo chỉ 1 combobox, 1 nút lệnh thôi.
 
Upvote 0
Sau khi em chọn xong 1 Item trong combobox, rồi em chọn nút command để xóa hẳn mục đó ra khỏi list của nó, chẳng hiểu sao nó cứ báo lỗi. Form em tạo chỉ 1 combobox, 1 nút lệnh thôi.
Có lẽ đúng trong trường hợp bạn nạp list cho ComboBox bằng RowSource ---> Nếu nạp bằng mảng hoặc AddItem thông thường thì sẽ không lỗi
Nếu lở dùng Rowsource thì ta dùng "mẹo" để biến nó thành mảng như sau:
PHP:
Private Sub UserForm_Initialize()
  Dim sArray
  sArray = Range(Me.ComboBox1.RowSource)
  Me.ComboBox1.RowSource = ""
  Me.ComboBox1.List() = sArray
End Sub
Sau đó dùng code của bạn ---> Thử xem
 
Upvote 0
Nhân chủ để này cho em hỏi,em có tạo 6 combobox vậy có cách nào mình dùng vòng lập để xóa dữ hiện tại trên combobox khi mình click vào checkbox không thường ngày em làm thì cho từng combobox là rỗng. Mong anh chị giúp. Thanks
 

File đính kèm

  • combobox.xls
    39 KB · Đọc: 53
Upvote 0
Nhân chủ để này cho em hỏi,em có tạo 6 combobox vậy có cách nào mình dùng vòng lập để xóa dữ hiện tại trên combobox khi mình click vào checkbox không thường ngày em làm thì cho từng combobox là rỗng. Mong anh chị giúp. Thanks
Vầy thôi:
PHP:
Private Sub chk_Click()
  Dim cbo As OLEObject
  For Each cbo In ActiveSheet.OLEObjects
    If cbo.progID = "Forms.ComboBox.1" Then
      cbo.Object.Text = ""
      ActiveSheet.chk.Value = False
    End If
  Next
End Sub
 
Upvote 0
Mặc định "Forms.ComboBox.1" nếu mình thay thành "Forms.ComboBox.2"thì bị lỗi phải không, lúc trước em thử khai báo Dim cbo as Object thì em tưởng nó là Object. Vậy cho em hỏi khi nào nó là Object, khi nào là OLEObject vậy?. Mà sao trên UserForm khi mình muốn cho các combobox đó rỗng thị mình khai báo nó là control để duyệt qua từng combobox sao mình không khai báo là Object vậy? Vì em nghĩ nó cũng là 1 Object mà. Thật sự em rất rất mơ hồ về cái này mong anh giải thích giúp. Thanks
 
Upvote 0
Mặc định "Forms.ComboBox.1" nếu mình thay thành "Forms.ComboBox.2"thì bị lỗi phải không, lúc trước em thử khai báo Dim cbo as Object thì em tưởng nó là Object. Vậy cho em hỏi khi nào nó là Object, khi nào là OLEObject vậy?. Mà sao trên UserForm khi mình muốn cho các combobox đó rỗng thị mình khai báo nó là control để duyệt qua từng combobox sao mình không khai báo là Object vậy? Vì em nghĩ nó cũng là 1 Object mà. Thật sự em rất rất mơ hồ về cái này mong anh giải thích giúp. Thanks
Nói chung, các ActiveX Control nếu nằm trên sheet thì khai báo OLEObject, còn nếu nằm trên UserForm thì khai báo Control hoặc MSForms.... gì gì đó
Object chỉ là nói chung chung cho tất cả các biến đối tượng (Sheet, Workbook cũng là Object được vậy)
--------------------
Tóm lại: Tùy cơ ứng biến, tùy trường hợp cụ thể mà dùng cho đúng ---> Làm hoài tự nhiên... quen
Ẹc.. Ẹc..
 
Upvote 0
Cảm phiền cho mình hỏi thêm chút luôn. Tại sao dữ liệu trong combo box kô tự động xoá khi mình đã xoá dữ liệu trong sheet nguồn? Mình kô biết làm như thế nào. Có ai giúp dùm kô ?
 
Upvote 0
Cảm phiền cho mình hỏi thêm chút luôn. Tại sao dữ liệu trong combo box kô tự động xoá khi mình đã xoá dữ liệu trong sheet nguồn? Mình kô biết làm như thế nào. Có ai giúp dùm kô ?
Bạn gửi cái file lên được không? Nhìn file chắc dễ làm việc hơn.
 
Upvote 0
Cám ơn bạn đã hồi đáp. Mình đã khắc phục được rồi.
 
Upvote 0
Web KT
Back
Top Bottom