makroda metni sayıya çevirme

Katılım
2 Ağustos 2006
Mesajlar
7
Arkadaşlar, ham bir tabloyu işleyerek .txt'ye çevirip kaydeden bir makro yazdım ama sorun şu ki, ilk işlemde boş bir hücreye ''1'' yazıp çaprtırdığım halde, makroyu çalıştırınca, işlemi kaydetmiyor sanırım ve bu işlemi yapmadan tabloyu işleyip karman çorman bişey çıkarıyor. Ne yapmalıyım?
İlk işlemde normalde metni sayıya çevirip ondan sonra diğer işlemleri yapması lazım. Ama bunu atlayıp (formül tablosunda görünüyor ama işlemi atlıyor) diğre işlemleri takip ediyor ve yanlış sonuç çıkarıyor. makroda bu işlemi yapmasını nasıl sağlayabilirim. Lütfen Yardım......
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Kodlarınızı görmeden birşey söylemek çok zor.

Dosyanızı veya kodlarınızı buraya ekleyebilirmisiniz.
 
Katılım
2 Ağustos 2006
Mesajlar
7
Makroda metin-sayı sorunu

ChDir "C:\Documents and Settings\aa\Desktop"
Workbooks.Open Filename:="C:\Documents and Settings\aa\Desktop\1.endeks.Xls"
Range("B1").Select
ActiveCell.FormulaR1C1 = "1"
Range("B1").Select
Selection.Copy
Range("A9:G43").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=True, Transpose:=False
Columns("C:F").Select
Application.CutCopyMode = False
Selection.NumberFormat = "#,##0.00"
Columns("G:G").Select
Selection.ColumnWidth = 7
Selection.NumberFormat = "0.00"
Columns("C:F").Select
Selection.ColumnWidth = 10
Range("I18").Select
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\aa\Desktop\1.endeks.prn", FileFormat:= _
xlTextPrinter, CreateBackup:=False
End Sub


Sorun şu aslında; bir ham excel tablosu var ve o tabloyu hergün aynı şekilde kaynağından alıp işlemem lazım. Diğer tüm işlemleri yapıyor ama şu metni sayıya çevirme işlemini atlıyor.
İlginize şimdiden teşekkürler...
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

İşleminiz doğru niye hücreleri sayıya çeviremediğini anlayamadım

Hücreleri sayıya çevirmek için (A9 den G43'e kadar) aşağıdaki kodu denermisiniz

Eğer hata verirse hata kodunu bildirirmisiniz.

Kod:
sub cevr()
For i = 9 To 43
For y = 1 To 7
Cells(i, y) = Cells(i, y) * 1
Next
Next
end sub
 
Katılım
2 Ağustos 2006
Mesajlar
7
ilk işlem

ilk işlemde çeviriyor, yani makroyu kaydederken herşey normal. Ama kaydı durdurduktan sonra, çalıştırıp, tabloyu işlemek istediğimde sanki metni sayıya çevirmeyle ilgili işlemi atlayıp devam ediyor.
Sizin gönderdiğiniz kodda da aynısı oldu. Nedir anlamadım.

Yine de çok teşekkürler.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Hücreleri Sayıya çevirir . Üzerinde sayısal işlemde yapabilirsiniz. Fakat siz biçimde metin olarak görürsünüz.

Eğer hücreleri sayı biçimine çevirmekte isterseniz.

Kod:
[LEFT]sub cevr()
For i = 9 To 43
For y = 1 To 7
Cells(i, y) = Cells(i, y) * 1
Cells(i, y).NumberFormat = "#,##0.00"

Next
Next
end sub
Eğer böylede olmazsa dosyanızı ekleyiniz.[/LEFT]
 
Katılım
2 Ağustos 2006
Mesajlar
7
dosyayı gönderdim.

Dosyalarımdan birisi, en kısa olanı bu. Ben kod yazarak pek beceremiyorum sanırım. Direk makrodan yaptığım işleri kaydederek bu işin altından kalkmaya çalıştım ama olmadı. Benim kodumla sizinkini birleştirip yapmaya çalıştım yemedi... Yani benim kodumun baş kısmına sizin yazdığınızı ekledim çalışmadı.

Özetle, size gönderdiğim bu tablo üzerinde yığınla işlem yapıyorum ama ilk işlem metni sayıya çevirmek olmalı. yani onu beceremeden zaten diğer tabloların hepsi kayıyor.

Teşekkürler, saygılar...
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Aşağıdaki Kopyala yapıştır kısmını sildim bunu kullanın .
ayrıca ekli dosyayı da inceleyebilirsiniz.

sub aaa()
ChDir "C:\Documents and Settings\aa\Desktop"
Workbooks.Open Filename:="C:\Documents and Settings\aa\Desktop\1.endeks.Xls"

For i = 9 To 43
For y = 3 To 7
Cells(i, y) = Val(Cells(i, y).Value * 1)
Next
Next

Columns("C:F").Select
Selection.NumberFormat = "#,##0.00"
Columns("G:G").Select
Selection.ColumnWidth = 7
Selection.NumberFormat = "0.00"
Columns("C:F").Select
Selection.ColumnWidth = 10
Range("I18").Select
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\aa\Desktop\1.endeks.prn", FileFormat:= _
xlTextPrinter, CreateBackup:=False

End Sub
 
Katılım
2 Ağustos 2006
Mesajlar
7
Varolun

Üstad, gerçekten çok teşekkür ederim, sorunum çözüldü.
diğer tüm makroların baş kısmına da

Sub cevir2()
For i = 9 To 43
For y = 3 To 7
Cells(i, y) = Val(Cells(i, y).Value * 1)
Next
Next
End Sub

ekledim, sorun çözüldü, ellerinize sağlık, mutlu sağlıklı günler...
 
Katılım
2 Ağustos 2006
Mesajlar
7
nokta virgül sorunu

Arkadaşlar excel'de hane ayraçları ve ondalık ayraçları yazdığım makroda tersine dönüyor. Makro da son olarak tabloya biçimli boşluklu metin olarak kaydediyorum, ama nokta ve virgüller .prn dosyasında yer değiştiriyor.

1.234.234 olması gerekirken 1,234,234

0,03 olması gerekirken 0.03 yapıyor.

Nasıl çözebilirim, lütfen yardım....
 
Üst