• DİKKAT

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

Tarihleri teke düşüren kodlarda sorunum var

  • Konbuyu başlatan Konbuyu başlatan xlsx
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
X

xlsx

Misafir
Merhaba,
A sütununda altalta farklı tarih ve saatlerde 29/07/2010 15:13:19 formatında tarihler var.Ben bu tarihleri saat formatından ayırdıktan sonra P sütununda yani 16. sütunda teke düşürüp B sütundaki değerleri toplatıyorum.
Ancak bir sorunum var.
FieldInfo:=Array(Array(0, 4), Array(10, 1)), bölümünde Array(0, 4) değil de 4 yerine 1 olarak seçtiğimde tarihleri teke düşürüyor ama bazı tarihler / işaretli değil nokta işaretli olmakta.(General format yerine DAte formatı olmakta)
Array(0, 4) olarak aldığımda ise tarihleri teke düşürmüyor

Dim sıra, x As Long bölümünde Long değil de Date yazdığımda da sorun çözülmemekte.Örnek dosya ekleyemiyorum ancak umarım anlaşılabilir olmuştur
Kod:
Columns("B:B").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Columns("D:D").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 4), Array(10, 1)), TrailingMinusNumbers:=True
 
‘teke düşürme bölümü
 
Dim sıra, x As Long
Dim hangisi As Range
Set s2 = Sheet2
 
s2.Range("p2:p65000").ClearContents
sıra = 1
For x = 2 To s2.Range("A65536").End(xlUp).Row
Set h = s2.Range("p2:p65000").Find(s2.Cells(x, 1).Value, , xlValues, xlWhole)
If Not h Is Nothing Then
Else
sıra = sıra + 1
s2.Cells(sıra, 16).Value = s2.Cells(x, 1).Value
 
Son düzenleme:
Merhaba,

Sorunuzu örnek dosya ile desteklerseniz çözüme daha çabuk ulaşabilirsiniz.
 
Slm
A sütununa başka yerden aldığım veriler normal gözüküyor ancak makro çalıştıktan sonra A sütunundaki bazı tarihler noktayla ayrılmış olarak gözüküyor bazıları da / işaretli
dosya ekte
 
Selamlar,

Alternatif olarak aşağıdaki kodu denermisiniz.

Kod:
Sub TARİHLERİ_TEKE_DÜŞÜR()
    Columns("A:A").NumberFormat = "m/d/yyyy h:mm"
    Range("D1") = 1
    Range("D1").Copy
    Range("A2:A" & Range("A65536").End(3).Row).PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply
    Application.CutCopyMode = False
    Columns("B:B").Insert Shift:=xlToRight
    Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
    Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
    :=Array(Array(0, 4), Array(10, 1)), TrailingMinusNumbers:=True
    Columns("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("P1"), Unique:=True
    Columns("P:P").EntireColumn.AutoFit
    Range("E1") = Empty
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Korhan Bey slm
ben sürekli teke düşürmek için değer belirleyip o değeri arattırarak buluyorum ve bu şekilde teke düşürüyorum.Yani AdvancedFilter kullanmadan.Dolayısıyla kullandığım dosyalarda hep bu kodlarla çalışıyorum.A sütununda tarih olduğunda sadece çalıştıramadım.
Sizin gönderdiğiniz kodları tarih içeren dosyalarda kullanmam gerekecek sanırım.
Şuan sorunu geçici olarak başka yollardan çözdüm.Ancak yukardaki benim eklediğim kodda düzenleme yaparak değil.
Yine de sizin eklediğiniz alternatifi farklı çalışmalarda kullanmak için kayıt altına aldım.Çok teşekkürler.Sizlerden öğreneceğim çok şey var.
İyi Çalışmalar
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst