Veri doğrulama

Katılım
27 Ekim 2017
Mesajlar
97
Excel Vers. ve Dili
2016 TÜRKÇE
Altın Üyelik Bitiş Tarihi
06-01-2024
Veri doğrulama yaparken örnegin aşagıda a2 hücresinde 2-Armut'u seçtigimde ilgili hücreye sadece 2 yazsın istiyorum.Yani rakamdan sonrakileri yazmayacak...Bunu nasıl yapabiliriz
 

Ekli dosyalar

Katılım
27 Ekim 2017
Mesajlar
97
Excel Vers. ve Dili
2016 TÜRKÇE
Altın Üyelik Bitiş Tarihi
06-01-2024
Şu kodu da yapıştırdım ama yine olmuyor.Hata nerde

Sub Sil()
Set s = ActiveSheet
For i = 1 To 1000
Bak = s.Cells(i, 1)
For j = 1 To Len(s.Cells(i, 1))
If Mid(s.Cells(i, 1), j, 1) = "-" Then
Bak = Right(s.Cells(i, 1), Len(s.Cells(i, 1)) - j)
End If
Next
s.Cells(i, 1) = Bak
Next
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,230
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Neden böyle bir işleme ihtiyaç duyuyorsunuz?
 
Katılım
27 Ekim 2017
Mesajlar
97
Excel Vers. ve Dili
2016 TÜRKÇE
Altın Üyelik Bitiş Tarihi
06-01-2024
Korhan hocam merhaba
Elimde bir anket çalışması var.
Çalışmadaki sorulardan birinde şıklar ;Elma,Armut,Nar şeklinde
Fakat veri girişi yaparken Mesela kagıtta armuta tick işareti konulmuşsa pcde " 2 "olarak girmem gerekiyor.
Bazı sorularda ise şık sayısı daha fazla.Elma,armut,nar,muz,çilek,vişne vs gibi.
Yani atıyorum ilgili sorunun cevabı Çilek ise Çilek o soruda 5 numaraya karşılık geldiginden ben her defasında acaba kaç numaraydı diye kagıt üzerinde saymadan yanımdaki çilek ile 5 rakamını yanyana görmek istiyorum.Sonra Veri doğrulama ile de okla seçtikten sonra çilek kısmı silinsin istiyorum.
Umarım anlatabilmişimdir.
Dosyanın basit halini başlangıç halini ekledim.Kendim geliştirecegim için ilk halini attım
 

Ekli dosyalar

sbayyigit

Altın Üye
Katılım
11 Aralık 2004
Mesajlar
413
Excel Vers. ve Dili
Ms Office Pro Plus 2019
Altın Üyelik Bitiş Tarihi
23-02-2026
Örnek İşini Görecektir. Verilerine karşılık gelecek değerler sayfa1 de. sayfa 2 de ise formülü bulabilirsin.
 

Ekli dosyalar

Katılım
27 Ekim 2017
Mesajlar
97
Excel Vers. ve Dili
2016 TÜRKÇE
Altın Üyelik Bitiş Tarihi
06-01-2024
Sizin örneginizle benım kasteddigim şey aynı değil ama.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Nedenini tam anlayamadım fakat, istediğiniz yapmak için makro kullanmanız gerekir.

Sayfanın kod bölümüne ekleyip deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [A1]) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target = Split(Target, "-")(0)
    Application.EnableEvents = True
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,230
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu da RegExp ile alternatif olsun;

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo 10
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Target.Value <> "" Then
        With CreateObject("VBscript.RegExp")
            .Global = True
            .Pattern = "[^0-9(-)]"
            Target.Value = .Replace(Target.Value, "")
        End With
    End If
10  Application.EnableEvents = True
End Sub
 
Katılım
27 Ekim 2017
Mesajlar
97
Excel Vers. ve Dili
2016 TÜRKÇE
Altın Üyelik Bitiş Tarihi
06-01-2024
Çok teşekkürler her ikinize de:)
 
Üst