EXCEL VBA CHR FONKSİYONU

 

Excel VBA CHR fonksiyonu, sağlanan ASCII koduna dayalı bir karakter döndüren yerleşik bir fonksiyondur. ASCII (American Standard Code for Information Interchange), karakterleri temsil etmek için benzersiz sayısal kodlar atayan yaygın olarak kullanılan bir karakter kodlama standardıdır.

VBA CHR işlevi argümanı olarak bir ASCII kodu alır ve karşılık gelen karakteri döndürür. ASCII kodlarını karakterlere dönüştürmenize olanak tanır, böylece VBA'da belirli karakterlerle çalışmanıza veya dizeleri daha etkili bir şekilde işlemenize olanak tanır. Bir örneğe bakalım. Bu örnekte, VBA CHR kodu ASCII kodu 63'ü soru işareti sembolüne "?" karşılık gelen "asciiCode" değişkenine atar.

VBA CHR fonksiyonu daha sonra bu ASCII kodunu character değişkenine atanmış karşılık gelen karaktere dönüştürür. Son olarak, character değişkeninin değerini gösteren bir ileti kutusu görüntülenir.

vba chr fonksiyonu - Giriş
vba chr fonksiyonu - Giriş - Çıktı

Bu örnek, bir ASCII kodunu karşılık gelen karaktere dönüştürmek için VBA CHR fonksiyonunun basit bir kullanımını göstermektedir.


ÖNEMLİ NOKTALAR

  1. Excel VBA CHR fonksiyonu ASCII kodlarını karakterlere dönüştürür.
  2. CHR(10), bir satır besleme karakterini (LF) ve CHR(13), bir satır başı karakterini (CR) temsil eder.
  3. Excel'de düğme oluştururken, düğmeyi eklemek ve özelleştirmek için Geliştirici sekmesini kullanın.
  4. ASC fonksiyonu CHR fonksiyonunun tam tersidir ve karakterleri karşılık gelen ASCII kodlarına dönüştürür.

Excel VBA CHR Fonksiyonu Nasıl Kullanılır?

Excel VBA CHR işlevini kullanmak için şu adımları izleyin:

Adım 1: Excel’i açın ve VBA düzenleyicisini açmak için “ALT + F11” tuşlarına basın.

Adım 2: Menüden “Ekle”ye tıklayıp “Modül”ü seçerek yeni bir modül ekleyin.

Adım 3: Modülde, aşağıdaki örnekte gösterildiği gibi VBA CHR fonksiyonunu kullanmak için kodu yazın:

Sub UseCHRFunction()
Dim result As String
Dim asciiCode As Integer
‘ Assign an ASCII code to the variable
asciiCode = 65
‘ Use the CHR function to convert the ASCII code to a character
result = Chr(asciiCode)
‘ Display the result
MsgBox result
End Sub


Adım 4: Kodu çalıştırmak için “F5” tuşuna basın veya “Çalıştır” düğmesine tıklayın. Sağlanan ASCII koduna karşılık gelen karakteri gösteren bir mesaj kutusu görünecektir (bu durumda, “A” gösterecektir).


VBA Chr Giriş - kullanım - Çıktı

Örnekler

Örnek #1 – ASCII kodlarını karakterlere dönüştürün

Adım 1: Excel’i açın ve VBA düzenleyicisini açmak için “ALT + F11” tuşlarına basın.

Örnek 1 - Adım 1

Adım 2: Menüden "Ekle"ye tıklayıp "Modül"ü seçerek yeni bir modül ekleyin.

Örnek 1 - Adım 2

Adım 3: Modülde, ilk önce “ConvertASCIIToCharacter()” alt rutinini oluşturun.

vba chr Örnek 1 - Adım 3

Daha sonra altyordam içinde String türünde "result" adlı bir değişken bildiririz. Bu değişken karakter birleştirmenin nihai sonucunu saklayacaktır.

Kodun bir sonraki satırı, ASCII kodu 65'i karşılık gelen "A" karakterine dönüştürmek ve bunu "result" değişkenine atamak için VBA CHR fonksiyonunu kullanır.

“&” operatörü, ASCII kodları 66 ve 67'yi sırasıyla “B” ve “C” karakterlerine dönüştüren ve bunları “result” değişkenine ekleyen aşağıdaki VBA CHR fonksiyon sonuçlarını birleştirmek için kullanılır.

vba chr Örnek 1 - Adım 3 - ASCII

Kodun son satırı, bir ileti kutusu kullanarak “result” değişkeninde saklanan değeri görüntüler.

vba chr Örnek 1 - Adım 3 - sonuç kodu

