Làm thế nào để sử dụng Visual Basic for Applications (VBA) để thay đổi UserForms trong Excel

Hỗ trợ dành cho Office 2003 đã kết thúc

Microsoft đã kết thúc hỗ trợ dành cho Office 2003 vào ngày 8 tháng 4 năm 2014. Thay đổi này đã ảnh hưởng đến các bản cập nhật phần mềm và các tùy chọn bảo mật của bạn. Tìm hiểu ý nghĩa của điều này với bạn và cách thực hiện để luôn được bảo vệ.

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:829070
TÓM TẮT
Bài viết này mô tả cách thay đổi UserForms lập trình trong Microsoft Excel. Nó bao gồm các ví dụ và Microsoft Visual Basic for Applications (VBA) macro mà cho bạn thấy làm thế nào để có lợi thế của các khả năng của UserForms và làm thế nào để sử dụng các điều khiển ActiveX ™ có sẵn cho UserForms.

Giới thiệu về các nguyên tắc cơ bản của UserForms mô tả làm thế nào để hiển thị UserForms, làm thế nào để tạm thời ẩn UserForms và làm thế nào để bỏ qua UserForms. Bạn cũng được hiển thị làm thế nào để sử dụng các sự kiện phổ biến nhất là liên kết với UserForms — các Khởi tạo sự kiện, các Nhấp vào sự kiện, và các Chấm dứt sự kiện. Một hoặc một số ví dụ sau đây chứng minh làm thế nào để sử dụng mỗi của các điều khiển ActiveX ™ sau đây trong một UserForm:
  • Nhãn hiệu kiểm soát
  • TextBox kiểm soát
  • CommandButton kiểm soát
  • ListBox kiểm soát
  • ComboBox kiểm soát
  • Khung kiểm soát
  • OptionButton kiểm soát
  • Hộp kiểm kiểm soát
  • ToggleButton kiểm soát
  • TabStrip kiểm soát
  • MultiPage kiểm soát
  • Thanh cuộn kiểm soát
  • SpinButton kiểm soát
  • RefEdit kiểm soát
  • Hình ảnh kiểm soát
GIỚI THIỆU
Bài viết này mô tả cách sử dụng VBA để thực hiện những thay đổi trong UserForms trong Excel.
THÔNG TIN THÊM
Microsoft cung cấp lập trình ví dụ để minh hoạ chỉ, không có bảo hành hoặc thể hiện hay ngụ ý. Điều này bao gồm, nhưng không giới hạn, bảo đảm ngụ ý khả năng bán hàng hoặc cho một mục đích cụ thể. Bài viết này giả định rằng bạn đã quen thuộc với ngôn ngữ lập trình mà đang được chứng minh và với những công cụ được sử dụng để tạo ra và gỡ lỗi thủ tục. Microsoft hỗ trợ các kỹ sư có thể giúp giải thích các chức năng của một thủ tục cụ thể, nhưng họ sẽ không sửa đổi những ví dụ để cung cấp thêm chức năng hoặc xây dựng quy trình để đáp ứng các yêu cầu cụ thể của bạn.

UserForm khái niệm cơ bản

Làm thế nào để hiển thị một UserForm

Cú pháp được sử dụng để hiển thị một UserForm lập trình sau đây:
UserFormName.Hiển thị
Để hiển thị một UserForm được đặt theo tên UserForm1, sử dụng sau đây Mã số:
UserForm1.Show
Bạn có thể tải một UserForm vào bộ nhớ mà không thực sự hiển thị nó. Có thể mất một UserForm phức tạp một vài giây để xuất hiện. Bởi vì bạn có thể preload một UserForm vào bộ nhớ, bạn có thể quyết định khi nào phải chịu chi phí này. Để tải UserForm1 vào bộ nhớ mà không cần hiển thị nó, sử dụng mã sau đây:
Load UserForm1
Để hiển thị UserForm, bạn phải sử dụng cácHiển thị phương pháp trước đó được hiển thị.

Làm thế nào để tạm thời ẩn một UserForm

Nếu bạn muốn tạm thời ẩn một UserForm, sử dụng cácẨn phương pháp. Bạn có thể muốn ẩn một UserForm nếu ứng dụng của bạn liên quan đến việc di chuyển từ UserForms. Để ẩn một UserForm, sử dụng mã sau đây:
UserForm1.Hide
Để biết thêm chi tiết, bấm vào số bài viết sau đây để xem bài viết trong các kiến thức Microsoft Cơ sở:
213747XL2000: Làm thế nào để di chuyển giữa các tuỳ chỉnh UserForms với nút lệnh

Làm thế nào để hủy bỏ một UserForm từ bộ nhớ

Để loại bỏ một UserForm bộ nhớ, sử dụng cácLấy tuyên bố. Để lấy một UserForm được đặt theo tên UserForm1, sử dụng các mã sau đây:
Unload UserForm1
Nếu bạn lấy một UserForm trong một thủ tục sự kiện đó là liên kết với một UserForm hoặc đó là liên kết với một điều khiển trên một UserForm (ví dụ, bạn nhấp vào mộtCommandButton điều khiển), bạn có thể sử dụng "Tôi" từ khóa thay vì của tên của các UserForm. Để sử dụng "Tôi" từ khóa để lấy một UserForm, sử dụng mã sau đây:
Unload Me

Làm thế nào để sử dụng các sự kiện UserForm

UserForms hỗ trợ nhiều sự kiện được xác định trước, bạn có thể đính kèm VBA thủ tục để. Khi sự kiện xảy ra, các thủ tục mà bạn gắn liền với các sự kiện chạy. Một hành động đơn lẻ được thực hiện bởi một người dùng có thể bắt đầu nhiều các sự kiện. Trong số thường xuyên nhất được sử dụng các sự kiện cho một UserForm là các Khởi tạo sự kiện, các Nhấp vào sự kiện, và các Chấm dứt sự kiện.

Chú ý Một mô-đun Visual Basic có chứa một thủ tục sự kiện có thể được gọi là một mô-đun "đằng sau" UserForm. Một mô-đun có chứa các sự kiện thủ tục không phải là được nhìn thấy trong các Mô-đun bộ sưu tập của cửa sổ Microsoft dự án Explorer của thị giác Biên tập viên cơ bản. Bạn phải nhấp đúp vào cơ thể của một UserForm để xem UserForm Mã mô-đun.

Làm thế nào để bẫy các sự kiện UserForm

Để bẫy các sự kiện UserForm, hãy làm theo các bước sau:
  1. Tạo một bảng tính mới trong Excel.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Bấm đúp vào các UserForm để hiển thị các Mã cửa sổ cho UserForm.
  5. Trong mô-đun, hãy nhập mã sau đây:
    Private Sub UserForm_Click()    Me.Height = Int(Rnd * 500)    Me.Width = Int(Rnd * 750)End SubPrivate Sub UserForm_Initialize()    Me.Caption = "Events Events Events!"    Me.BackColor = RGB(10, 25, 100)End SubPrivate Sub UserForm_Resize()    msg = "Width: " & Me.Width & Chr(10) & "Height: " & Me.Height    MsgBox prompt:=msg, Title:="Resize Event"End SubPrivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)    msg = "Now Unloading " & Me.Caption    MsgBox prompt:=msg, Title:="QueryClose Event"End SubPrivate Sub UserForm_Terminate()    msg = "Now Unloading " & Me.Caption    MsgBox prompt:=msg, Title:="Terminate Event"End Sub
  6. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
Khi UserForm đầu tiên cất cánh, vĩ mô sử dụng các Khởi tạo sự kiện để thay đổi các Chú thích tài sản của UserForm để "Sự kiện sự kiện sự kiện!" và các BackColor bất động sản để màu xanh đậm.

Khi bạn bấm vào UserForm, bạn bắt đầu các Nhấp vào sự kiện. Các Nhấp vào sự kiện lại kích thước UserForm. Do bạn tạo ra một thủ tục các Thay đổi kích cỡ sự kiện, bạn nhận được hai thư hộp sau khi bạn nhấp chuột vào các UserForm. Các Thay đổi kích cỡ sự kiện xảy ra hai lần vì mã đằng sau các Nhấp vào sự kiện thay đổi cả các Chiều rộng bất động sản và các Chiều cao tài sản của UserForm.

Đóng cửa UserForm khởi sự QueryClose sự kiện. Các QueryClose sự kiện sẽ hiển thị một hộp thư có chứa các chú thích mà bạn đã cho UserForm trong các mã cho các Khởi tạo sự kiện. Bạn có thể sử dụng các QueryClose sự kiện khi bạn muốn thực hiện một bộ hành động nếu những người dùng đóng UserForm.

Các Chấm dứt sự kiện sau đó tạo ra một hộp thông báo rằng các chú thích UserForm là UserForm1. Các Chấm dứt sự kiện xảy ra sau khi UserForm được lấy ra từ bộ nhớ và các chú thích của UserForm trở về trạng thái ban đầu của nó.

Làm thế nào để ngăn chặn một UserForm đang được đóng lại bằng cách sử dụng nút đóng

