Dizi / Array Kullanımı / Araç Plakaları

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
507
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Merhaba,

Aşağıda görünen kodda = den sonra görünen 3 ve 5 değerlerinin yerine 0-9 arasındaki rakamları kontrol edecek bir diziyi nasıl tanımlayabilirim.

Amacım şu. İlgili hücre değerinin soldan ilk karakteri ve sağdan ilk karakteri sayı olan satırları Plaka olarak gör ve boş geç. Koda bunu yaptırmam gerekli.


Kod:
   'soldan birinci karakteri ve sağdan birinci karakteri sayı olanları plaka gör ve boş geç
   For X = 2 To SONSAT
  
   If Left(Trim(s1.Cells(X, "N")), 1) = 3 And Right(Trim(s1.Cells(X, "N")), 1) = 5 Then
  
   s1.Cells(X, "N") = ""
  
   Else
   s1.Cells(X, "N") = s1.Cells(X, "N")
   End If
   Next X
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,459
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Kodunuzu düzenleyerek, soldan ilk karakterin ve sağdan ilk karakterin sayı olup olmadığını kontrol etmek için bir dizi tanımlayabiliriz. Aşağıda, bu isteğinizi karşılayacak şekilde güncellenmiş bir kod örneği bulabilirsiniz. Rakam kontrolünü yapmak için IsNumeric fonksiyonunu kullanacağız.


' soldan birinci karakteri ve sağdan birinci karakteri sayı olanları plaka gör ve boş geç
For X = 2 To SONSAT
Dim firstChar As String
Dim lastChar As String

firstChar = Left(Trim(s1.Cells(X, "N")), 1)
lastChar = Right(Trim(s1.Cells(X, "N")), 1)

' İlk ve son karakterlerin sayı olup olmadığını kontrol et
If IsNumeric(firstChar) And IsNumeric(lastChar) Then
s1.Cells(X, "N") = ""
Else
s1.Cells(X, "N") = s1.Cells(X, "N") ' Bu satır, gereksiz görünüyor. Sadece bir boş geçme durumu mevcut.
End If
Next X

Açıklama:
  1. firstChar ve lastChar değişkenlerini tanımlayıp, bunlara ilgili hücrenin soldan ve sağdan ilk karakterlerini atıyoruz.
  2. IsNumeric fonksiyonunu kullanarak bu karakterlerin sayısal olup olmadığını kontrol ediyoruz.
  3. Eğer her iki karakter de sayı ise, ilgili hücreyi boş bırakıyoruz.
  4. Else kısmında gereksiz bir atama işlemine yer vermemek için kodu sadeleştirdik. Eğer başka bir işlem yapmak istemiyorsanız, bu kısmı tamamen çıkarabilirsiniz.
Bu şekilde, istediğiniz koşulu sağlayan hücreleri belirleyebilir ve işlem yapabilirsiniz.
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
507
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Kodunuzu düzenleyerek, soldan ilk karakterin ve sağdan ilk karakterin sayı olup olmadığını kontrol etmek için bir dizi tanımlayabiliriz. Aşağıda, bu isteğinizi karşılayacak şekilde güncellenmiş bir kod örneği bulabilirsiniz. Rakam kontrolünü yapmak için IsNumeric fonksiyonunu kullanacağız.


' soldan birinci karakteri ve sağdan birinci karakteri sayı olanları plaka gör ve boş geç
For X = 2 To SONSAT
Dim firstChar As String
Dim lastChar As String

firstChar = Left(Trim(s1.Cells(X, "N")), 1)
lastChar = Right(Trim(s1.Cells(X, "N")), 1)

' İlk ve son karakterlerin sayı olup olmadığını kontrol et
If IsNumeric(firstChar) And IsNumeric(lastChar) Then
s1.Cells(X, "N") = ""
Else
s1.Cells(X, "N") = s1.Cells(X, "N") ' Bu satır, gereksiz görünüyor. Sadece bir boş geçme durumu mevcut.
End If
Next X

Açıklama:
  1. firstChar ve lastChar değişkenlerini tanımlayıp, bunlara ilgili hücrenin soldan ve sağdan ilk karakterlerini atıyoruz.
  2. IsNumeric fonksiyonunu kullanarak bu karakterlerin sayısal olup olmadığını kontrol ediyoruz.
  3. Eğer her iki karakter de sayı ise, ilgili hücreyi boş bırakıyoruz.
  4. Else kısmında gereksiz bir atama işlemine yer vermemek için kodu sadeleştirdik. Eğer başka bir işlem yapmak istemiyorsanız, bu kısmı tamamen çıkarabilirsiniz.
Bu şekilde, istediğiniz koşulu sağlayan hücreleri belirleyebilir ve işlem yapabilirsiniz.

Teşekkürler sayın Cems
 
Üst