EXCEL VBA'DA CSTR FONKSİYONU

 

VBA CSTR, VBA'da herhangi bir değeri dize verisine dönüştürmek için bir veri türü dönüştürme işlevidir. CSTR, "Dizeye Dönüştür (STR)" anlamına gelir.


Örneğin, değişken değeri tam sayı veya uzunsa, onu String veri türüne dönüştürmek için VBA CSTR işlevini kullanabiliriz. Örneğin, “543” CSTR kullanılarak String'e dönüştürülebilen bir sayıdır; benzer şekilde, “15-05-2023” VBA CSTR işlevi kullanılarak String'e dönüştürülebilir.

Örneğin, aşağıdaki VBA koduna bakın. Kodun ilk satırındaki değişken “V1” veri türü “Date”dir. Sonra, “V1” değişkenine “2023-05-01” tarih değerini atadık. Sonra, “CSTR” fonksiyonunu kullanarak tarihi String'e dönüştürüp görüntülüyoruz.

Kod:

Sub CSTR_Intro()
Dim V1 As Date
V1 = “2023-05-01”
MsgBox CStr(V1)
End Sub


ÖNEMLİ NOKTALAR

  • VBA CSTR, herhangi bir veri türünü dize veri türüne dönüştüren bir fonksiyondur. Örneğin, "x" değişkeninin tam sayı değeri 10 ise, VBA CSTR fonksiyonunu kullanabilir ve bunu dize değerine dönüştürebiliriz.
  • CSTR fonksiyonu Integer, Boolean ve Date veri tiplerini string veri tiplerine dönüştürür.
  • VBA CSTR bir VBA fonksiyonudur. Ayrıca Boolean değerleri TRUE ve FALSE'ı dize değerlerine dönüştürür.

EXCEL VBA'da CSTR Fonksiyonu Ne İşe Yarar?

VBA ile çalışırken birden fazla veri türü elde edebilir ve bir veri türünü diğerine dönüştürmemiz gerekebilir. Bu nedenle, VBA'nın birçok veri türü dönüştürme işlevi vardır ve CSTR bunlardan biridir.

VBA CSTR fonksiyonu, fonksiyona girilen değeri, bir dize veri türüne dönüştürür ve bu, bir dize veri değerinin gerektiği her yerde diğer işlemlere aktarılabilir.


VBA CSTR Sözdizimi

Aşağıda Excel VBA CSTR fonksiyonunun sözdizimi gösterilmektedir.

CStr(İfade) Dize Olarak

VBA CSTR işlevi için sözdizimi yalnızca bir argümana sahiptir ve bu zorunludur. Dize veri türüne dönüştürmek istediğimiz değeri sağlamalıyız.

Bu argümana giriş doğrudan veya değişken bir değer veya bir hücre başvurusu olabilir . CSTR kullanılarak dönüştürülen standart veri türü değerleri Integer, Boolean ve Date veri türü değerleridir.


VBA CSTR Fonksiyonu Nasıl Kullanılır?

VBA CSTR işlevini kullanmanın kısa bir örneğini gösterelim. Örneğin, Excel hücresinde bulunan şu değere bakın. A2 hücresinde bir tarih değerimiz var. Bunu aşağıda gösterildiği gibi bir dizeye dönüştürelim.

VBA CSTR - Kullanım - Veri

Adım 1: Makroyu Visual Basic düzenleyici penceresinde adlandırarak alt prosedürü başlatın.

VBA CSTR - Kullanım - Adım 1

Adım 2: İlk olarak, A2 hücresindeki değerin veri türünü test edelim. Bunun için VBA TYPENAME fonksiyonunu kullanın.

VBA CSTR - Kullanım - Adım 2

Adım 3: Şimdi A2 hücre değeri y'yi RANGE nesnesini ve Range nesnesinin value özelliğini kullanarak aşağıdaki gibi sağlayalım.

VBA CSTR - Kullanım - Adım 3

Adım 4: Bu fonksiyonun sonucunu görmek için onu MSGBOX ile sarın.

VBA CSTR - Kullanım - Adım 4

Adım 5: Şimdi F5 tuşuna basarak kodu yürütün. Aşağıdaki sonucu elde edeceğiz.

VBA CSTR - Kullanım - Adım 5

A2 hücresindeki değer bir tarih olduğundan, TYPENAME işlevi veri türünü “Date” olarak döndürdü. Şimdi bunu bir dize veri türüne dönüştürelim.

Adım 6: A2 hücresinin değerini depolamak için bir değişken tanımlayın. A2 hücresindeki değer bir tarihtir; bu nedenle veri türünü "tarih" olarak atadık.

Kullanım - Adım 6

Adım 7: İlk değişkene atanan değeri dönüştürmek için başka bir değişken tanımlayın, yani MyValue.

Kullanım - Adım 7

