• DİKKAT

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

VBA de tarih formatı nasıl?

Tebrikler...

İler ki aşamalarda kod içindeki gereksiz satırları silerek profesyonel olma yönünde adım atabilisiniz.
 
Mesela aynı sorunu ben farklı bir yöntem olan METNİ SÜTUNLARA DÖNÜŞTÜR ile çözmeye çalıştım. Aşağıdaki kod oluştu.

Sütunu seçip kodu çalıştırınız.

C++:
Option Explicit

Sub Fix_Dates_Text_to_Columns()
    Selection.TextToColumns Destination:=Selection.Cells(1, 1), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
    Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 4), TrailingMinusNumbers:=True
End Sub
 
Bu da döngü ile alternatif olsun.

C++:
Sub Fix_Dates_Loop()
    Dim Rng As Range

    With VBA.CreateObject("VBScript.Regexp")
        .Pattern = "(\d{4})[.\-\/](\d{1,2})[.\-\/](\d{1,2})"
        .Global = True
        For Each Rng In Selection.SpecialCells(xlCellTypeConstants, 23)
            If Not IsEmpty(Rng.Value) Then
                If .Test(Rng.Value) Then
                    Rng.Value = DateValue(Rng)
                    Rng.NumberFormat = "dd.mm.yyyy"
                    Rng.Value = Rng.Value
                End If
            End If
        Next
    End With
End Sub
 
Geri
Üst