• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Veri Doğrulama hücresinin yıl/sayı yazması

  • Konbuyu başlatan Konbuyu başlatan abnur
  • Başlangıç tarihi Başlangıç tarihi

abnur

Altın Üye
Katılım
5 Eylül 2022
Mesajlar
78
Excel Vers. ve Dili
2021 Türkçe
Merhaba,

Belirlenen hücre sütununa sadece 2025/123456 sol tarafına yıl / sağ tarafına sonra sınırsız sayı yazılabilir şekilde olmasını istiyorum. Bu şeklin dışında bir yazım şekli olmamasını istiyorum.
 
Aşağıdaki kodları ilgili sayfanın kod bölümüne girip deneyiniz. B Sütununa göre veriler düşünülmüştür.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim cell As Range
Dim regex As Object
Dim match As Object

' Geçerli sütunu belirleyin (Örneğin: B sütunu)
Set rng = Me.Range("B:B")

' Değişiklik yapılan hücre belirlenen sütunda mı?
If Not Intersect(Target, rng) Is Nothing Then
Application.EnableEvents = False
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "^2025/\d+$" ' 2025/ ile başlamalı ve sonrası sadece rakam olmalı
regex.IgnoreCase = False
regex.Global = True

For Each cell In Target
If Not IsEmpty(cell.Value) Then
Set match = regex.Execute(cell.Value)
If match.Count = 0 Then
MsgBox "Hatalı giriş! Yalnızca '2025/123456' formatında giriş yapabilirsiniz.", vbCritical, "Format Hatası"
cell.ClearContents ' Geçersiz girişleri temizle
End If
End If
Next cell
Application.EnableEvents = True
End If
End Sub
 
Geri
Üst