Çözüldü Excelde Hücre Formatı Gereksiz Yere Değişiyor Yardım :(

Katılım
19 Ağustos 2017
Mesajlar
174
Excel Vers. ve Dili
2016 TR
Altın Üyelik Bitiş Tarihi
02/05/2019
Merhaba abiler :(
Kod:
Dim k1 As Workbook: Set k1 = Workbooks(ActiveWorkbook.Name)
Dim k1s1 As Worksheet: Set k1s1 = k1.Worksheets(ActiveSheet.Name)
Dim k2 As Workbook: Set k2 = Workbooks(ThisWorkbook.Name)
Dim k2s1 As Worksheet: Set k2s1 = k2.Worksheets("HM DATA")
ss = k1s1.Cells(65536, "A").End(xlUp).Row

k2s1.Range("A"1:A" & ss).Value = _
k1s1.Range("A"1:A" & ss).Value
Yukarıdaki kodda excelimin açmış olduğu farklı bir excel dosyasından a kolonunun benim excelimdeki HM DATA sayfasına aktarmaktayım.
Şöyle bir sorunum var
Bina kapı nolar geliyor misal "2/3" Bu kapı noyu alacağım data sayfamın hücre formatı tamamen metin olmasına rağmen excel bu hücrenin formatını değiştirerek "2/3/2019" olarak alıyor veya "2 A" bina numarasını saat olarak "02:02 AM" olarak aktarıyor bunu engelleyebilmek için ne yapabilirim bana yardımcı olabilecek birisi varmı ?
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,616
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
Aşağıdaki gibi denermisiniz.

Dim k1 As Workbook: Set k1 = Workbooks(ActiveWorkbook.Name)
Dim k1s1 As Worksheet: Set k1s1 = k1.Worksheets(ActiveSheet.Name)
Dim k2 As Workbook: Set k2 = Workbooks(ThisWorkbook.Name)
Dim k2s1 As Worksheet: Set k2s1 = k2.Worksheets("HM DATA")
ss = k1s1.Cells(65536, "A").End(xlUp).Row

k2s1.Range("A"1:A" & ss).Value = _
k1s1.Range("A"1:A" & ss).Value
k2s1.Select
Columns("A:A").Select
Selection.NumberFormat = "@"
Range("J8").Select
 
Katılım
19 Ağustos 2017
Mesajlar
174
Excel Vers. ve Dili
2016 TR
Altın Üyelik Bitiş Tarihi
02/05/2019
@yanginci34 Merhabalar tekrardan
eklediğiniz kodu şu şekilde düzelttim
k2s1.Columns("A:AI").NumberFormat = "@"
ve lakin şu şekilde bir problem var;


Tarihe dönüşen bina numaraları 457456 Gibi rakamlara Dönüşüyor
Bina numarasının rakamının sonu A ile veya P ile bitiyora misal 12 A, 9 P, 4 A saat şeklinde görünüyor sizin verdiğinz kod ise çalıştığında 0,254654 gibi rakamlar geride kalıyor. :(
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,616
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
Aşağıda kırmızı ile işaretli yerleri silip denermisiniz.

Dim k1 As Workbook: Set k1 = Workbooks(ActiveWorkbook.Name)
Dim k1s1 As Worksheet: Set k1s1 = k1.Worksheets(ActiveSheet.Name)
Dim k2 As Workbook: Set k2 = Workbooks(ThisWorkbook.Name)
Dim k2s1 As Worksheet: Set k2s1 = k2.Worksheets("HM DATA")
ss = k1s1.Cells(65536, "A").End(xlUp).Row

k2s1.Range("A"1:A" & ss).Value = _
k1s1.Range("A"1:A" & ss).Value
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kopyala değerleri yapıştır şeklinde aktarım yapmayı deneyiniz.
 
Katılım
19 Ağustos 2017
Mesajlar
174
Excel Vers. ve Dili
2016 TR
Altın Üyelik Bitiş Tarihi
02/05/2019
@Korhan Ayhan @yanginci34
Abiler Merhabalar.
Benimde aklımdan son çare kopyala yapıştır geçiryordu ama durumu çözmeyi başardım.
k2s1.Range("A"1:A" & ss).Value = _
k1s1.Range("A"1:A" & ss).Value
Yanginci34 Abi Kırmızı alanları silerek denememi önermşti bunu denemiştim ve verileri aktarmıyordu fakat veri kaynağının değil de verinin getirileceği adresteki ".Value" değerini silince düzgün bir şekilde çalışıyor bu sorun ile karşılaşan arkadaşlarım bu şekilde çözebilir son düzelttiğim hali aşağıdaki gibidir.
Saygılar sevgiler.
herkese çok teşekkür ederim.

k2s1.Range("A"1:A" & ss)= _
k1s1.Range("A"1:A" & ss).Value
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Tebrikler..
 
Üst