[Yardım]  Karakter fazla ise silinsin?

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

Karakter fazla ise silinsin?

İleti#1)  erseldemirel2 » 20 May 2020 17:31

Arkadaşlar; bana makro ile ilgili bir kod lazım yardımcı olurmusunuz.

Hücrede karakter sayısı 100 den fazla ise sağdan 100 karakter kalana kadar silsin.

Örneğin A1 Hücresi Karakter sayısı 99 ise hücreye dokunmasın ama 101 olursa sağdan 1 karakter silsin.
www.erseldemirel.com.tr
Kullanıcı avatarı
erseldemirel2
Site Dostu
 
Kayıt: 31 Oca 2019 12:51
Meslek: Mühendis
Yaş: 36
İleti: 729
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Çankaya

Cevap: Karakter fazla ise silinsin?

İleti#2)  erseldemirel2 » 20 May 2020 17:47

Çözdüm arkadaşlar başka yöntemleriniz varsa eklersiniz.

Sub azalt()
For i = 1 To 10
uzunluk = Len(Cells(i, 9))
If uzunluk >100 Then
Cells(i, 9) = Trim(WorksheetFunction.Substitute(Cells(i, 9), Right(Cells(i, 9), uzunluk - 100), ""))
End If
Next
End Sub
www.erseldemirel.com.tr
Kullanıcı avatarı
erseldemirel2
Site Dostu
 
Kayıt: 31 Oca 2019 12:51
Meslek: Mühendis
Yaş: 36
İleti: 729
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Çankaya

Cevap: Karakter fazla ise silinsin?

İleti#3)  şahin » 20 May 2020 20:03

Kod: Tümünü seç
Sub sil()
If Len(Range("A1")) > 100 Then
ilk100 = Left(Range("A1"), 100)
Range("A1").Value = ilk100
End If
End Sub
Kullanıcı avatarı
şahin
Site Dostu
 
Kayıt: 30 Eyl 2016 21:24
Meslek: memur
Yaş: 30
İleti: 1007
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: bursa

Cevap: Karakter fazla ise silinsin?

İleti#4)  şahin » 20 May 2020 20:06

Hatta kısaca şu şekilde de olabilir

Kod: Tümünü seç
Sub sil()

Range("A1").Value = Left(Range("A1"), 100)

End Sub
Kullanıcı avatarı
şahin
Site Dostu
 
Kayıt: 30 Eyl 2016 21:24
Meslek: memur
Yaş: 30
İleti: 1007
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: bursa

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Karakter fazla ise silinsin?

İleti#5)  şahin » 20 May 2020 20:14

sağdan demişsin

Sub sil()

Range("A1").Value = Right(Range("A1"), 100)

End Sub
Kullanıcı avatarı
şahin
Site Dostu
 
Kayıt: 30 Eyl 2016 21:24
Meslek: memur
Yaş: 30
İleti: 1007
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: bursa

Cevap: Karakter fazla ise silinsin?

İleti#6)  Tarkan VURAL » 21 May 2020 17:37

Ersel bey kulağı tersten göstermişsiniz. Kodlar uzun yola çıkmış. ;)
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ?
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 18:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 46
İleti: 27311
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Cevap: Karakter fazla ise silinsin?

İleti#7)  erseldemirel2 » 21 May 2020 18:37

Tarkan VURAL yazdı:Ersel bey kulağı tersten göstermişsiniz. Kodlar uzun yola çıkmış. ;)


:lol: Evet uzun oldu ilki. Bana farklı formatlarda raporlar geliyor anlık çözüm lazım olduğu için ilk geleni kullanıyorum, sağolsun Şahin Bey bir alternatif ekledi.

Kod: Tümünü seç
Sub sil()
If Len(Range("A1")) > 100 Then
ilk100 = Left(Range("A1"), 100)
Range("A1").Value = ilk100
End If
End Sub
www.erseldemirel.com.tr
Kullanıcı avatarı
erseldemirel2
Site Dostu
 
Kayıt: 31 Oca 2019 12:51
Meslek: Mühendis
Yaş: 36
İleti: 729
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Çankaya


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: AhrefsBot, Bing[Bot] ve 2 misafir

Bumerang - Yazarkafe