Adım 8: İlk değişken olan “MyValue” için aralık nesnesini kullanarak A2 hücresinin değerini aşağıdaki gibi atayın.

Kullanım - Adım 8

Adım 9: Sonra, ikinci değişken olan “MyConvertedValue” için, dönüştürülmüş dize değerini atamalıyız. Bu yüzden, CSTR işlevine girin.

Kullanım - Adım 9

Adım 10: Argüman için, A2 hücresinin atanmış değerine sahip ilk değişken MyValue'yu girin.

VBA CSTR - Kullanım - Adım 10

Adım 11: Şimdi TYPENAME fonksiyonunu kullanarak A2 hücresindeki değerin yeni veri türünü kontrol edelim.

Kod:

Sub CSTR_Example()

Dim MyValue As Date
Dim MyConvertedValue As String

MyValue = Range(“A2”).Value

MyConvertedValue = CStr(MyValue)

MsgBox TypeName(MyConvertedValue)

End Sub

Kodu çalıştırdığımızda bir mesaj kutusunda aşağıdaki sonucu alacağız.

VBA CSTR - Kullanım - Adım 11 - Çıktı

Artık A2 hücresinin veri türü tarih türünden string türüne dönüştürülmüş oldu.

Örnekler

Örnek 1: Tamsayı Değerini Dizeye Dönüştür

Örneğin aşağıdaki koda bakın.

Örnek 1

Bölüm 1: İlk olarak, “Value_1” değişkenini tanımladık ve ona “integer” veri türünü atadık. Bu, tanımlanan değişkenin yalnızca tam sayı değerlerini tutabileceği anlamına gelir.

Bölüm 2: Şimdi Bölüm 1'de tanımlanan değişkene tam sayı değerini atadık.

Bölüm 3:

  • Value_1 değişkeninin veri türünü kontrol etmek için VBA “TypeName” fonksiyonunu kullanıyoruz ve sonucu bir mesaj kutusunda gösteriyoruz.
  • Kısayol tuşu “F5”e basarak kodu çalıştırdığımızda, bir mesaj kutusunda aşağıdaki sonucu göreceğiz.
VBA CSTR - Örnek 1 - bölüm 3

Değişkene atanan veri tam sayı olduğundan, “TypeName” veri türü fonksiyonu veri türünü “Integer” olarak gösterir.

Ancak bunu CSTR fonksiyonunu kullanarak bir dize veri türüne değiştirebiliriz. Değeri Dize veri türüne dönüştürmek için VBA CSTR fonksiyonunu kullanın.

Kod:

Sub CSTR_Example1()
Dim Value_1 As Integer
Value_1 = 500
MsgBox TypeName(CStr(Value_1))
End Sub

TypeName fonksiyonunun içerisinde, “Value_1” değişkenini String veri türüne dönüştürecek olan VBA CSTR fonksiyonunu kullandık.

Kodu F5 tuşuna basarak çalıştırdığımızda mesaj kutusunda veri tipinin “String” olduğunu göreceğiz.

VBA CSTR - Örnek 1 - Çıktı

Bu şekilde VBA CSTR fonksiyonunu kullanarak herhangi bir veri tipini String veri tipine dönüştürebiliriz.

Örnek 2: Tarih Veri Türünü Dize Veri Türüne Dönüştürme

 VBA'da bulunan veri türlerinden biri olan tarihlerle sıklıkla çalışırız. Örneğin, aşağıdaki VBA koduna bakın.

Kod:

Sub CSTR_Example2()
Dim MyDate As Date
MyDate = “2023-05-06”
MsgBox MyDate
End Sub

“MyDate” değişkeninin veri tipi “Date” olup, aşağıdaki satırda bu değişkene tarih değerini atadık, yani MyDate = “2023-05-06.”

Şimdi mesaj kutusunda, “MyDate” değişkenine atanan değeri gösteriyoruz. Aşağıdaki sonucu alıyoruz.

VBA CSTR - Örnek 2 - Çıktı (Tarih)

Şu anda, ileti kutusunda gösterilen değer bir tarih veri türüdür. Ancak, VBA CSTR'yi kullanarak tarih veri türünü Dize veri türüne dönüştürebiliriz.

Aşağıdaki kod CSTR dönüştürme fonksiyonunu kullanarak tarih veri türündeki değeri String veri türüne dönüştürecektir.

Kod:

Sub CSTR_Example2()
Dim MyDate As Date
MyDate = “2023-05-06”
Dim Converted_Date As String
Converted_Date = CStr(MyDate)
MsgBox Converted_Date
End Sub

Önceki kodla karşılaştırıldığında, dize veri türüyle ek bir değişken, “Converted_Date” tanımladık. Sonra, ilk değişken değerini tarihten Dizeye dönüştürmek için VBA CSTR işlevini kullandık.

Şimdi mesaj kutusunda aşağıdaki değeri göreceğiz.