Khi bạn chạy một UserForm, một Đóng nút được thêm đến góc bên phải của cửa sổ UserForm. Nếu bạn muốn ngăn chặn các UserForm từ đang được đóng lại bằng cách sử dụng các Đóng nút, bạn phải cái bẫy các QueryClose sự kiện.

Các QueryClose sự kiện xảy ra ngay trước khi UserForm là bỏ nạp từ bộ nhớ. Sử dụng các CloseMode đối số của các QueryClose sự kiện để xác định như thế nào UserForm sự được đóng lại. Các vbFormControlMenu giá trị cho các CloseMode đối số chỉ ra rằng các Đóngnút được nhấp. Để giữ cho UserForm hoạt động, đặt các Hủy bỏ đối số của các QueryClose sự kiện để Sự thật. Sử dụng các QueryClose sự kiện để ngăn chặn một UserForm đang được đóng lại bằng cách sử dụng các Đóng nút, hãy làm theo các bước sau:
  1. Tạo một bảng tính mới trong Excel.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một CommandButton kiểm soát để UserForm.
  5. Bấm đúp vào các UserForm để hiển thị các Mã cửa sổ cho UserForm.
  6. Trong cửa sổ mã, gõ mã sau đây:
    Private Sub CommandButton1_Click()    Unload MeEnd SubPrivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)    IF CloseMode = vbFormControlMenu Then        Cancel = True        Me.Caption = "Click the CommandButton to close Me!"    End IfEnd Sub
  7. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
UserForm không phải là đóng cửa khi bạn bấm các Đóng nút. Bạn phải bấm vào các CommandButton kiểm soát để đóng UserForm.

Để biết thêm chi tiết, bấm vào các số bài viết sau để xem các bài viết trong cơ sở kiến thức Microsoft:
207714XL2000: Thời gian chạy lỗi bằng cách sử dụng bộ sưu tập UserForms
211527 XL2000: Không thể kéo kiểm soát UserForm vào một bảng
211868 XL2000: Lỗi chạy vĩ mô chèn kiểm soát vào UserForm
213582 XL2000: Vấn đề khi bạn sử dụng macro thêm quyền kiểm soát vào UserForm
213583 XL2000: Không thể hiển thị UserForms trong các dự án khác
213736 XL2000: Làm thế nào để xác định các khóa ép cùng với nút chuột
213744 XL2000: Làm thế nào để tạm thời ẩn một UserForm
213747 XL2000: Làm thế nào để di chuyển giữa các tuỳ chỉnh UserForms với nút lệnh
213749 XL2000: làm thế nào sử dụng một UserForm để nhập dữ liệu
213768 XL2000: Làm thế nào để tự động thay đổi kích thước một hình thức sử dụng
213774 XL2000: Làm thế nào để tạo ra một màn hình khởi động với một UserForm

VBA mã

Excel bao gồm mười lăm điều khiển khác nhau mà bạn có thể sử dụng trên UserForms. Tiết đoạn này chứa nhiều ví dụ sử dụng các điều khiển lập trình.

Chú ý VBA mã được bao gồm trong bài viết này không chứa Ví dụ mà ảnh hưởng đến tất cả các tài sản và các sự kiện cho các điều khiển. Nếu bạn phải, bạn có thể sử dụng cửa sổ Properties để xem danh sách các tài sản mà có một điều khiển. Để xem danh sách các thuộc tính, trên các Xem trình đơn, nhấp vào Cửa sổ Properties.

Làm thế nào để sử dụng thiết kế chế độ chỉnh sửa điều khiển

Khi bạn sử dụng Visual Basic Editor để thiết kế một hộp thoại, bạn đang sử dụng chế độ thiết kế. Trong chế độ thiết kế, bạn có thể chỉnh sửa các điều khiển và bạn có thể thay đổi các thuộc tính của một kiểm soát trên một UserForm trong cửa sổ thuộc tính. Để hiển thị cửa sổ Properties, trên cácXem trình đơn, nhấp vào Cửa sổ Properties.

Chú ý Điều khiển không đáp ứng các sự kiện trong khi bạn đang ở chế độ thiết kế. Khi bạn chạy một hộp thoại để hiển thị nó cách người dùng nhìn thấy nó, chương trình trong chạy chế độ. Thay đổi bạn thực hiện cho các thuộc tính của một điều khiển trong chạy chế độ không được giữ lại khi UserForm là bỏ nạp từ bộ nhớ.

Chú ý Điều khiển đáp ứng với các sự kiện trong chế độ chạy.

Làm thế nào để chỉ điều khiển trên một UserForm

Làm thế nào bạn đề cập đến điều khiển lập trình phụ thuộc vào loại Visual Basic mô-đun tờ nơi mà bạn chạy các mã. Nếu mã chạy từ một mô-đun chung, cú pháp là như sau:
UserFormName.Controlname.Property = Giá trị
Ví dụ, nếu bạn muốn thiết lập cácVăn bản tài sản của một TextBox điều khiển được đặt tên theo TextBox1 trên một UserForm được đặt tên UserForm1 với giá trị của Bob, sử dụng mã sau đây:
UserForm1.TextBox1.Text = "Bob"
Nếu mã là một thủ tục được khởi xướng bởi một sự kiện kiểm soát của một hoặc bởi UserForm, bạn không phải đề cập đến tên của UserForm. Thay vào đó, sử dụng mã sau đây:
TextBox1.Text = "Bob"
Khi bạn đính kèm mã vào một đối tượng, mã được gắn vào một trong các sự kiện của đối tượng đó. Trong nhiều ví dụ trong bài viết này, bạn đính kèm mã để cácNhấp vào sự kiện của các CommandButton đối tượng.

Nhãn điều khiển

Nhãn hiệu điều khiển được sử dụng chủ yếu để mô tả các điều khiển khác vào một UserForm. Một Nhãn hiệu điều khiển không thể biên tập bởi người sử dụng trong khi UserForm chạy. Sử dụng các Chú thích bất động sản để đặt hoặc quay trở lại các văn bản trong một Nhãn hiệu kiểm soát. Khác thường xuyên sử dụng thuộc tính cho các định dạng một Nhãn hiệu điều khiển bao gồm các Phông chữ bất động sản và các ForeColor bất động sản.

Làm thế nào để sử dụng một tuyên bố với định dạng một điều khiển Label

Sử dụng các VỚI tuyên bố để thay đổi các thuộc tính của một Nhãn hiệu kiểm soát, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một Nhãn hiệu kiểm soát để UserForm.
  5. Thêm một CommandButton kiểm soát để UserForm.
  6. Bấm đúp vào các CommandButton kiểm soát để mở cửa sổ mã cho UserForm.
  7. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào CommandButton1 sự kiện:
    Private Sub CommandButton1_Click()    With Label1        ' Set the text of the label.        .Caption = "This is Label Example 1"        ' Automatically size the label control.        .AutoSize = True        .WordWrap = False        ' Set the font used by the Label control.        .Font.Name = "Times New Roman"        .Font.Size = 14        .Font.Bold = True        ' Set the font color to blue.        .ForeColor = RGB(0, 0, 255)    End WithEnd Sub
  8. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
  9. Bấm vào các CommandButton.
Các văn bản "Đây là nhãn ví dụ 1" xuất hiện trên các Nhãn hiệu kiểm soát trong đậm Times New Roman với một kích thước phông chữ 14.

Điều khiển TextBox

TextBox điều khiển thường được sử dụng để tập hợp đầu vào từ người dùng. Các Văn bản bất động sản có chứa các mục được thực hiện tại một TextBox kiểm soát.

Làm thế nào để sử dụng một hộp kiểm soát để xác nhận mật khẩu

Nếu bạn đặt các PasswordChar tài sản của một TextBox kiểm soát, nó sẽ trở thành một điều khiển "che-edit". Mỗi nhân vật mà là đánh máy trong các TextBox kiểm soát được thay thế trực quan bằng các ký tự mà bạn chỉ định. Sử dụng một TextBox điều khiển để xác nhận mật khẩu, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một TextBox kiểm soát để UserForm.
  5. Trên các Xem trình đơn, nhấp vàoThuộc tính để làm cho cửa sổ thuộc tính có thể nhìn thấy.
  6. Trong các PasswordChar tài sản của các TextBox kiểm soát, loại *.

    Chú ý Bạn đang thay đổi giá trị để dấu sao.
  7. Thêm một CommandButton kiểm soát để UserForm.
  8. Bấm đúp vào các CommandButton kiểm soát để mở cửa sổ mã cho UserForm.
  9. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào CommandButton1 sự kiện:
    Private Sub CommandButton1_Click()    If TextBox1.Text <> "userform" Then        MsgBox "Password is Incorrect. Please reenter."        TextBox1.Text = ""        TextBox1.SetFocus    Else        MsgBox "Welcome!"        Unload Me    End IfEnd Sub
  10. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
  11. Gõ mật khẩu userform trong các TextBox kiểm soát.
  12. Bấm vào các CommandButtonkiểm soát.
Ví dụ này, mật khẩu này là "userform". Nếu bạn gõ một mật khẩu không chính xác, bạn nhận được một hộp thư mà các tiểu bang rằng mật khẩu của bạn là không chính xác, các TextBox điều khiển sẽ bị xóa, và sau đó bạn có thể gõ lại mật khẩu. Khi bạn gõ mật khẩu chính xác, bạn nhận được một thông điệp chào mừng và UserForm là đóng cửa.

