Columns(HARF).Column hatalı ise hatalı mesajı gönder?

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
HARF = TextBox4.Value
MsgBox Columns(HARF).Column
yani aldığı değer ingiliz alfabesinne göre A ila IV dışında ise excelde böyle bir kolon başlığı yoktur gibi mesaj versin

şimdiden teşekküler......
veya combobox3 e bütün sütun başlıkları sıralansın
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
.....
...
veya combobox3 e bütün sütun başlıkları sıralansın

Kod:
Private Sub CommandButton1_Click()
    Dim RegExp
    Set RegExp = CreateObject("VBscript.RegExp")
    RegExp.Global = True
    RegExp.Pattern = "[0-9,$]"
    For i = 1 To Columns.Count
        If Not Columns(i).Hidden Then
            MyColumn = Cells(1, i).Address
            MyColumn = RegExp.Replace(MyColumn, "")
            ComboBox3.AddItem MyColumn
        End If
    Next
    Set RegExp = Nothing
End Sub
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Alternatif olarak aşağıdaki gibide deneyebilirsiniz.

Kod:
Private Sub UserForm_Initialize()
For a = 1 To Columns.Count
deg = Split(Columns(a).Address(0, 0), ":", -1)
ComboBox3.AddItem deg(1)
Next
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
Sn. haluk ve sayın leventm beklerken bende forumu biraz karıştırdım.

istediğimi tam olarak elde ettim
açık çalışma kitaplarının sayfalarından sonboşsattırı 1 den büyük olan sütun başlıklarının listesi idi istediğim ve codlar aşağıdadır.


Kod:
Private Sub UserForm_Initialize()
    ComboBox1.Clear        'Hangi kitap?
    For Each wkb In Application.Workbooks
        ComboBox1.AddItem wkb.Name
    Next
    ComboBox1.ListIndex = 0
Set wkb = Nothing
End Sub
Private Sub ComboBox1_Change()
    ComboBox2.Clear         'Hangi Sayfa
    For Each wsh In Workbooks(ComboBox1.Value).Sheets
        ComboBox2.AddItem wsh.Name
    Next
    ComboBox2.ListIndex = 0
Set wsh = Nothing
End Sub
Kod:
Private Sub ComboBox2_Change()
'cbx1 deki çalışma kitabının cbx2 deki sayfasındaki dolu sütunlar
    ComboBox3.Clear         'Hangi sütun (Dolu sütunlar listelenir)
    If ComboBox1.Value = "" Or ComboBox2.Value = "" Then Exit Sub
    For i = 1 To 256
    test = Workbooks(ComboBox1.Value).Worksheets(ComboBox2.Value).Cells(65536, i).End(3).Row
        If i >= 1 And i <= 26 Then
            If test > 1 Then
                sut_bas = Left(Columns(i).address(0, 0), 1)
                ComboBox3.AddItem sut_bas
            End If
        ElseIf i >= 27 And i <= 256 Then
            If test > 1 Then
                sut_bas = Left(Columns(i).address(0, 0), 2)
                ComboBox3.AddItem sut_bas
            End If
        End If
    Next i
    If ComboBox3.ListCount > 0 Then ComboBox3.ListIndex = 0

'sonsat = Workbooks(ComboBox1.Value).Worksheets(ComboBox2.Value).Cells(65536, Columns(ComboBox3.Value).Column).End(3).Row
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 ComboBox2_Change()
    ComboBox3.Clear         'Hangi s&#252;tun (Dolu s&#252;tunlar listelenir)
    If ComboBox1.Value = "" Or ComboBox2.Value = "" Then Exit Sub
    For i = 1 To Columns.Count
    sonsat = Workbooks(ComboBox1.Value).Worksheets(ComboBox2.Value).Cells(65536, i).End(3).Row
        If sonsat > 1 Then
            sut_bas = Split(Columns(i).address(0, 0), ":", -1)
            ComboBox3.AddItem sut_bas(1)
        End If
    Next i
    If ComboBox3.ListCount > 0 Then ComboBox3.ListIndex = 0
End Sub
sn halukun coloumns.count komutu ve sn leventmin split komutu ile herhalde 2007 i&#231;inde sorunsuz &#231;al&#305;&#351;&#305;r
 
Üst