Adım 4: Modülü kaydedin ve VBA'yı kapatın. Şimdi Makro menüsünü açmak için Alt + F8'e basın, “ConvertASCIIToCharacter”ı seçin ve Çalıştırın.

vba chr Örnek 1 - Adım 4

Adım 5: Makroyu çalıştırdığınızda, sırasıyla “A”, “B” ve “C” olan ASCII kodları 65, 66 ve 67'ye karşılık gelen karakterlerin birleştirilmesinin sonucunu gösteren bir mesaj kutusu görünecektir.

vba chr Örnek 1 - Adım 5

KODUN TAMAMI
Sub ConvertASCIIToCharacter()
Dim result As String
‘ Convert multiple ASCII codes to characters
result = Chr(65) & Chr(66) & Chr(67)
‘ Display the result
MsgBox result
End Sub


Örnek 2 – Döngü kullanarak bir karakter tablosu oluşturun

Adım 1: Modülde ilk önce “GenerateCharacterTable()” alt rutinini oluşturun:

vba chr Örnek 2 - Adım 1

Kod, “GenerateCharacterTable” adlı bir alt rutin tanımlayarak başlar.

Alt yordam içerisinde iki değişken tanımlıyoruz: String türünde “result” ve Integer türünde “asciiCode”.

“result” değişkeni birleştirilmiş karakterleri ve sekmeleri depolayacak ve “asciiCode” değişkeni döngüdeki geçerli ASCII kodunu temsil edecektir.

Adım 2: Şimdi, ASCII kodlarının aralığında yineleme yapmak için bir "For" döngüsü kullanıyoruz. Döngünün içindeki VBA CHR işlevini kullanarak geçerli ASCII kodunu karşılık gelen karaktere dönüştürüyoruz ve "result" değişkenine ekliyoruz.

“&” operatörü CHR’den alınan karakteri “result” değişkeninin mevcut içeriğiyle birleştirir.

Ayrıca tabloda görsel olarak ayırmak için her karakterden sonra bir sekme karakteri (vbTab ile gösterilir) ekliyoruz.

vba chr Örnek 2 - Adım 2

Adım 3: Şimdi, "result" değişkeninde saklanan değeri bir mesaj kutusu kullanarak görüntülemek için bir kod satırı ekliyoruz.

vba chr Örnek 2 - Adım 3

Adım 4: Modülü kaydedin ve VBA'yı kapatın. Şimdi Makro menüsünü açmak için Alt + F8'e basın, “GenerateCharacterTable()”ı seçin ve Çalıştırın.

vba chr Örnek 2 - Adım 4

Adım 5: Kodu çalıştırdığınızda, 32'den 126'ya kadar olan ASCII kodlarındaki karakterlerin sekmelerle ayrılmış VBA CHR tablosunu gösteren bir ileti kutusu görünecektir.

vba chr Örnek 2 - Adım 4


Sub GenerateCharacterTable()
Dim result As String
Dim asciiCode As Integer
‘ Loop through ASCII codes 32 to 126
For asciiCode = 32 To 126
result = result & Chr(asciiCode) & vbTab
Next asciiCode
‘ Display the result
MsgBox result
End Sub

Örnek 3

Başka bir ilginç örneğe bakalım. Bu örnekte, VBA Chr fonksiyonunu kullanarak belirtilen uzunlukta rastgele bir parola üreten bir kod dizisini inceleyeceğiz.

Adım 1: İlk olarak, yeni modülde bir “TestGeneratePassword” alt rutini oluşturuyoruz. Bu alt rutin, GeneratePassword fonksiyonunu test etmek için bir sürücü programı görevi görüyor.

Kullanıcıdan istenilen şifre uzunluğunu girmesini ister ve girişi değişken şifre uzunluğunda saklar.

Daha sonra, “GeneratePassword” fonksiyonu çağrılır ve argüman olarak “passwordLength” geçirilir. Oluşturulan parola daha sonra “generatedPassword” değişkeninde saklanır.

VBA Chr Giriş Kodu

Adım 2: Burada, istenen parola uzunluğunu temsil eden uzunluk parametresini alan ve oluşturulan parolayı içeren bir dize döndüren “GeneratePassword” fonksiyonunu oluşturuyoruz.

Fonksiyonun içerisinde 1'den length'e kadar bir döngü çalıştırılarak "Rnd" ve Int fonksiyonları kullanılarak büyük harf aralığında rastgele bir ASCII kodu üretilir.

VBA Chr Intro fonksiyon kodu