Để biết thêm chi tiết, bấm vào số bài viết sau đây để xem bài viết trong các kiến thức Microsoft Cơ sở:
213555XL2000: Không có tài sản xác nhận dữ liệu cho UserForm TextBoxes

Điều khiển CommandButton

Bạn có thể sử dụng một CommandButton kiểm soát để bắt đầu một thủ tục VBA. Thủ tục VBA là điển hình gắn liền với các Nhấp vào sự kiện của các CommandButton kiểm soát. Sử dụng một CommandButton kiểm soát mà chạy một thủ tục khi các Nhấp vào sự kiện xảy ra, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một CommandButton kiểm soát để UserForm.
  5. Bấm đúp vào các CommandButton kiểm soát để hiển thị cửa sổ mã cho UserForm.
  6. Trong cửa sổ mã, gõ mã sau đây:
    Private Sub CommandButton1_Click()    red = Int(Rnd * 255)    green = Int(Rnd * 255)    blue = Int(Rnd * 255)    CommandButton1.BackColor = RGB(red, green, blue)End Sub 
  7. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
Màu nền của các CommandButton1kiểm soát thay đổi mỗi khi bạn nhấp vào nó.

Để thêm thông tin về các CommandButton điều khiển, nhấp vào số bài viết sau để xem các bài viết trong Microsoft Knowledge Base:
213572XL2000: Nhấp nút hủy bỏ có thể không bỏ qua UserForm
213743 XL2000: Làm thế nào để đặt nút lệnh mặc định trên một UserForm

Điều khiển ListBox

Mục đích của các ListBox kiểm soát là để cho người dùng với một danh sách các khoản mục để chọn từ. Bạn có thể lưu trữ danh sách mục cho một ListBox kiểm soát trên một bảng tính Excel. Để cư trú một ListBox kiểm soát với một loạt các tế bào trên một bảng tính, sử dụng các RowSource bất động sản. Khi bạn sử dụng các MultiSelect bất động sản, bạn có thể thiết lập một ListBox kiểm soát để chấp nhận chọn nhiều.

Làm thế nào để có được khoản mục được chọn hiện thời từ kiểm soát ListBox

Sử dụng các Giá trị tài sản của một ListBox kiểm soát để trở về khoản mục được chọn hiện thời. Để trở về các khoản mục đã chọn hiện thời trong một lựa chọn duy nhất ListBox kiểm soát, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trong các tế bào A1:A5 trên Sheet1, nhập các giá trị mà bạn muốn sử dụng để cư trú các ListBox kiểm soát.
  3. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  4. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  5. Thêm một ListBox kiểm soát để UserForm.
  6. Bấm đúp vào các ListBox kiểm soát để hiển thị cửa sổ mã cho các ListBox kiểm soát.
  7. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào ListBox1 sự kiện:
    Private Sub ListBox1_Click()    MsgBox ListBox1.ValueEnd Sub 
  8. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
Khi bạn chọn một khoản mục trong danh sách, một hộp thông điệp sẽ xuất hiện với khoản mục đã chọn hiện thời.

Làm thế nào để có được các khoản mục được chọn trong một điều khiển ListBox chọn nhiều

Để xác định các khoản mục được chọn trong một lựa chọn nhiều ListBox kiểm soát, bạn phải lặp qua tất cả các mục trong danh sách, và sau đó truy vấn các Được chọn bất động sản. Để trở về các khoản mục đã chọn hiện thời trong một nhiều chọn ListBox kiểm soát, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trong các tế bào A1:A5 trên Sheet1, nhập các giá trị mà bạn muốn sử dụng để cư trú các ListBox kiểm soát.
  3. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  4. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  5. Thêm một ListBox kiểm soát để UserForm.
  6. Trên các Xem trình đơn, nhấp vàoThuộc tính để xem cửa sổ Properties.
  7. Nhập các giá trị được chỉ định cho sau đây ListBox thuộc tính điều khiển:
       Property	   Value   -----------     -----------------------   MultiSelect	   1 - frmMultiSelectMulti   RowSource	   Sheet1!A1:A8
  8. Thêm một CommandButton kiểm soát để UserForm.
  9. Bấm đúp vào các CommandButton kiểm soát để hiển thị cửa sổ mã cho UserForm.
  10. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào CommandButton1 sự kiện:
    Sub CommandButton1_Click ()       ' Loop through the items in the ListBox.       For x = 0 to ListBox1.ListCount - 1          ' If the item is selected...          If ListBox1.Selected(x) = True Then             ' display the Selected item.             MsgBox ListBox1.List(x)          End If       Next x    End Sub 
  11. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
  12. Chọn một hoặc nhiều mục trong danh sách.
  13. Nhấp vào CommandButton1.
Sau khi bạn nhấp CommandButton1, mỗi mục có bạn đã chọn trong các ListBox kiểm soát xuất hiện trong một hộp thông điệp riêng biệt. Sau khi tất cả các lựa chọn mục xuất hiện trong một hộp thư, UserForm sẽ tự động đóng cửa.

Làm thế nào để sử dụng tài sản RowSource để cư một ListBox kiểm soát với các tế bào trên một bảng

Sử dụng các RowSource bất động sản để cư trú một ListBox kiểm soát từ một loạt các tế bào trên một bảng tính, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trong các tế bào A1:A5 trên Sheet1, nhập các giá trị mà bạn muốn sử dụng để cư trú các ListBox kiểm soát.
  3. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  4. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  5. Thêm một ListBox kiểm soát để UserForm.
  6. Thêm một CommandButton kiểm soát để UserForm.
  7. Bấm đúp vào các CommandButton kiểm soát để hiển thị cửa sổ mã cho UserForm.
  8. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào CommandButton1 sự kiện:
    Private Sub CommandButton1_Click()    ListBox1.RowSource = "=Sheet1!A1:A5"End Sub 
  9. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.

    Chú ýListBox1 không chứa bất kỳ giá trị.
  10. Nhấp vào CommandButton1.
ListBox1 là dân cư với các giá trị trong các tế bào A1:A5 ngày Sheet1.

Làm thế nào để cư một ListBox kiểm soát với các giá trị trong một mảng

Ví dụ này cho thấy bạn làm thế nào để cư một ListBox kiểm soát với một mảng biến. Bạn phải gán các giá trị từ mảng để các ListBox kiểm soát một mục tại một thời điểm. Thông thường, quá trình này đòi hỏi rằng bạn sử dụng một cấu trúc looping, chẳng hạn như một Cho...Tiếp theo vòng lặp. Để cư trú một ListBox kiểm soát với một mảng biến, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một ListBox kiểm soát để UserForm.
  5. Trên các Chèn trình đơn, nhấp vàoMô-đun để chèn một tờ mô-đun.
  6. Trong cửa sổ mã, gõ mã sau đây:
    Sub PopulateListBox()    Dim MyArray As Variant    Dim Ctr As Integer    MyArray = Array("Apples", "Oranges", "Peaches", "Bananas", "Pineapples")        For Ctr = LBound(MyArray) To UBound(MyArray)        UserForm1.ListBox1.AddItem MyArray(Ctr)    Next        UserForm1.ShowEnd Sub 
  7. Trên các Công cụ trình đơn, nhấp vàoMacro, bấm PopulateListBox, sau đó bấmChạy.
Các PopulateListBox thủ tục xây dựng một mảng đơn giản, và sau đó thêm các khoản mục trong các mảng để các ListBox điều khiển bằng cách sử dụng các AddItem phương pháp. Sau đó, UserForm sẽ xuất hiện.

Làm thế nào để sử dụng một tầm hoạt động ngang của các tế bào trên một bảng để cư trú một điều khiển ListBox

Nếu bạn đặt các RowSource tài sản của một ListBox kiểm soát đến một loạt các tế bào, chỉ có giá trị đầu tiên ngang xuất hiện trong các ListBox kiểm soát.

Để cư trú một ListBox điều khiển từ một loạt ngang các tế bào bằng cách sử dụng các AddItem phương pháp, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trong các tế bào A1:E1 trên Sheet1, nhập các giá trị mà bạn muốn sử dụng để cư trú các ListBox kiểm soát.
  3. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  4. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  5. Thêm một ListBox kiểm soát để UserForm.
  6. Trên các Chèn trình đơn, nhấp vàoMô-đun để chèn một tờ mô-đun.
  7. Trong cửa sổ mã, gõ mã sau đây:
    Sub PopulateListWithHorizontalRange()    For Each x In Sheet1.Range("A1:E1")        UserForm1.ListBox1.AddItem x.Value    Next        UserForm1.ShowEnd Sub
  8. Trên các Công cụ trình đơn, nhấp vàoMacro, bấmPopulateListWithHorizontalRange, sau đó bấmChạy.
Các vĩ mô thủ tục vòng qua các tế bào A1:E5 trên Sheet1, thêm các giá trị để ListBox1 một lúc.

Chú ýListBox1 không bị ràng buộc các tế bào A1:E5 ngày Sheet1.

