Hücredeki sıfırlar nasıl silinir

Katılım
4 Temmuz 2006
Mesajlar
239
Altın Üyelik Bitiş Tarihi
20/04/2019
arkadaslar merhaba

asagidaki kodlarda harfle sayi arasindaki sifirlari nasil silerim? boyle onbinlerce kod var dosyada ve sifirlarin adedi degisken.

Her kodun karakter adedi 15 tane, bastaki harflerin ve sondaki sayilarin adedine gore sifirlarin adedi de degisiyor.


Bir ornek verecek olursam ilk kodun GAR103, ikinci kodun HPP1, ucuncunun KOZ1 olmasi lagzim. Yardimci olabilirseniz cok sevinirim



GAR000000000103
HPP000000000001
KOZ000000000001
OSS000000000027
SPE000000000018
SUS000000000061
BF0000000000001
CLI000000000046
GRA000000000102
KHT000000000002
LAN000000000018
LAN000000000018
LQ0000000000001


saygilar.
 
Katılım
22 Mayıs 2009
Mesajlar
1,017
Excel Vers. ve Dili
Office 2003
Evren GİZLEN Üstadımdan öğrenmiştim.
0;-0;; Hücre biçimlendirmeden giriniz
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
aşağıdaki ktf ile sonuç erlde edebilirisiniz.:cool:
Boş bir standart modüle kodları yapıştırınız.:cool:
Kullanılışı;A1 için;
=strat(A1)
KTF
Kod:
Function strat(hcr As Range) As Long
Dim deg As String, say As Integer
deg = hcr
Do While Not IsNumeric(deg)
    say = say + 1
    deg = Right(deg, Len(deg) - say)
Loop
strat = CLng(deg)
End Function
 
Katılım
4 Temmuz 2006
Mesajlar
239
Altın Üyelik Bitiş Tarihi
20/04/2019
cok sagol arkadasim verdigin kod calisiyor fakat sadece sayiyi ayiriyor harflerden olan kisim yok. yani GAR000000000103 sadece 103 oluyor. benim icin GAR103 olmasi lagzim.
tesekkurler
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,488
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Değerlerin A sütununda olduğunu varsayalım
B1

Kod:
=SOLDAN(A1;3)&SAĞDAN(A1;12)+0
=LEFT(A1;3)&RIGHT(A1;12)+0
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
aşağıdaki değişiklille oldu.KTF'yi standart bir modüle yapıştırın.:cool:

Ben soryu yanlış anlamışım.
kullanımı:
=sifirat(A1)
Kod:
Function sifirat(hcr As Range) As String
Dim deg As String, say As Integer, deg2 As String
deg = hcr
Do While Not IsNumeric(deg)
    say = say + 1
    deg = Right(hcr, Len(hcr) - say)
    deg2 = Left(hcr, say)
Loop
sifirat = deg2 & CLng(deg)
End Function
 
Katılım
4 Temmuz 2006
Mesajlar
239
Altın Üyelik Bitiş Tarihi
20/04/2019
Arkadasim

harika calisti.

you are a legend (sen bir efsanesin)

cok cok tesekkurler, saygilarimi sunuyorum.
 

Korhan Ayhan

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

Evren bey güzel bir KTF ile sorunuzu çözümlemiş. Alternatif olması açısından aşağıdaki formülüde kullanabilirsiniz.

Eğer örneklediğiniz veriler gerçek dosyanızda da aynı şekilde ise formül sağlıklı çalışır. Aksi halde formül hatalı sonuçlar üretebilir.

Kod:
=PARÇAAL(A1;1;BUL("0";A1;1)-1)&MUTLAK(ARA(9,99999999999999E+307;--SAĞDAN(A1;SATIR($A$1:$A$1024))))
 
Katılım
4 Temmuz 2006
Mesajlar
239
Altın Üyelik Bitiş Tarihi
20/04/2019
arkadaslar dosyadaki gereksiz macrolari temizldeim fakat bu sefer "sifirat" macrom gozukmuyor, bu yuzden macro you calistiramiyorum. bunu nasil duzletirim?

yeni modul ekledim Kod icine kopyaladim bu sefer END SUB erroru veriyor. yardim edebilirmisiniz?
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
sifir at bir fonksiondur.
başlıngıç olarak function sifirat()
bitiş olarak end function olmalıdır.
End sub olmamamlıdır.:cool:
 
Katılım
4 Temmuz 2006
Mesajlar
239
Altın Üyelik Bitiş Tarihi
20/04/2019
Sagol fakat neden macrolari temizledikten sonra calismiyor? simdi ?NAME# hatasi veriyor.
 

Korhan Ayhan

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

Evren beyin önerdiği fonksiyon dosyanızda çalışıyor. Bir problem görünmüyor.

Yalnız A2 hücresindeki veri formatı diğerlerine benzemediği için hatalı sonuç çıkıyor.
 
Üst