VBA CSTR - Örnek 2 - Çıktı (Tarih)

Mesaj kutusundaki değer bir öncekine benzer, ancak bu değer VBA CSTR dönüştürme fonksiyonu nedeniyle tarihten dizeye dönüştürülmüştür.

VBA CSTR Format Date: Mesaj kutusunda görülen tarih değerinin sonucu, sisteminize bağlı bir tarih biçimidir. Örneğin, yukarıdaki mesaj kutusunda gösterilen tarih sonucu "gg-aa-yyyy" biçimindedir. Ancak, bunu VBA CSTR FORMAT Date kullanarak herhangi bir tarih biçimine dönüştürebiliriz.

Aşağıdaki kod , excel'deki tarih veri tipini belirtilen tarih formatı ile birlikte string veri tipine dönüştürecektir .

Kod:

Sub CSTR_Example2()
Dim MyDate As Date
MyDate = “2023-05-06”
Dim Converted_Date As String
Converted_Date = CStr(Format(MyDate, “yyyy-mmm-dd”))
MsgBox Converted_Date
End Sub

VBA CSTR fonksiyonunun içinde, tarihi “yyyy-aaa-gg” olarak biçimlendirmek için VBA FORMAT fonksiyonunu kullandık.

Şimdi sonuç şöyle görünüyor.

VBA CSTR - Örnek 2 - Çıktı (yy-aa-gg)

Örnek 3: VBA CSTR Boole Değeri

Genellikle, Boole değerleri yalnızca TRUE ve FALSE içerir. Bu nedenle, bu iki değer Boole veri türleri olarak ele alınır. Ancak, VBA CSTR işlevini kullanarak Boole değerini bir dize veri türüne dönüştürebiliriz.

Örneğin aşağıdaki koda bakın.

Sub CSTR_Example3()
Dim B1_Value As Boolean
Dim B2_Value As Boolean
B1_Value = True
B2_Value = False
MsgBox B1_Value & vbNewLine & B2_Value
End Sub

“B1_Value” ve “B2_Value” adlı iki değişkenin veri türü “Boolean”dır ve bu değişkenlere sırasıyla “True” ve “False” olmak üzere iki Boolean değeri atanır.

İleti kutusunda, atanan Boolean değerlerini aşağıdaki gibi gösteriyoruz.

VBA CSTR - Örnek 3 - Çıktı

Şimdi bunları VBA CSTR fonksiyonunu aşağıdaki gibi uygulayarak string'e dönüştürebiliriz.

Sub CSTR_Example3()
Dim B1_Value As Boolean
Dim B2_Value As Boolean
B1_Value = True
B2_Value = False
MsgBox CStr(B1_Value) & vbNewLine & CStr(B2_Value)
End Sub

Mesaj kutusunda gösterilen sonuç aynı kalır, yani TRUE ve FALSE, ancak bu iki değerin veri türü artık VBA CSTR fonksiyonu tarafından String veri türüne dönüştürülmesi nedeniyle Boolean olmayacaktır.

Dikkat Edilmesi Gereken Önemli Noktalar

  • VBA CSTR yalnızca VBA'da bulunan bir fonksiyondur. Çalışma sayfası fonksiyon kütüphanesinin bir parçası değildir.
  • VBA CSTR fonksiyonunun döndürdüğü değeri başka bir değişkene atamalıyız; aksi takdirde hata verecektir.
  • Karışıklık ve hataları önlemek için VBA CSTR Dizisi dikkatli kullanılmalıdır.
  • Dize veri türü değişkenine atanan herhangi bir sayısal değer yalnızca bir dize değeri olarak ele alınacaktır.

1. VBA’da Str ve CSTR arasındaki fark nedir?

Str, VBA'da String anlamına gelir. String, özellikle metin olmak üzere gereksinimlerimize göre herhangi bir değere atanan bir veri türüdür.
CSTR, VBA'da bir veri türündeki değeri stringe dönüştürmek için kullanılabilen bir veri türü dönüştürme işlevidir.
Örneğin, aşağıdaki koda bakın.

Sub CSTR_FAQ1()
Dim Variable_1 As String
Variable_1 = “Excel VBA”
End Sub


Variable “Variable_1”, “String” veri türündedir ve ona “Excel VBA” dize değerini atadık.
Benzer şekilde, aşağıdaki koda bakın.

Sub CSTR_FAQ1()
    Dim Variable_1 As Date
    Variable_1 = “2023-06-15”
    MsgBox CStr(Variable_1)
End Sub

Bu durumda, “Variable_1”, “Date” veri türündedir ve VBA CSTR işlevini kullanarak onu String'e dönüştürdük.

2. VBA CSTR neden çalışmıyor?

CSTR fonksiyonundan dönen değeri her zaman String veri tipinde tanımlanmış bir değişkene atamamız veya depolamamız gerekir; aksi takdirde hata alırız.

Yorum Gönder

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