İpucu: Digər dillər Google-tərcümə olunur. Sizi ziyarət edə bilərsiniz English bu linkin versiyası.
Daxil ol
x
or
x
x
Qeydiyyatdan
x

or

Bir Userform ComboBox'u Excel-də bütün hesabat adları ilə necə doldurmaq olar?

Bu yazı, cari iş kitabının bütün hesabat adlarının Excel formatında bir istifadəçi forması qutusuna yerləşdirilməsindən danışır.

Bir istifadəçi formu olan ComboBox'u VBA kodu ilə bütün hesabat adları ilə yerləşdirin


Asanlıqla Excel-də bütün hesabat adlarını qeyd edin

Basın Müəssisə > İş > Sehife adlarının siyahısı yaradın Excel-də yeni bir iş yerində bütün iş səhifələri adlarını asanlıqla siyahıya salmaq. Və hesabatın adını tıklayarak müvafiq iş səhifəsinə keçə bilərsiniz.

Excel üçün Kutools 300-dən çox lazımlı Excel alətləri daxildir. 60 gün ərzində heç bir məhdudiyyətsiz cəhd edin. Daha çox oxu İndi pulsuz sınaq yükləyin


Bir istifadəçi formu olan ComboBox'u VBA kodu ilə bütün hesabat adları ilə yerləşdirin


Aşağıdakı VBA kodu cari iş kitabının bütün hesabat adlarını bir istifadəçi forması yığım qutusuna daxil etməyə kömək edə bilər. Xahiş edirik bunu edin.

1. Basın Dayandırmaq + F11 açmaq üçün eyni anda düymələri Proqramlar üçün Microsoft Visual Basic pəncərə.

2. İçində Proqramlar üçün Microsoft Visual Basic pəncərəni tıklayaraq bir İstifadəçi formasını əlavə edin Taxmaq > İstifadəçi formu Aşağıdakı kimi ekran görüntüsü göstərilir.

3. Daha sonra İstifadəçiformuna birləşmə qutusu nəzarətini çəkin və əlavə edin. Ekran görüntüsünə baxın:

4. Daxili birləşdirilmiş qutuyu sağ basın və seçin Kodları baxın kontekst menyusundan. Ekran görüntüsünə baxın:

5. Açılışda Proqramlar üçün Microsoft Visual Basic Pəncərədən, kodun pəncərəsindəki orijinalını dəyişdirmək üçün VBA kodunun altına kopyalayıb yapışdırın.

VBA kodu: İstifadəçi formu ComboBox'u mövcud iş kitabının bütün adları ilə yerləşdirin

Private Sub UserForm_Initialize()
    Dim I As Long
    Me.ComboBox1.Clear
    For I = 1 To Sheets.Count
        Me.ComboBox1.AddItem Sheets(I).Name
    Next
    Me.ComboBox1.Value = ActiveSheet.Name
End Sub

Qeyd: Kodda ComboBox1, daxil olan Combo Box adını daşıyır. Xahiş edirik, özünüzün birinə dəyişdirin.

6. Basın F5 kodunu çalıştırmak üçün düyməsini basın. Açılış İstifadəçi Formasında, mövcud iş kitabının bütün adları, açılan qutuda aşağıda göstərilən ekran şəklində göstərilir:


Əlaqəli məqalələr:



Təklif olunan Məhsuldarlıq Vasitələri

Office Tab

qızıl star1 Chrome, Firefox və yeni Internet Explorer kimi Excel və digər Office proqramlarına lazımlı sekmeleri gətirin.

Excel üçün Kutools

qızıl star1 Amazing! 5 dəqiqədə məhsuldarlığınızı artırın. Heç bir xüsusi bacarıqa ehtiyac yoxdur, hər gün iki saat saxlaya bilərsiniz!

qızıl star1 300 Excel üçün yeni funksiyalar, Excel çox asan və güclü olun:

  • Veriyi ləğv etmədən Cell / Satır / Sütunları birləşdirin.
  • Bir neçə Çarşaf və İş Kitabını birləşdirin və birləşdirin.
  • Çaprazları müqayisə edin, birdən çox aralığa kopyalayın, mətni tarixə, vahidə və valyuta çevrilməsinə çevirin.
  • Rənglər, Paging Subtotals, Advanced Sort və Super Filter tərəfindən sayılan,
  • Daha çox seçin / Insert / Sil / Mətn / Biçim / Bağlantı / Yorum / Çalışma kitabları / Çalışma Qurğuları Tools ...

Excel üçün Kutools-un ekranı

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Raj Pradhan · 1 years ago
    Dear Sir/Madam,
    Thanks for you kind help. I'm a new Lerner of VBA and these article helps me a lot. I have used this code to show all worksheets in a userform combobox. It is perfect. I have a doubt. Can I show those sheet name alphabetically on Userform_Initialize? Though my worksheets are not arranged alphabetically.
    Please guide me how to proceed further with my requirement.
    Thanks,
    R.P
    • To post as a guest, your comment is unpublished.
      crystal · 2 months ago
      Good Day,
      Sorry for replying so late. The following VBA code can help you solve the problem.

      Private Sub UserForm_Initialize()
      Dim xWSs As Worksheets
      Dim xWS As Worksheet
      Dim xName As String
      Dim xI As Integer
      Dim xRg As Range
      On Error Resume Next

      xName = "StoreWorkSheetsName"

      Application.DisplayAlerts = False

      If Not Evaluate("=ISREF('" & xName & "'!A1)") Then
      Sheets.Add(after:=Worksheets(Worksheets.count)).Name = xName & ""
      Else
      Sheets(xName & "").Move after:=Worksheets(Worksheets.count)
      End If
      Set xWS = Sheets(xName & "")

      For xI = 1 To Sheets.count - 1
      xWS.Range("A" & xI).Value2 = Sheets(xI).Name
      Next xI
      xI = xI - 1
      Set xRg = xWS.Range("A1:A" & xI)
      ActiveWorkbook.Worksheets(xName).Sort.SortFields.Clear
      ActiveWorkbook.Worksheets(xName).Sort.SortFields.Add Key:= _
      Range("A1:A" & xI), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
      xlSortNormal
      With ActiveWorkbook.Worksheets(xName).Sort
      .SetRange Range("A1:A" & xI)
      .Header = xlGuess
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
      End With

      Me.ComboBox1.Clear
      For i = 1 To xRg.count
      Me.ComboBox1.AddItem xRg.Item(i).Value

      Next
      Me.ComboBox1.Value = ActiveSheet.Name

      xWS.Delete
      Application.DisplayAlerts = True
      End Sub