DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Dim nvE As Object
Private Sub Emre_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
nvE.Visible = False
ActiveCell.Offset(1, 0).Select
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Set nvE = ActiveSheet.OLEObjects("Emre")
On Error GoTo 0
If nvE Is Nothing Then
With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
Width:=Target.Width, _
Height:=Target.Height)
.Name = "Emre"
End With
Set nvE = ActiveSheet.OLEObjects("Emre")
End If
Set Target = Intersect(Target, Range("B:B"))
If Target Is Nothing Then
nvE.Visible = False
nvE.LinkedCell = ""
Exit Sub
ElseIf Target.Count > 1 Or Target.Row = 1 Then
nvE.Visible = False
nvE.LinkedCell = ""
Exit Sub
End If
With nvE
Application.ScreenUpdating = False
.Top = Target.Top
.Left = Target.Left
.ListFillRange = "veri"
.LinkedCell = Target.Address
.Enabled = True
.Visible = True
.Activate
End With
End Sub
MerhabaMerhaba,
Mesela doğrulama ile ilgili bir liste tanımladık. Liste çok satırlı ve geniş. Kullanıcı "1000W" yazdığı anda başı "1000W ile başlayan stok kartlarını getirmeli veya hücre içinde tavsiye etmelidir. B6 hücresinde denemenizi rica ederim. Umarım anlatabilmişimdir.
Selamlar,
Örnek ektedir.
Merhaba
B6 hücresinde doğrulama mevcut değil. Ayrıca listeyi nereden alacak veriler sekmesininden mi_? Veriler sekmesi sıralı olmasının sizin için bir sıkıntısı var mı_?
MerhabaEvet veriler sayfasından alacak. Ayrıca sıralı olmasının hiçbir mahsuru yok.
Selamlar
MALZEMENİN_CİNSİ
=veriler!$A$2:$A$1048576
=DOLAYLI("'veriler'!A"&KAÇINCI($B6&"*";MALZEMENİN_CİNSİ;0)+1&":A"&EĞERSAY(MALZEMENİN_CİNSİ;$B6&"*")+KAÇINCI($B6&"*";MALZEMENİN_CİNSİ;0))
Farklı Kaydet - Makro içerebilen excel çalışma dosyası olarak kayıt yapın. Sorun çözülecektir.Murat bey,
Uygulamada bir sorun yaşıyorum. Kodlamayı yaptıktan sonra kaydediyorum daha sonra dosyayı açtığımda uyguladıklarım yok oluyor. Nasıl kaydetmem gerekiyor veya hangi ayarı yapmak gerekiyor acaba?
Selamlar,
Kolay Gelsin.Çok teşekkür ederim asi_kral_1967 verdiğiniz cevaplar için.
Merhaba Murat bey,Fuat Bey, sayfaya bir ComboBox ilave edin, adına Emre yazın ve ComboBox'ın verileri alacağı alanı seçip, alan adını "veri" yapın.
Dosyayı da ekliyorum...Kod:Dim nvE As Object Private Sub Emre_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 13 Then nvE.Visible = False ActiveCell.Offset(1, 0).Select End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next Set nvE = ActiveSheet.OLEObjects("Emre") On Error GoTo 0 If nvE Is Nothing Then With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _ Width:=Target.Width, _ Height:=Target.Height) .Name = "Emre" End With Set nvE = ActiveSheet.OLEObjects("Emre") End If Set Target = Intersect(Target, Range("B:B")) If Target Is Nothing Then nvE.Visible = False nvE.LinkedCell = "" Exit Sub ElseIf Target.Count > 1 Or Target.Row = 1 Then nvE.Visible = False nvE.LinkedCell = "" Exit Sub End If With nvE Application.ScreenUpdating = False .Top = Target.Top .Left = Target.Left .ListFillRange = "veri" .LinkedCell = Target.Address .Enabled = True .Visible = True .Activate End With End Sub
Varmıdır acaba cevap verebilecek?Merhaba Murat bey,
Yukarıdaki kodlama çok güzel çalışıyor. Fakat şöylede bir sorum var: Örneğin combobox a tıkladığımda içine "şalter" yazdığımda bana içinde şalter yazılı stok kartlarını anında süzsün istiyorum aynı zamanda a dan zye de sıralama yapsın açılan listede. Bu yapılabilir mi acab diye sormak istedim. Yardımcı olabilirseniz çok sevinirim.
Selamlar,