Làm thế nào để trở lại nhiều giá trị từ một điều khiển ListBox là ràng buộc để nhiều cột của dữ liệu

Bạn có thể định dạng ListBox điều khiển để hiển thị nhiều hơn một cột của dữ liệu. Điều này có nghĩa là các ListBox điều khiển hiển thị nhiều hơn một mục trên mỗi dòng của danh sách. Để trở lại nhiều giá trị từ khoản mục đã chọn trong danh sách, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Nhập dữ liệu sau vào các tế bào được ghi trên Sheet1:

    A1: nămB1: vùngC1: bán hàng
    A2: 1996 B2: BắcC2: 140
    A3: 1996B3: NamC3: 210
    A4: 1997B4: BắcC4: 190
    A5: 1997B5: NamC5: 195
  3. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  4. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  5. Thêm một Nhãn hiệu kiểm soát để UserForm.
  6. Thêm một ListBox kiểm soát để UserForm.
  7. Nhấp chuột phải vào các ListBox, sau đó bấmThuộc tính.
  8. Gõ hoặc chọn các giá trị được chỉ định cho các theo tính chất của các ListBox điều khiển được liệt kê trong bảng sau:
       Property       Value   ----------------------------   BoundColumn     1   ColumnCount     3   ColumnHeads     True   RowSource       Sheet1!A2:A5
  9. Bấm đúp vào các ListBox kiểm soát để hiển thị cửa sổ mã cho các ListBox kiểm soát.
  10. Trong cửa sổ mã, gõ mã sau đây:
    Private Sub ListBox1_Change()    Dim SourceData As Range    Dim Val1 As String, Val2 As String, Val3 As String        Set SourceRange = Range(ListBox1.RowSource)        Val1 = ListBox1.Value    Val2 = SourceRange.Offset(ListBox1.ListIndex, 1).Resize(1, 1).Value    Val3 = SourceRange.Offset(ListBox1.ListIndex, 2).Resize(1, 1).Value        Label1.Caption = Val1 & " " & Val2 & " " & Val3End Sub
  11. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
Khi bạn bấm vào mục nhập trong các ListBox kiểm soát, hãng thay đổi để hiển thị tất cả ba trong số các mục trong mục nhập này.

Làm thế nào để loại bỏ mọi khoản mục từ một ListBox kiểm soát mà bị ràng buộc vào một bảng

Để loại bỏ mọi khoản mục từ một ListBox kiểm soát mà bị ràng buộc vào một bảng, rõ ràng giá trị nhỏ lưu trữ trong các RowSource bất động sản. Để loại bỏ khoản mục từ một ListBox kiểm soát mà bị ràng buộc vào một bảng tính, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trong các tế bào A1:A5 trên Sheet1, nhập các giá trị mà bạn muốn sử dụng để cư trú các ListBox kiểm soát.
  3. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  4. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  5. Thêm một ListBox kiểm soát để UserForm.
  6. Nhấp chuột phải vào các ListBox kiểm soát, và sau đó Nhấp vào Thuộc tính.
  7. Trong các RowSource bất động sản, loại Sheet1!A1:A5.
  8. Thêm một CommandButton kiểm soát để UserForm.
  9. Bấm đúp vào các CommandButton kiểm soát để hiển thị cửa sổ mã cho các CommandButton kiểm soát.
  10. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào CommandButton1 sự kiện:
    Private Sub CommandButton1_Click()    ListBox1.RowSource = ""End Sub
  11. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.

    Các ListBoxđiều khiển mà bạn thêm vào UserForm là dân cư với các các giá trị mà bạn đã nhập vào Sheet1.
  12. Nhấp vào CommandButton1.
Tất cả các mục được gỡ bỏ khỏi ListBox1.

Làm thế nào để loại bỏ mọi khoản mục từ một ListBox kiểm soát mà không bị ràng buộc vào một bảng

Đó là không có lệnh VBA duy nhất mà loại bỏ mọi khoản mục từ một ListBox kiểm soát nếu danh sách không bị ràng buộc vào một bảng tính. Để loại bỏ tất cả các mục từ một ListBox kiểm soát có dân cư từ một mảng Visual Basic, làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một ListBox kiểm soát để UserForm.
  5. Trên các Chèn trình đơn, nhấp vàoMô-đun để chèn một tờ mô-đun.
  6. Trong cửa sổ mã, gõ mã sau đây:
    Sub PopulateListBox()    Dim MyArray As Variant    Dim Ctr As Integer    MyArray = Array("Apples", "Oranges", "Peaches", "Bananas", "Pineapples")        For Ctr = LBound(MyArray) To UBound(MyArray)        UserForm1.ListBox1.AddItem MyArray(Ctr)    Next        UserForm1.ShowEnd Sub 
  7. Thêm một CommandButton kiểm soát để UserForm.
  8. Bấm đúp vào các CommandButton kiểm soát để hiển thị cửa sổ mã cho các CommandButton kiểm soát.
  9. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào CommandButton1 sự kiện:
    Private Sub CommandButton1_Click()    For i = 1 To ListBox1.ListCount        ListBox1.RemoveItem 0    Next IEnd Sub
  10. Trên các Công cụ trình đơn, nhấp vàoMacro, bấm PopulateListBox, sau đó bấmChạy.

    Các ListBox kiểm soát có dân cư, và sau đó UserForm sẽ xuất hiện.
  11. Nhấp vào CommandButton1.
Tất cả các mục được gỡ bỏ khỏi ListBox1.

Cho thông tin thêm về kiểm soát ListBox, bấm vào bài viết sau đây các con số để xem các bài viết trong cơ sở kiến thức Microsoft:
161598OFF: Làm thế nào để thêm dữ liệu vào một ComboBox hoặc ListBox trong Excel hoặc từ
211446 XL2000: Bất động sản TextColumn hiển thị chỉ cột đầu tiên
211896 XL2000: Làm thế nào để mô phỏng sự kết hợp điều khiển chỉnh sửa danh sách cho UserForms
211899 XL2000: Vấn đề thiết đề mục cột ListBox kiểm soát
213721 XL2000: Làm thế nào để loại bỏ mọi khoản mục từ một ListBox, ComboBox
213722 XL2000: Làm thế nào để sử dụng tài sản TextColumn
213723 XL2000: Làm thế nào để trở về các giá trị từ hộp danh sách hiển thị nhiều cột
213746 XL2000: làm thế nào để điền vào hộp danh sách kiểm soát với các nhiều
213748 XL2000: làm thế nào để cư trú một hộp danh sách dựa trên một hộp danh sách
213752 XL2000: Sử dụng phương pháp AddItem gây ra lỗi khi RowSource là dữ liệu ràng buộc
213756 XL2000: Sử dụng phương pháp RemoveItem với ListBox hoặc ComboBox kiểm soát
213759 XL2000: làm thế nào để xác định những khoản mục được chọn trong một hộp danh sách

Điều khiển ComboBox

Bạn có thể sử dụng các ComboBox kiểm soát như một hộp thả xuống danh sách, hoặc là một hộp combo nơi bạn có thể chọn một giá trị trong danh sách hoặc nhập một giá trị mới. Các Phong cách bất động sản sẽ xác định nếu các ComboBox kiểm soát hoạt động như một hộp thả xuống danh sách hoặc một hộp combo.

Chú ý Tất cả các ví dụ trong phần trước cho các ListBox điều khiển cũng có thể được áp dụng cho các ComboBox kiểm soát, ngoại trừ các "làm thế nào để có được các khoản mục được chọn trong một Ví dụ nhiều chọn ListBox kiểm soát".

Làm thế nào để thêm một mục mới vào danh sách nếu kiểm soát ComboBox không bị ràng buộc vào một bảng

Khi bạn nhập một giá trị là không đã có trong danh sách theo các ComboBox kiểm soát, bạn có thể muốn thêm giá trị mới vào danh sách. Để thêm các mới giá trị mà bạn gõ vào các ComboBox kiểm soát nếu các ComboBox điều khiển không bị ràng buộc để bảng tính, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một ComboBox kiểm soát để UserForm.
  5. Trên các Chèn trình đơn, nhấp vàoMô-đun để chèn một tờ mô-đun.
  6. Trong cửa sổ mã, gõ mã sau đây:
    Sub PopulateComboBox()     Dim MyArray As Variant     Dim Ctr As Integer     MyArray = Array("Apples", "Oranges", "Peaches", "Bananas", "Pineapples")         For Ctr = LBound(MyArray) To Ubound(MyArray)         UserForm1.ComboBox1.AddItem MyArray(Ctr)     Next         UserForm1.Show End Sub
  7. Thêm một CommandButton kiểm soát để UserForm.
  8. Bấm đúp vào các CommandButton kiểm soát để hiển thị cửa sổ mã cho các CommandButton kiểm soát.
  9. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào CommandButton1 sự kiện:
    Private Sub CommandButton1_Click()     Dim listvar As Variant          listvar = ComboBox1.List         On Error Resume Next     ' If the item is not found in the list...     If IsError(WorksheetFunction.Match(ComboBox1.Value, listvar, 0)) Then         ' add the new value to the list.         ComboBox1.AddItem ComboBox1.Value     End If End Sub
  10. Trên các Công cụ trình đơn, nhấp vàoMacro, bấm PopulateListBox, sau đó bấmChạy.

    Các ComboBox kiểm soát có dân cư, và sau đó UserForm sẽ xuất hiện.
  11. Trong các ComboBox kiểm soát, loại Xoài (hoặc bất kỳ giá trị mà đang không được danh sách).
  12. Nhấp vào CommandButton1.
