Listbox nesnesini listwiev ile değiştirme?

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
'######################################################################################################////
Private Sub UserForm_Initialize()                                                                      '##'
    CommandButton2.Cancel = True                 'Userform üzerinde "ESC" ye basınca çıkışa izin ver.  '##'
    TextBox1 = 1                                                                                       '##'
    ComboBox1.Value = FncHsr_VarsayilanYazici()             'Varsayılan Yazıcıyı bul ve combo1 e yaz.  '##'
    Dim Wsh As WshNetwork                                                                              '##'
    Dim i As Single                                                                                    '##'
    Set Wsh = New WshNetwork                                                                           '##'
'Aktif Kitaptaki Sayfa Listesini Listbox1 e alır                                                       '##'
    For i = 1 To ActiveWorkbook.Sheets.Count                                                           '##'
[COLOR=darkgreen]        [B]ListBox1.AddItem[/B] Sheets[/COLOR](i).Name                                                                '##'
'       [COLOR=darkred] [B]ListView1.
[/B][/COLOR]    Next                                                                                               '##'
'Aktif Bilgisayardaki Yazıcı Listesini Combobox1 e alır                                                '##'
    For i = 1 To Wsh.EnumPrinterConnections.Count - 1 Step 2                                           '##'
        ComboBox1.AddItem Wsh.EnumPrinterConnections(i)                                                '##'
    Next                                                                                               '##'
Set Wsh = Nothing:                  i = 0                                                              '##'
End Sub                                                                                                '##'
'######################################################################################################////

ListBox1.AddItem Sheets (i).Name yerine, ListView1 yanına ne yazmlıyımda çalışma sayfaları listwiev nesnesine gelsin.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Şu şekilde yapınız.

Kod:
Private Sub UserForm_Initialize()                                                                      '##'
    CommandButton2.Cancel = True                 'Userform üzerinde "ESC" ye basınca çıkışa izin ver.  '##'
    TextBox1 = 1                                                                                       '##'
    ComboBox1.Value = FncHsr_VarsayilanYazici()             'Varsayılan Yazıcıyı bul ve combo1 e yaz.  '##'
    Dim Wsh As WshNetwork                                                                              '##'
    Dim i As Single                                                                                    '##'
    Set Wsh = New WshNetwork                                                                           '##'
    'Aktif Kitaptaki Sayfa Listesini Listbox1 e alır                                                       '##'
[COLOR=red]    With ListView1
        .View = lvwReport
        .LabelEdit = lvwManual
        .ColumnHeaders.Add , , "Sayfalar"
        For i = 1 To ActiveWorkbook.Sheets.Count
            .ListItems.Add , , Sheets(i).Name
        Next i
    End With
[/COLOR]    'Aktif Bilgisayardaki Yazıcı Listesini Combobox1 e alır                                                '##'
    For i = 1 To Wsh.EnumPrinterConnections.Count - 1 Step 2                                           '##'
        ComboBox1.AddItem Wsh.EnumPrinterConnections(i)                                                '##'
    Next                                                                                               '##'
Set Wsh = Nothing:                  i = 0                                                              '##'
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
teşekkür ederim hocam.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Ferhat Hocam Listwievlerle ilgili bir şey daha sormak istiyorum...

gelen verilerden Birden fazlasını mouse ile seçmek mümkün mü, ctrlye basmadan
listbox ın multi select özelliğinin frmMULTiselectmulti gb.
 
Son düzenleme:
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Çoklu seçim işlemi için, Listview'in elemanlarına Checkbox özelliği kazandırabilir ve/veya Multiselect özelliği aktif ederek, mouse veya klavye ile çoklu eleman seçimi yapabilirsiniz.

Hangisi hoşunuza giderse onu kullanın ...

Kod:
    With ListView1
        .View = lvwReport
'        .CheckBoxes = True [COLOR=darkgreen]'Her elemana CheckBox oluşturur.
[/COLOR]        .MultiSelect = True[COLOR=darkgreen] 'Çoklu seçim özelliği
[/COLOR]        .LabelEdit = lvwManual
        .ColumnHeaders.Add , , "Sayfalar"
        For i = 1 To ActiveWorkbook.Sheets.Count
            .ListItems.Add , , Sheets(i).Name
        Next i
    End With
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Hocam teşekkürler, aşağıdaki hali ile son derece güzel olduğunu düşünüyorum, siz ne dersiniz :)
Kod:
'######################################################################################################////
Private Sub UserForm_Initialize()                                                                      '##'
'*\ Form denetimlerininin özelliklerini belirle                                                        '##'
    CommandButton2.Cancel = True                 'Userform üzerinde "ESC" ye basınca çıkışa izin ver.  '##'
    TextBox1 = 1                                                                                       '##'
    With ListView1                                                                                     '##'
        .View = lvwReport:              .LabelEdit = lvwManual                                         '##'
        .CheckBoxes = True                                          'Her elemana CheckBox oluşturur.   '##'