Adım 3: Modülü kaydedin ve VBA'yı kapatın. Şimdi Makro menüsünü açmak için Alt + F8 tuşlarına basın, “TestGeneratePassword”u seçin ve çalıştırın.

vba chr fonksiyonu - Adım 3

Adım 4: Kodu çalıştırdığımızda mesaj kutusu bizden şifre uzunluğunu girmemizi isteyecek.

VBA Chr Giriş - mesaj kutusu

Adım 5: Şifre uzunluğunu (bu örnekte 15) sağladığımızda, üretilen ASCII kodu VBA Chr fonksiyonu kullanılarak karşılık gelen karaktere dönüştürülür ve karakterler birleştirilerek şifre oluşturulur.

VBA Chr Intro - mesaj kutusu uzunluğu
VBA Chr Intro - mesaj kutusu uzunluğu

İşte tam kod:

Sub TestGeneratePassword()
Dim passwordLength As Integer
Dim generatedPassword As String
' Kullanıcıdan istenen parola uzunluğunu ister
passwordLength = InputBox(“İstenen parola uzunluğunu girin:”)
' GeneratePassword fonksiyonunu kullanarak parolayı üretir
generatedPassword = GeneratePassword(passwordLength)
' Oluşturulan parolayı görüntüler
MsgBox “Oluşturulan Parola: ” & generatedPassword
End Sub

Function GeneratePassword(length As Integer) As String
Dim password As String
Dim asciiCode As Integer
' Rastgele bir parola üret
Randomize
For i = 1 To length
' Büyük harfler aralığında rastgele bir ASCII kodu üret
asciiCode = Int((90 – 65 + 1) * Rnd + 65)
password = password & Chr(asciiCode)
Sonraki i
GeneratePassword = password
End Function


Excel'de Buton Nasıl Oluşturulur?

Excel'de düğme oluşturmak için şu adımları izleyin:

Adım 1: Excel'i açın ve düğmeyi eklemek istediğiniz çalışma sayfasına gidin.

Adım 2: Excel şeridinde “ Geliştirici” sekmesine tıklayın . “Geliştirici” sekmesini görmüyorsanız, önce onu etkinleştirmeniz gerekir. Şeride sağ tıklayın, “Şeridi Özelleştir”i seçin ve “Geliştirici” seçeneğini işaretleyin.

vba chr - düğme - Adım 2

Adım 3: “Geliştirici” sekmesinin “Kontroller” grubunda “Ekle” butonuna tıklayın.

düğme - Adım 3

Adım 4: “Form Kontrolleri” bölümünde “Düğme” seçeneğini seçin (genellikle sol üst köşede bulunur).

düğme - Adım 4

Adım 5: Çalışma sayfasına tıklayıp sürükleyerek düğmeyi oluşturun. Düğmenin boyutu daha sonra ayarlanabilir.

Adım 6: Açılan “Makro Ata” iletişim kutusunda, düğmeye yeni bir makro oluşturmak için “Yeni”yi seçin.

düğme - Adım 6

Adım 7: VBA editörü yeni bir alt rutin oluşturulmuş olarak açılacaktır. Bu alt rutinde düğmenin işlevselliği için kod yazabilirsiniz.

düğme - Adım 7

Adım 8: Düğmeye tıklandığında gerçekleştirilecek eylemleri tanımlamak için alt rutinin içine istediğiniz VBA kodunu yazın. Örneğin:

Sub Button1_Click()
'Kodunuzu buraya yazın
MsgBox “Butona tıklandı!”
End Sub

Adım 9: VBA düzenleyicisini kapatın ve üzerine tıklayarak düğmeyi test edin. Bu örnekte, düğmeye tıklandığında “Button clicked!” metnini gösteren bir mesaj kutusu görünecektir.

düğme - Adım 9

Dikkat Edilmesi Gereken Önemli Hususlar

  1. VBA CHR işlevi, sağlanan ASCII koduna dayalı bir karakter döndürür. Yalnızca 0 ila 255 arasındaki ASCII kodlarını destekler.
  2. VBA CHR kodları, VBA CHR fonksiyonunda bağımsız değişken olarak kullanılabilen ve bunları karşılık gelen karakterlere dönüştüren ASCII kodlarını temsil eden sayısal değerlere atıfta bulunur.
  3. VBA CHR Listesi, VBA CHR fonksiyonu kullanılarak oluşturulan karakter dizisini içeren bir dizedir.
  4. VBA CHR sekmesi, bir dizeye veya hücreye bir sekme karakteri eklemek için CHR işlevini kullanmayı ifade eder. ASCII kodu 9 ile temsil edilen sekme karakteri, bir metin içinde yatay boşluk veya girinti oluşturur.




Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...