Giá trị mới bạn đã gõ bây giờ xuất hiện ở cuối danh sách.

Làm thế nào để thêm một mục mới vào danh sách nếu kiểm soát ComboBox bị ràng buộc vào một bảng

Khi một người sử dụng các loại một giá trị là không đã có trong danh sách theo các ComboBox kiểm soát, bạn có thể muốn thêm giá trị mới vào danh sách. Để thêm các mới giá trị mà bạn gõ vào các ComboBox kiểm soát vào danh sách, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trong các tế bào A1:A5 trên Sheet1, nhập các giá trị mà bạn muốn sử dụng để cư trú các ComboBox kiểm soát.
  3. Chọn các tế bào A1:A5 ngày Sheet1.
  4. Trên các Chèn trình đơn, điểm đếnTên, sau đó bấm Xác định.

    Trong cácTên trong bảng tính hộp, loại ListRange , sau đó bấm Ok. Điều này tạo ra tên được xác định ListRange. Bạn có thể dùng tên được xác định ListRange để ràng buộc các RowSource tài sản của các ComboBox điều khiển bảng tính.
  5. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  6. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  7. Thêm một ComboBox kiểm soát để UserForm.
  8. Trong các Thuộc tính cho ComboBox1, loại Sheet1!ListRange như cácRowSource bất động sản.
  9. Thêm một CommandButton kiểm soát để UserForm.
  10. Bấm đúp vào các CommandButton kiểm soát để hiển thị cửa sổ mã cho các CommandButton kiểm soát.
  11. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào CommandButton1 sự kiện:
    Private Sub CommandButton1_Click()    Dim SourceData As Range    Dim found As Object        Set SourceData = Range("ListRange")    Set found = Nothing    ' Try to find the value on the worksheet.    Set found = SourceData.Find(ComboBox1.Value)        ' If the item is not found in the list...    If found Is Nothing Then        ' redefine ListRange.        SourceData.Resize(SourceData.Rows.Count + 1, 1).Name = "ListRange"        ' Add the new item to the end of the list on the worksheet.        SourceData.Offset(SourceData.Rows.Count, 0).Resize(1, 1).Value _         = ComboBox1.Value        ' Reset the list displayed in the ComboBox.        ComboBox1.RowSource = Range("listrange").Address(external:=True)    End IfEnd Sub
  12. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.

    UserForm sẽ xuất hiện trên Sheet1.
  13. Trong các ComboBox kiểm soát, nhập một giá trị là không đã có trong danh sách.
  14. Nhấp vào CommandButton1.
Mới các mục mà bạn đã nhập trong các ComboBox điều khiển sẽ được thêm vào danh sách, và danh sách mà các ComboBox kiểm soát là ràng buộc để được mở rộng để bao gồm các tế bào A1:A6.

Làm thế nào để hiển thị danh sách kiểm soát ComboBox một khi xuất hiện UserForm

Đôi khi, nó có thể hữu ích để hiển thị trong danh sách của một ComboBox điều khiển khi UserForm một lần đầu tiên xuất hiện. Ví dụ sau sử dụng các Kích hoạt sự kiện UserForm. Hiển thị danh sách của một ComboBox kiểm soát, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trong các tế bào A1:A5 trên Sheet1, nhập các giá trị mà bạn muốn sử dụng để cư trú các ComboBox kiểm soát.
  3. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  4. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  5. Thêm một ComboBox kiểm soát để UserForm.
  6. Trong các Thuộc tính cho ComboBox1, loại Sheet1!A1:A5 như cácRowSource bất động sản.
  7. Bấm đúp vào các UserForm để hiển thị các Mã cửa sổ cho UserForm.
  8. Trong cửa sổ mã, gõ mã sau đây cho các CommandButton Click sự kiện:
    Private Sub UserForm_Activate()           ComboBox1.DropDown       End Sub
  9. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
UserForm xuất hiện trên Sheet1, và bạn có thể xem danh sách cho ComboBox1.

Làm thế nào để hiển thị danh sách một ComboBox điều khiển khi bạn thực hiện một sự lựa chọn trong một ComboBox kiểm soát

Để tự động hiển thị trong danh sách của một ComboBox điều khiển khi lựa chọn một làm khác ComboBox kiểm soát, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trong các tế bào A1:A10 trên Sheet1, nhập các giá trị mà bạn muốn sử dụng để cư trú các ComboBox kiểm soát.
  3. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  4. Trên các Chèn trình đơn, nhấp vàoMô-đun.
  5. Trong cửa sổ mã cho các mô-đun, hãy nhập mã sau đây:
    Sub DropDown_ComboBox()    UserForm1.ComboBox2.DropDownEnd Sub
  6. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  7. Thêm một ComboBox kiểm soát để UserForm.
  8. Trong các Thuộc tính cho ComboBox1, loại Sheet1!A1:A5 như cácRowSource bất động sản.
  9. Bấm đúp vào các ComboBox điều khiển để mở cửa sổ mã cho các ComboBox kiểm soát.
  10. Trong cửa sổ mã cho các ComboBox kiểm soát, gõ mã sau đây cho các Bấm vào ComboBox sự kiện:
    Private Sub ComboBox1_Click()    Application.OnTime Now, "DropDown_ComboBox"End Sub
  11. Thêm một lần thứ hai ComboBox kiểm soát để UserForm.
  12. Trong các Thuộc tính cho ComboBox2, loại Sheet1!A6:A10 như cácRowSource bất động sản.
  13. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
Khi bạn chọn một khoản mục trong các ComboBox1 danh sách, danh sách cho ComboBox2 tự động xuất hiện.

Để thêm thông tin về kiểm soát ComboBox, nhấp vào số bài viết sau để xem các bài viết trong cơ sở kiến thức Microsoft:
161598OFF: Làm thế nào để thêm dữ liệu vào một ComboBox hoặc ListBox trong Excel hoặc từ
211446 XL2000: Bất động sản TextColumn hiển thị chỉ cột đầu tiên
211899 XL2000: Vấn đề thiết đề mục cột ListBox kiểm soát
213717 XL2000: Thời gian chạy lỗi bằng cách sử dụng phương pháp thả xuống với một ComboBox
213718 XL2000: Làm thế nào để hiển thị một danh sách ComboBox khi một UserForm hiển thị
213721 XL2000: Làm thế nào để loại bỏ mọi khoản mục từ một ListBox, ComboBox
213722 XL2000: Làm thế nào để sử dụng tài sản TextColumn
213752 XL2000: Sử dụng phương pháp AddItem gây ra lỗi khi dữ liệu RowSource là ràng buộc
213756 XL2000: Sử dụng phương pháp RemoveItem với ListBox hoặc ComboBox kiểm soát

Khung hình điều khiển

Sử dụng một Khung kiểm soát nhóm một cách hợp lý liên quan đến mục trong một UserForm. Khung điều khiển thường được sử dụng cho nhóm OptionButton điều khiển.

Làm thế nào để lặp qua tất cả các điều khiển trên một điều khiển khung

Sử dụng một Cho Each…Tiếp theo vòng lặp để truy cập vào tất cả các điều khiển trong một Khung kiểm soát, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một Khung kiểm soát để UserForm.
  5. Thêm một OptionButton kiểm soát để các Khung kiểm soát.

    Lặp lại bước này để thêm hai bộ OptionButton kiểm soát trong các Khung kiểm soát.
  6. Bấm đúp vào các Khung điều khiển để mở các Mã cửa sổ cho các Khung kiểm soát.
  7. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào khung sự kiện:
    Private Sub Frame1_Click()    Dim Ctrl As Control        For Each Ctrl In Frame1.Controls        Ctrl.Enabled = Not Ctrl.Enabled    NextEnd Sub
  8. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
  9. Trong UserForm, bấm các Khungkiểm soát.
Lần đầu tiên bạn nhấp vào các Khung kiểm soát, tất cả các điều khiển ở các Khung điều khiển không sẵn dùng. Nếu bạn bấm vào các Khungkiểm soát một lần nữa, các điều khiển có sẵn một lần nữa.

OptionButton kiểm soát

Bạn có thể sử dụng các nhóm OptionButton điều khiển để thực hiện một trong những lựa chọn trong số các nhóm lựa chọn. Bạn có thể sử dụng một trong các kỹ thuật sau đây để nhóm OptionButton điều khiển:
  • Khung kiểm soát
  • GroupName bất động sản
Chú ý Các Ngày giá trị, các Có giá trị, và các Sự thật giá trị chỉ ra rằng một OptionButton được chọn. Các Tắt giá trị, các Không giá trị, và các Sai giá trị chỉ ra rằng một OptionButton không được chọn.

Làm thế nào để xác định sự kiểm soát OptionButton được chọn khi điều khiển OptionButton trên một điều khiển khung