'        .MultiSelect = True                                      'Çoklu seçim (ctrl+mouse) özelliği   '##'
        .ColumnHeaders.Clear:           .ListItems.Clear              'başlıkları ve öğeleri temizle   '##'
        .ColumnHeaders.Add , , "Sayfalar"                                                              '##'
    End With   'ListView1                                                                              '##'
    ComboBox1.Value = FncHsr_VarsayilanYazici()             'Varsayılan Yazıcıyı bul ve combo1 e yaz.  '##'
'*\ Değişken tanımlama ve set etme                                                                     '##'
    Dim Wsh As WshNetwork                                                                              '##'
    Dim i As Single                                                                                    '##'
    Set Wsh = New WshNetwork                                                                           '##'
'Aktif Kitaptaki Sayfa Listesini Listbox1/ListView1 e alır                                             '##'
    For i = 1 To ActiveWorkbook.Sheets.Count                                                           '##'
        ListView1.ListItems.Add , , Sheets(i).Name                                                     '##'
        ListBox1.AddItem Sheets(i).Name                                                                '##'
    Next i                                                                                             '##'
'Aktif Bilgisayardaki Yazıcı Listesini Combobox1 e alır                                                '##'
    For i = 1 To Wsh.EnumPrinterConnections.Count - 1 Step 2                                           '##'
        ComboBox1.AddItem Wsh.EnumPrinterConnections(i)                                                '##'
    Next                                                                                               '##'
'*\ Değişkenleri ve değerlerini hafızadan silme                                                        '##'
Set Wsh = Nothing:                  i = 0                                                              '##'
End Sub                                                                                                '##'
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
'######################################################################################################////
Private Sub CommandButton1_Click()                                                                      '##'
Dim col As New Collection                                                                               '##'
'*\ Aktif yazıcıyı değişkene al                                                                         '##'
'Dim DefaultPrint As String:      DefaultPrint = Application.ActivePrinter: MsgBox DefaultPrint         '##'
    With ListBox1                                                                                       '##'
'*\ Listboxta Seçili olanları koleksiyona al ve sayısını tesbit et...                                   '##'
        For i = .ListCount - 1 To 0 Step -1                                                             '##'
            If .Selected(i) Then                                                                        '##'
                Say = Say + 1                                                                           '##'
                col.Add i                                                                               '##'
            End If                                                                                      '##'
        Next i                                                                                          '##'
'*\ ... Eğer sayı 0 a eşitse prosodürden çık, ...                                                       '##'
        If Say = 0 Then                                                                                 '##'
            MsgBox "Seçili veri bulunamadı"                                                             '##'
        Else                                                                                            '##'
            Soru = ComboBox1.Value & " Yazıcısından " & Say & " adet çalışma sayfasından " & _
                   TextBox1.Value & " -er/-ar adet  Yazdırmak İstiyor musunuz?"                         '##'
            If MsgBox(Soru, vbYesNo) = vbYes Then                                                       '##'
'*\ ... Listbox1 de seçili sayfaları combobox1 deki yazıcıdan textbox1 deki kadar yazdır.               '##'
                For i = 1 To col.Count                                                                  '##'
                    Sheets(ListBox1.List(col.Item(i))).PrintOut _
                    Copies:=TextBox1.Value, ActivePrinter:=ComboBox1.Value                              '##'
                Next i                                                                                  '##'
            End If                                                                                      '##'
        End If                                                                                          '##'
    End With    'Listbox1                                                                               '##'
Set col = Nothing                                                                                       '##'
Unload Me                                                                                               '##'
End Sub                                                                                                 '##'
'######################################################################################################////
bu öğedende kurtarabildimmi daha güzel olacak gibi.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Değerli hocalarım solda ki listbox kodlarının listwiev karşılığı nedir? 1 tanesini buldum:

ListBox1.ListCount ============ ListView1.ListItems.Count
ListBox1.Selected(i) ============ ListView1.??????(i)
Sheets(ListBox1.List(col.Item(i))).PrintOut ================ Sheets(ListView1.??????(col.Item(i))).PrintOut
 
Üst