(13/06/2019, 14:59)nightashes yazdı: [ -> ]* Bu arada büyük harf küçük harf duyarlı sanırım. Nasıl kaldırabiliriz. Yani "Ana" yazmak gerekiyor arama için tam eşleşme istiyor. "ana" diye yazsak da sonuç gelmesi için ne yapmak gerek.
Büyük/küçük harf duyarlı değil diye biliyorum ama bazı Türkçe karakterlerde -İ,ı- sorun çıkartıyor ama "ana" da yazılsa "Ana" da bende sorun çıkarmadı
____________________________________________________oOo______________________________________________________
(13/06/2019, 13:33)nightashes yazdı: [ -> ]1- İkinci forma listeden aldığım bilgiler verdiğim aralığı alıyor fakat istediğim son satırda bitmesi. Çünkü listede boş satırlarda görünmekte ve bu listeyi çok uzun tutmakta.
Private Sub UserForm_Initialize()
Dim sayfa As Worksheet
Dim SonSatir As Long
SonSatir = Worksheets("Liste-Maliyet").Cells(4, 3).End(xlDown).Row
ListBox1.Clear
ListBox1.ColumnCount = 1
ListBox1.ColumnWidths = "50"
For Each sayfa In Worksheets
ListBox1.AddItem sayfa.Name
Next
With ListBox2
Do While .ListCount > 0
.RemoveItem 0
Loop
End With
ListBox2.List = Worksheets("Liste-Maliyet").Range("B4:C" & SonSatir).Value
End Sub
____________________________________________________oOo______________________________________________________
(13/06/2019, 13:33)nightashes yazdı: [ -> ]2- Örnek dosyaya bakarsanız sayfa adlarını ikinci listemde bulunan birinci sutundaki kodlara göre açtım. Bu şekilde yapmak istediğim, eğer o koddaki ürünün sayfası varsa birinci listede bulsun ve hatta o sayfaya gitsin. Eğer sayfa yoksa sayfa bulunamadı gibi bir uyarı verebilir.
Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim syfAdi As String
On Error Resume Next
syfAdi = ListBox2.Value
If WorkSheetExists(syfAdi) Then ActiveWorkbook.Sheets(syfAdi).Activate Else MsgBox ("Sayfa mevcut değil")
End Sub
Function WorkSheetExists(ByVal strName As String) As Boolean
On Error Resume Next
WorkSheetExists = Not ActiveWorkbook.Worksheets(strName) Is Nothing
End Function
____________________________________________________oOo______________________________________________________
(13/06/2019, 13:33)nightashes yazdı: [ -> ]3- Listboxların üstüne textbox koydum ki istediğim zaman aratma yapabileyim ama bunuda aktif bir hale getiremedim. Acaba text.box a göre arama yı nasıl sağlayabilirim.
Private Sub TextBox1_Change()
Dim sayfa As Worksheet
Dim syfAdi, txtArama As String
ListBox1.Clear
ListBox1.ColumnCount = 1
ListBox1.ColumnWidths = "50"
For Each sayfa In Worksheets
syfAdi = sayfa.Name
txtArama = Me.TextBox1.Text
If InStr(1, syfAdi, txtArama, 1) > 0 Then ListBox1.AddItem sayfa.Name
Next
End Sub
Private Sub TextBox2_Change()
Dim bolge As Range
Dim SonSatir As Long
SonSatir = Worksheets("Liste-Maliyet").Cells(4, 3).End(xlDown).Row + 4
Dim iCount As Long
'Boşsa______________________________
If Len(Me.TextBox2.Text) = 0 Then
ListBox2.List = Worksheets("Liste-Maliyet").Range("B4:C" & SonSatir).Value
Exit Sub
End If
'Boşsa______________________________bitti
Set bolge = Worksheets("Liste-Maliyet").Range("B4:C" & SonSatir)
iCount = 0
ListBox2.Clear
With bolge
Dim C As Range
Set C = .Find(TextBox2.Text, LookIn:=xlValues)
If Not C Is Nothing Then
Dim FirstAddress As String, Rslt As String
FirstAddress = C.Address
Do
ListBox2.AddItem
ListBox2.List(iCount, 0) = Worksheets("Liste-Maliyet").Range("B" & C.Row)
ListBox2.List(iCount, 1) = Worksheets("Liste-Maliyet").Range("C" & C.Row)
iCount = iCount + 1
Set C = .FindNext©
Loop While C.Address <> FirstAddress
End If
End With
End Sub
____________________________________________________oOo______________________________________________________
4. sorunuzun yanıtını henüz bulamadım
dilerim işinize yarar