Khi bạn nhóm OptionButtons điều khiển bằng cách sử dụng một Khung kiểm soát, bạn có thể xác định các OptionButton điều khiển được chọn bởi việc lặp qua tất cả các điều khiển ở các Khung kiểm soát và kiểm tra các Giá trị bất động sản kiểm soát mỗi. Để xác định các OptionButton điều khiển được chọn, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một Khung kiểm soát để UserForm.
  5. Thêm một OptionButton kiểm soát để các Khung kiểm soát.

    Lặp lại bước này để thêm hai bộ OptionButton kiểm soát trong các Khung kiểm soát.
  6. Thêm một CommandButton điều khiển trên UserForm bên ngoài các Khung kiểm soát.
  7. Bấm đúp vào các CommandButton kiểm soát để hiển thị cửa sổ mã cho UserForm.
  8. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào CommandButton1 sự kiện:
    Private Sub CommandButton1_Click()     For Each x In Frame1.Controls         If x.Value = True Then             MsgBox x.Caption         End If     Next End Sub
  9. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
  10. Trong các UserForm, bấm vào một trong OptionButton kiểm soát, và sau đó nhấp vàoCommandButton1.
Một hộp thông điệp sẽ xuất hiện có chứa các chú thích của các hiện nay được chọn OptionButton kiểm soát.

Làm thế nào để xác định sự kiểm soát OptionButton được chọn

Mục đích của ví dụ sau là để xác định các OptionButton điều khiển được chọn trong Group1. Để tạo ra một UserForm có hai nhóm OptionButton điều khiển, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một Khung kiểm soát để UserForm.
  5. Thêm một OptionButton kiểm soát trong các Khung kiểm soát.

    Lặp lại bước này để thêm hai bộ OptionButton kiểm soát trong các Khung kiểm soát.
  6. Đối với mỗi OptionButton kiểm soát, loại Group1 trong các GroupName bất động sản.
  7. Lặp lại bước 4 và 5 để tạo ra một lần thứ hai Khung kiểm soát có chứa ba OptionButton điều khiển.
  8. Đối với mỗi OptionButton kiểm soát trong lần thứ hai Khung kiểm soát, loại Group2 trong các GroupName bất động sản.
  9. Thêm một CommandButton điều khiển trên UserForm bên ngoài các Khung điều khiển.
  10. Bấm đúp vào các CommandButton kiểm soát để hiển thị cửa sổ mã cho UserForm.
  11. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào CommandButton1 sự kiện:
    Private Sub CommandButton1_Click()     Dim x As Control          ' Loop through ALL the controls on the UserForm.     For Each x In Me.Controls         ' Check to see if "Option" is in the Name of each control.         If InStr(x.Name, "Option") Then             ' Check Group name.             If x.GroupName = "Group1" Then                 ' Check the status of the OptionButton.                 If x.Value = True Then                     MsgBox x.Caption                     Exit For                 End If             End If         End If     Next End Sub
  12. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
  13. Trong UserForm, bấm vào một trong OptionButton kiểm soát trong Group1, và sau đó nhấp vàoCommandButton1.
Một hộp thông điệp sẽ xuất hiện có chứa các chú thích của các OptionButton điều khiển được chọn hiện thời.

Để thêm thông tin về OptionButton điều khiển, nhấp vào số bài viết sau đây để xem bài viết trong Microsoft Knowledge Base:
213724XL2000: Vấn đề bằng cách sử dụng TripleState bất động sản cho tùy chọn nút

Kiểm soát hộp kiểm

Bạn có thể sử dụng một Hộp kiểm điều khiển để chỉ ra một giá trị đúng hay sai. Một Hộp kiểm kiểm soát xuất hiện với một dấu kiểm trong nó cho thấy một giá trị của Sự thật. Một Hộp kiểm mà xuất hiện không có dấu chỉ ra một giá trị của Sai. Nếu giá trị của các TripleState bất động sản là Sự thật, một Hộp kiểm điều khiển cũng có thể có một giá trị của Null. Một Hộp kiểm kiểm soát có giá trị bằng Null dường như là không có sẵn.

Chú ý Các Ngày giá trị, các Có giá trị, và các Sự thật giá trị chỉ ra rằng một Hộp kiểm điều khiển được chọn. Các Tắt giá trị, các Không giá trị, và các Sai giá trị chỉ ra rằng một Hộp kiểm điều khiển sẽ bị xóa.

Làm thế nào để kiểm tra giá trị một hộp kiểm soát

Sử dụng các Giá trị bất động sản để trở về giá trị hiện tại của một Hộp kiểm kiểm soát, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một Hộp kiểm kiểm soát để UserForm.
  5. Trong danh sách tài sản cho CheckBox1, chọn Sự thật như các TripleState bất động sản.
  6. Bấm đúp vào các Hộp kiểm kiểm soát để hiển thị cửa sổ mã cho các Hộp kiểm kiểm soát.
  7. Trong cửa sổ mã, gõ mã sau đây cho các Thay đổi CheckBox1 sự kiện:
    Private Sub CheckBox1_Change()    Select Case CheckBox1.Value        Case True            CheckBox1.Caption = "True"        Case False            CheckBox1.Caption = "False"        Case Else            CheckBox1.Caption = "Null"    End SelectEnd Sub
  8. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
Khi bạn bấm vào các Hộp kiểm điều khiển, các chú thích của các Hộp kiểm kiểm soát những thay đổi để phản ánh giá trị hiện tại.

ToggleButton kiểm soát

Một ToggleButton kiểm soát có sự xuất hiện tương tự như một CommandButton kiểm soát cho đến khi bạn nhấp vào nó. Khi bạn bấm vào một ToggleButton kiểm soát, nó xuất hiện để được ép hay bị đẩy xuống. Các Giá trị tài sản của một ToggleButton kiểm soát là Sự thật khi nút được chọn và Sai khi nút không được chọn. Nếu giá trị của các TripleState bất động sản là Sự thật, một ToggleButton điều khiển cũng có thể có một giá trị của Null. Một ToggleButton kiểm soát có giá trị bằng Null dường như là không có sẵn.

Chú ý Các Ngày giá trị, các Có giá trị, và các Sự thật giá trị chỉ ra rằng một ToggleButton điều khiển được chọn. Các Tắt giá trị, các Không giá trị, và các Sai giá trị chỉ ra rằng một ToggleButton điều khiển không được chọn.

Làm thế nào để có được giá trị của một điều khiển ToggleButton

Để có được giá trị của một ToggleButton kiểm soát, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một ToggleButton điều khiển trên UserForm.
  5. Thêm một Nhãn hiệu kiểm soát để UserForm.
  6. Bấm đúp vào các ToggleButton kiểm soát để mở cửa sổ mã cho các ToggleButton kiểm soát.
  7. Trong cửa sổ mã, gõ mã sau đây cho các ToggleButton1Click sự kiện:
    Private Sub ToggleButton1_Click()    If ToggleButton1.Value = True Then        ' Set UserForm background to Red.        Me.BackColor = RGB(255, 0, 0)    Else        ' Set UserForm background to Blue.        Me.BackColor = RGB(0, 0, 255)    End IfEnd Sub
  8. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
Khi bạn bấm vào các ToggleButton kiểm soát, màu nền của những thay đổi UserForm.

Làm thế nào để tạo một nhóm các loại trừ lẫn nhau ToggleButton điều khiển

Ví dụ này sử dụng các MouseUp sự kiện để thiết lập một biến và các cuộc gọi các ExclusiveToggleButtons thủ tục. Các ExclusiveToggleButtons thủ tục sẽ xác định các ToggleButton kiểm soát mà được chọn, và sau đó hủy bỏ những người khác. Để tạo ra một nhóm loại trừ lẫn nhau ToggleButton điều khiển, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoMô-đun.
  4. Trong cửa sổ mã cho các mô-đun, hãy nhập mã sau đây:
    ' Variable that holds the name of the ToggleButton that was clicked.Public clicked As StringSub ExclusiveToggleButtons()   Dim toggle As Control   ' Loop through all the ToggleButtons on Frame1.   For Each toggle In UserForm1.Frame1.Controls       ' If Name of ToggleButton matches name of ToggleButton       ' that was clicked...       If toggle.Name = clicked Then          '...select the button.          toggle.Value = True       Else          '...otherwise clear the selection of the button.          toggle.Value = False       End If    NextEnd Sub
  5. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  6. Thêm một Khung kiểm soát để UserForm.
  7. Thêm một ToggleButton kiểm soát trong các Khung kiểm soát.

    Lặp lại bước này để thêm hai bộ ToggleButton kiểm soát trong các Khung kiểm soát.
  8. Bấm đúp vào các Khung điều khiển để hiển thị cửa sổ mã cho UserForm.
  9. Trong cửa sổ mã cho các phân hệ, nhập mã sau Đối với các ToggleButton MouseUp sự kiện:
    Private Sub ToggleButton1_MouseUp(ByVal Button As Integer, _              ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)       clicked = ToggleButton1.Name       Application.OnTime Now, "ExclusiveToggleButtons"    End Sub    Private Sub ToggleButton2_MouseUp(ByVal Button As Integer, _              ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)        clicked = ToggleButton2.Name        Application.OnTime Now, "ExclusiveToggleButtons"    End Sub    Private Sub ToggleButton3_MouseUp(ByVal Button As Integer, _              ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)        clicked = ToggleButton3.Name        Application.OnTime Now, "ExclusiveToggleButtons"    End Sub
  10. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
Khi bạn bấm vào một ToggleButton kiểm soát, trước đó đã chọn ToggleButton kiểm soát được hủy bỏ.

TabStrip kiểm soát

Sử dụng một TabStrip kiểm soát xem bộ khác nhau của thông tin cho một tập của điều khiển.

Làm thế nào để kiểm soát một điều khiển TabStrip lập trình

Để thay đổi các BackColor tài sản của một Hình ảnh kiểm soát dựa trên tab được chọn, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Editor.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một TabStrip kiểm soát để UserForm.
  5. Thêm một Hình ảnh điều khiển nằm trên các căn cứ của các TabStrip kiểm soát, nhưng điều đó không bao gồm các tab.
  6. Trong cửa sổ thuộc tính cho Image1, gõ& H000000FF & trong các BackColor bất động sản.
  7. Bấm đúp vào các TabStrip điều khiển để mở cửa sổ mã cho các TabStrip kiểm soát.
  8. Trong cửa sổ mã, gõ mã sau đây cho các Thay đổi TabStrip1 sự kiện:
    Private Sub TabStrip1_Change()    Dim i As Integer    i = TabStrip1.SelectedItem.Index    Select Case i        Case 0            ' If Tab1 is selected, change the color of Image control to Red.            Image1.BackColor = RGB(255, 0, 0)        Case 1            ' If Tab2 is selected, change the color of Image control to Green.            Image1.BackColor = RGB(0, 255, 0)    End SelectEnd Sub
  9. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
Màu sắc của các Hình ảnh kiểm soát thay đổi tùy thuộc vào trang web trong các TabStrip điều khiển đang hoạt động.

Để thêm thông tin về TabStrip điều khiển, nhấp vào số bài viết sau đây để xem các bài viết trong các Cơ sở kiến thức Microsoft:
213254XL2000: Làm thế nào để sử dụng điều khiển TabStrip trên một UserForm

MultiPage kiểm soát

Sử dụng một MultiPage kiểm soát để làm việc với rất nhiều thông tin có thể được sắp xếp thành nhiều loại. Một MultiPage kiểm soát được tạo thành của một hoặc nhiều Trang các đối tượng mà mỗi chứa một tập khác nhau của các điều khiển. Bạn có thể thiết lập trang hoạt động lập trình bằng cách thiết lập các Giá trị tài sản của các MultiPage kiểm soát.

Làm thế nào để kiểm soát một điều khiển MultiPage lập trình

Để thêm một MultiPage kiểm soát và kiểm soát nó bằng cách sử dụng một vĩ mô, theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một MultiPage kiểm soát để UserForm.
  5. Thêm một Nhãn hiệu kiểm soát để Trang1 trên các MultiPage kiểm soát.
  6. Thêm một TextBox kiểm soát để Trang1 trên các MultiPage kiểm soát.
  7. Trên các MultiPage điều khiển, bấm vào Page2, và sau đó lặp lại bước 5 và 6 để thêm một Nhãn hiệu kiểm soát và một TextBox kiểm soát.
  8. Bấm đúp vào các MultiPage điều khiển để mở cửa sổ mã cho các MultiPage kiểm soát.
  9. Trong cửa sổ mã, gõ mã sau đây cho các Thay đổi MultiPage1 sự kiện:
    Private Sub MultiPage1_Change()    Select Case MultiPage1.Value        ' If activating Page1...        Case 0            Label1.Caption = TextBox2.Text            TextBox1.Text = ""        ' If activating Page2...        Case 1            Label2.Caption = TextBox1.Text            TextBox2.Text = ""    End SelectEnd Sub
  10. Trong cửa sổ mã, gõ mã sau đây cho các UserForm Initialize sự kiện:
    Private Sub UserForm_Initialize()    ' Force Page1 to be active when UserForm is displayed.    MultiPage1.Value = 0    Label1.Caption = ""End Sub
  11. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.

    Trong các TextBox kiểm soát vào Trang1, loại Test. Khi bạn bấm vào các Page2 tab, TextBox2 sẽ bị xóa, và chú thích của Label2 thay đổi đối với các mục mà bạn đã thực hiện trong TextBox1 vào Trang1 ("Test").

Làm thế nào để tạo ra một giao diện thuật sĩ bằng cách sử dụng một điều khiển MultiPage

Khi một công việc đòi hỏi một vài bước tăng dần, một giao diện thuật sĩ có thể rất hiệu quả. Bạn có thể sử dụng các MultiPage điều khiển để tạo ra một giao diện thuật sĩ thay vì của việc sử dụng đa UserForms. Ví dụ này khiển một MultiPage kiểm soát có ba trang. Một thủ tục là gắn liền với các Khởi tạo sự kiện UserForm vô hiệu hóa Page2 và Page3, và các lực lượng Trang1 của các MultiPage kiểm soát được hoạt động.

Chú ý Khi bạn đánh chỉ mục các trang của một MultiPage điều khiển bằng cách sử dụng các Các trang bộ sưu tập, trang đầu tiên trong bộ sưu tập là trang zero. Điều này thủ tục cũng đặt ra các chú thích của các CommandButton kiểm soát và vô hiệu hóa các <> nút.

Chú ý Các thủ tục được gán cho các Nhấp vào sự kiện của CommandButton1 điều khiển các chức năng của các <> nút. Các thủ tục được gán cho các Nhấp vào sự kiện của CommandButton2 điều khiển các chức năng của các Tiếp theo > nút. Để tạo ra một giao diện thuật sĩ bằng cách sử dụng một MultiPage kiểm soát, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một MultiPage kiểm soát để UserForm.
  5. Nhấp chuột phải vào các Trang1 tab, và sau đó nhấp vàoMới trang thêm Page3 để các MultiPage kiểm soát.
  6. Thêm một CommandButton điều khiển trên UserForm đó không phải là về các MultiPage kiểm soát.

    Lặp lại bước này thêm một lần thứ hai CommandButton điều khiển trên UserForm.
  7. Bấm đúp vào các UserForm để mở mã cửa sổ cho UserForm.
  8. Trong cửa sổ mã, gõ mã sau đây cho các UserForm Initialize sự kiện:
    Private Sub UserForm_Initialize()    With MultiPage1        ' The next 2 lines disable Page2 & Page3.        .Pages(1).Enabled = False        .Pages(2).Enabled = False        ' Make Page1 the active page.        .Value = 0    End With        ' Set the caption on the CommandButtons.    CommandButton1.Caption = "<Back"    CommandButton1.Enabled = False    CommandButton2.Caption = "Next>"End Sub' Procedure for the "<Back" buttonPrivate Sub CommandButton1_Click()    Select Case MultiPage1.Value        Case 1                                 ' If Page2 is active...            With MultiPage1                .Pages(0).Enabled = True       ' Enable Page1.                .Value = MultiPage1.Value - 1  ' Move back 1 page.                .Pages(1).Enabled = False      ' Disable Page2.            End With            CommandButton1.Enabled = False     ' Disable Back button.                    Case 2                                 ' If Page3 is active...            With MultiPage1                .Pages(1).Enabled = True       ' Enable Page2.                .Value = MultiPage1.Value - 1  ' Move back 1 page.                .Pages(2).Enabled = False      ' Disable Page3.   CommandButton2.Caption = "Next>"            End With    End SelectEnd Sub' Procedure for the "Next>" buttonPrivate Sub CommandButton2_Click()    Select Case MultiPage1.Value        Case 0                                  ' If Page1 is active...            With MultiPage1                .Value = MultiPage1.Value + 1   ' Move forward 1 page.                .Pages(1).Enabled = True        ' Enable Page2.                .Pages(0).Enabled = False       ' Disable Page1.            End With            CommandButton1.Enabled = True       ' Enable Back button.                    Case 1                                  ' If Page2 is active...            With MultiPage1                .Value = MultiPage1.Value + 1   ' Move forward 1 page.                .Pages(2).Enabled = True        ' Enable Page3.                .Pages(1).Enabled = False       ' Disable Page2.            End With            CommandButton2.Caption = "Finish"   ' Change Next button to Finish.                    Case 2                                  ' If Page3 is active...            MsgBox "Finished!"                  ' User is Finished.            Unload Me                           ' Unload the UserForm.    End SelectEnd Sub
  9. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
Khi bạn bấm vào Tiếp theo >Page2 được kích hoạt và các <> nút trở thành có sẵn. Khi bạn bấm vào Tiếp theo > một lần thứ hai, Page3 được kích hoạt và chú thích cho CommandButton2 thay đổi để "Finish".

Điều khiển thanh cuộn

Bạn có thể sử dụng một Thanh cuộn điều khiển khi bạn muốn thay đổi các giá trị mà sẽ được hiển thị bởi một kiểm soát, chẳng hạn như một Nhãn hiệu kiểm soát.

