HTML Veri Kopyalama

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Kolay gelsin.
İnternetten CTRL+C ile kopyaladığım veriyi aynı formatta excele yapıştırmak istiyorum. ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False şeklinde deniyorum. Virgüllü sayıları tarihe çeviriyor. Bunu nasıl engellerim.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Office versiyonu 2016
 

GursoyC

Altın Üye
Katılım
7 Ocak 2015
Mesajlar
558
Excel Vers. ve Dili
Office 2024 Türkçe
Altın Üyelik Bitiş Tarihi
17-05-2028
benzer bir işlem yapıyorum ve ben de önceden noktalarla aynı tür bir sıkıntı yaşıyordum.
kendi rutinimi göndereyim. bilgi düzeyinizi düşündüğümde kendinize uyarlayabilirsiniz diye düşünüyorum.



Kod:
Sheets("1").Select
 Range("A2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("n2:t500").Select
With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
nokta = "."
virgul = ","

Dim cell As Range

For Each cell In ActiveWindow.RangeSelection.Cells
deg1 = Split(cell.Value, nokta)

hucre = cell.NumberFormat
cell.NumberFormat = "@"
veri = ""
k = 0

If IsNumeric(cell.Value) = True Then

If UBound(deg1) > 0 Then
For i = 0 To Val(UBound(deg1))
k = k + 1
If k = 1 Then
veri = deg1(i)
Else
veri = veri & virgul & deg1(i)
End If
Next

If UBound(deg1) = 1 Then
cell.Value = veri * 1
Else
cell.Value = veri
End If

Else
cell.Value = cell.Value
End If

Else

If UBound(deg1) > 0 Then
For i = 0 To Val(UBound(deg1))
k = k + 1
If k = 1 Then
veri = deg1(i)
Else
veri = veri & virgul & deg1(i)
End If
Next
cell.Value = veri
Else
cell.Value = cell.Value
End If

End If
cell.NumberFormat = hucre
Next

With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = CalcMode
End With
  
    Dim a As Range

    For Each a In [N:N].SpecialCells(xlCellTypeConstants, 23)
        If IsNumeric(a) = True Then
            a = a + 0
        End If
    Next a
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Örnek veriyi worde yapıştırdığımda normal. Ama excelde hata veriyor.
Word dosyası ekliyorum.
 

Ekli dosyalar

  • 11.8 KB Görüntüleme: 12

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Syın unlimitted ilginize teşekkür ederim. Anladığım kadarıyla noktayı virgül ile değiştirme işlemi yapmışsınız. İlk baştaki yapıştır kodu html veri olduğu için çalışmıyor. Onun yerine ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False şeklinde yazıyorum. 2,5/3 şeklinde olan veri 02.05.2003 olarak algılıyor. Birde verilerin gelişi 2010 ile 2016 da farklı oluyor. 2016 da çoğunu tarih formatında algılıyor. 2010 arada - veya / olanları tarih olarak algılıyor.
 

GursoyC

Altın Üye
Katılım
7 Ocak 2015
Mesajlar
558
Excel Vers. ve Dili
Office 2024 Türkçe
Altın Üyelik Bitiş Tarihi
17-05-2028
Evet sizin yolladığınız wordden aynı işlemi yaptığımda da (tablo formatında olmasına rağmen) çalışmadı.
Peki sizin yapıştırdığınız excel sayfasında o veri 2,5/3 şeklinde mi görülmeli?
mesela bir kod ile "/" işareti gördüğün hücrelerin başına " ' " koy denilerek o kısmı text olarak algılatmak mümkün olabilir mi acaba?
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Veriyi komple tablo olarak yapıştırdığım için dediğiniz çalışmıyor. Gündüz denemiştim. Webden veri çekme işlemi değil. Bu şekilde olsa string olarak çektiririm. Komple tablo olarak copy yapılıyor. Sayfada paste yapılıyor, sonrasında işlem yapılıyor.
 
Katılım
24 Nisan 2005
Mesajlar
3,680
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Veriyi komple tablo olarak yapıştırdığım için dediğiniz çalışmıyor. Gündüz denemiştim. Webden veri çekme işlemi değil. Bu şekilde olsa string olarak çektiririm. Komple tablo olarak copy yapılıyor. Sayfada paste yapılıyor, sonrasında işlem yapılıyor.
Yapılan işlemi tam olarak anlamadım ama, yapştırmadan önce yapıştırma alanını metin olarak biçimlendirip yapıştırdığınız da tablo biçimi korunuyor.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Sayın Asri çok teşekkür ederim. 2010 versiyonda dediğiniz gibi oldu. 2016 için yarın deneyeceğim.
 
Üst