Làm thế nào để thay đổi một điều khiển nhãn dựa trên giá trị của một kiểm soát thanh cuộn

Để thay đổi các Chú thích tài sản của một Nhãn hiệu điều khiển các thiết lập hiện tại của các Giá trị tài sản của một Thanh cuộn kiểm soát, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một Thanh cuộn kiểm soát để UserForm.
  5. Thêm một Nhãn hiệu kiểm soát để UserForm.
  6. Bấm đúp vào các Thanh cuộn điều khiển để mở cửa sổ mã cho các Thanh cuộn kiểm soát.
  7. Trong cửa sổ mã, gõ mã sau đây cho các Thay đổi ScrollBar1 sự kiện:
    Private Sub ScrollBar1_Change()    Label1.Caption = ScrollBar1.ValueEnd Sub
  8. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
Khi bạn di chuyển bằng cách sử dụng các Thanh cuộn kiểm soát, Label1 được Cập Nhật với giá trị hiện tại của các Thanh cuộn kiểm soát.

SpinButton kiểm soát

Một SpinButton kiểm soát, giống như một Thanh cuộn kiểm soát, thường được sử dụng để tăng hoặc giảm các giá trị của một kiểm soát, chẳng hạn như một Nhãn hiệu kiểm soát. Các SmallChange bất động sản sẽ xác định bao nhiêu giá trị của một SpinButton kiểm soát những thay đổi khi nó được nhấp.

Làm thế nào để thêm một điều khiển SpinButton gia số hoặc decrements một ngày được lưu trữ trong một kiểm soát TextBox

Để thêm một SpinButton quyền kiểm soát gia số hoặc decrements một ngày được lưu trữ trong một TextBox kiểm soát, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một SpinButton kiểm soát để UserForm.
  5. Thêm một TextBox kiểm soát để UserForm.
  6. Bấm đúp vào các SpinButton kiểm soát để mở cửa sổ mã cho các SpinButton kiểm soát.
  7. Trong cửa sổ mã, gõ mã sau đây cho các SpinButton1 SpinUp sự kiện:
    Private Sub SpinButton1_SpinUp()    TextBox1.Text = DateValue(TextBox1.Text) + 1End Sub
  8. Trong cửa sổ mã, gõ mã sau đây cho các SpinButton1 SpinDown sự kiện:
    Private Sub SpinButton1_SpinDown()    TextBox1.Text = DateValue(TextBox1.Text) - 1End Sub
  9. Trong cửa sổ mã, gõ mã sau đây cho các UserForm Initialize sự kiện:
    Private Sub UserForm_Initialize()    TextBox1.Text = DateEnd Sub
  10. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.
Khi UserForm xuất hiện, ngày hiện tại sẽ xuất hiện trong TextBox1. Khi bạn bấm vào các SpinButton kiểm soát, ngày là incremented hoặc sai bởi một trong những ngày.

Trong ví dụ này, nếu bạn thay đổi các SmallChange tài sản của SpinButton1, bạn không ảnh hưởng đến số ngày mục nhập trong TextBox1 được thay đổi bởi khi bạn nhấp vào SpinButton1. Số ngày được xác định chỉ bởi các thủ tục mà bạn gắn liền với các SpinUp sự kiện và các SpinDown sự kiện của SpinButton1.

Để thêm thông tin về SpinButton điều khiển, nhấp vào số bài viết sau đây để xem bài viết trong Microsoft Knowledge Base:
213224XL2000: Visual Basic ví dụ cho việc sử dụng một nút quay với một ngày

RefEdit kiểm soát

Các RefEdit kiểm soát bắt chước những hành vi của các hộp tham khảo được được xây dựng trong Excel. Bạn có thể sử dụng các Giá trị bất động sản để có được địa chỉ hiện tại của tế bào được lưu trữ trong một RefEdit kiểm soát.

Làm thế nào để cư một loạt các tế bào dựa trên phạm vi mà bạn chọn bằng cách sử dụng kiểm soát RefEdit

Sử dụng các RefEdit điều khiển để cư các tế bào, hãy làm theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một RefEdit kiểm soát để UserForm.
  5. Thêm một CommandButton kiểm soát để UserForm.
  6. Bấm đúp vào các CommandButton kiểm soát để mở cửa sổ mã cho các CommandButton kiểm soát.
  7. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào CommandButton1 sự kiện:
    Private Sub CommandButton1_Click()    Dim MyRange As String    MyRange = RefEdit1.Value    Range(MyRange).Value = "test"    Unload MeEnd Sub
  8. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.

    UserFormappears.
  9. Nhấp vào nút trong các RefEdit kiểm soát.

    Chú ý rằng UserForm sụp đổ.
  10. Chọn một loạt các tế bào như là A1:A5, và sau đó bấm các Button trong các RefEdit điều khiển để mở rộng UserForm.
  11. Nhấp vào CommandButton1.
UserForm đóng cửa và các tế bào mà bạn đã chọn bây giờ chứa từ "thử nghiệm".

Cho thông tin thêm về kiểm soát RefEdit, bấm vào bài viết sau đây số để xem bài viết trong cơ sở kiến thức Microsoft:
213776XL2000: Làm thế nào để sử dụng điều khiển RefEdit với một UserForm

Hình ảnh kiểm soát

Mục đích của các Hình ảnh kiểm soát là để hiển thị một hình ảnh trên một UserForm. Để gán một hình ảnh cho một Hình ảnh kiểm soát tại thời gian chạy, sử dụng các LoadPicture chức năng.

Làm thế nào để tải một hình ảnh vào một điều khiển hình ảnh

Để chèn một Hình ảnh kiểm soát mà sẽ nhắc bạn chọn một hình ảnh để tải khi bạn bấm vào các Hình ảnh kiểm soát, thực hiện theo các bước sau:
  1. Bắt đầu Excel, và sau đó mở một workbook trống mới.
  2. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  3. Trên các Chèn trình đơn, nhấp vàoUserForm để chèn một UserForm trong bảng tính của bạn.
  4. Thêm một Hình ảnh điều khiển trên UserForm.
  5. Bấm đúp vào các Hình ảnh điều khiển để mở các Mã cửa sổ cho các Hình ảnh kiểm soát.
  6. Trong cửa sổ mã, gõ mã sau đây cho các Bấm vào Image1 sự kiện:
    Private Sub Image1_Click()    Dim fname As String        ' Display the Open dialog box.    fname = Application.GetOpenFilename(filefilter:= _            "Bitmap Files(*.bmp),*.bmp", Title:="Select Image To Open")        ' If you did not click Cancel...    If fname <> "False" Then        ' Load the bitmap into the Image control.        Image1.Picture = LoadPicture(fname)        ' Refresh the UserForm.        Me.Repaint    End IfEnd Sub
  7. Trên các Chạy trình đơn, nhấp vào Chạy Phụ/UserForm.

    UserForm sẽ xuất hiện.
  8. Bấm vào các Hình ảnh kiểm soát.

    Khi bạn bấm vào các Hình ảnh điều khiển, các Chọn hình ảnh để mở hộp thoại xuất hiện, và sau đó bạn có thể chọn một tệp bitmap để chèn vào các kiểm soát.
Để có thêm thông tin về việc kiểm soát hình ảnh, bấm số bài viết sau đây để xem bài viết trong các kiến thức Microsoft Cơ sở:
213732XL2000: Sử dụng chức năng LoadPicture với một điều khiển hình ảnh

Thông tin bổ sung

Các trình duyệt đối tượng

Danh sách đầy đủ của tất cả các tài sản và phương pháp để một cụ thể lệnh có sẵn trong các Đối tượng trình duyệt. Để biết thông tin này trong Excel, hãy làm theo các bước sau:
  1. Trên các Công cụ trình đơn, điểm đếnVĩ mô, sau đó bấm Visual Basic Biên tập viên.
  2. Trên các Xem trình đơn, nhấp vào Đối tượng Trình duyệt.
  3. Trong các Tìm kiếm văn bản hộp, gõ tên của điều khiển mà bạn muốn, và sau đó nhấp vào Tìm kiếm.
Để biết thêm về cách sử dụng các trình duyệt đối tượng, trong Visual Basic Editor, nhấn vào đây Trợ giúp Microsoft Visual Basictrên các Trợ giúp trình đơn, loại Đối tượng trình duyệttrợ lý văn phòng hoặc các thuật sĩ trả lời, và sau đó nhấp vào Tìm kiếm để xem các chủ đề.
Để thêm thông tin về làm thế nào để cài đặt Microsoft Excel giúp trên máy tính của bạn, hãy nhấp vào sau số bài viết để xem bài viết trong cơ sở kiến thức Microsoft:
231946OFF2000: Làm thế nào để thêm/loại bỏ một văn phòng chương trình duy nhất hoặc thành phần

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 829070 - Xem lại Lần cuối: 09/20/2011 13:33:00 - Bản sửa đổi: 3.0

Microsoft Excel 2000 Standard Edition, Microsoft Excel 2002 Standard Edition, Microsoft Office Excel 2003, Microsoft Excel 2010, Microsoft Office Excel 2007

  • kbprogramming kbfunctions kbhowtomaster kbhowto kbmt KB829070 KbMtvi
Phản hồi