VBA Aşırı Akış Hatası - Çalıştırma Süresi Taşma Hatası 6 Nasıl Onarılır?

Excel VBA Aşırı Akış Hatası

Hatalar, herhangi bir kodlama dilinin bir parçasıdır, ancak bu hatanın neden geldiğini bulmak, röportajlarda sizi kalabalıktan ayıran şeydir. Hatalar, VBA kodlamasına garip değildir. Hatalar kasıtlı değildir, bu nedenle hatanın nedenini bulmayı zorlaştırır. VBA'da önceden tanımlanmış bazı hatalara sahibiz ve bunları bilmek, hatayı çok hızlı bir şekilde düzeltmenizi sağlar. Bu yazıda size RUN TIME ERROR 6: OverFlow hakkında bilgi vereceğiz. Hatayı, VBA taşma hatasının nedenlerini ve bunların nasıl düzeltileceğini öğrenmek için makalenin tamamını izleyin.

Çalışma Süresi Hatası 6: VBA'da Taşma Hatası nedir?

Değişkeni ilan ettiğimizde, onlara bir veri türü atarız. Her veri türünün artılarını ve eksilerini tamamen bilmeliyiz - işte burada Çalışma Süresi Hatası 6: Aşırı Akış resme giriyor. Veri tipini veri tipinin kapasitesinden daha fazla olan değer ile aşırı yüklediğimizde bu hatayı alacağız.

Örneğin: Değişkeni Byte olarak bildirirseniz.

Bayt Olarak Dim Numarası

Bayt veri tipi 0 ile 255 arası değerleri tutabilir. Şimdi değeri 240 olarak atayacağım.

Sayı = 240

Bu iyi çalışmalıdır çünkü atadığımız değer 255 Byte değerinin sınırından daha azdır. 255'ten fazla olan değeri atadığımız anda Run Time Error 6: OverFlow hatasına yol açar .

Bu, Çalıştırma Süresi Hatası 6: Aşırı Akış'a genel bir bakıştır. Bazı örnekleri detaylı olarak göreceğiz.

Çalışma Süresi Hatası 6 Örnekleri: VBA'da Aşırı Akış

Excel'deki bazı VBA OverFlow Hatası örneklerini görelim.

Örnek 1: Bayt Veri Tipinde Aşırı Akış Hatası

Söylediğim gibi, kullanacağımız VBA veri türünün artılarını ve eksilerini bilmek önemli. Örneğin, aşağıdaki koda bakın.

Kod:

Sub OverFlowError_Example1 () Dim Numarası As Byte Number = 256 MsgBox Number End Sub

"Number" değişkeni için değeri 256 olarak atadım. Bu kodu çalıştırdığımda aşağıdaki hatayı alacağız.

Bunun nedeni, Byte veri türünün 0 ile 255 arasındaki değerleri tutabilmesidir. Bu nedenle bir hataya neden olur. Hatayı düzeltmek için ya veri türünü değiştirmeliyiz ya da "Sayı" değişkenine atadığımız değeri düşürmeliyiz.

Örnek 2: Tamsayı Veri Türü ile VBA Aşırı Akış Hatası

VBA tamsayısı, -32768 ile 32767 arasındaki değerleri tutabilen bir veri türüdür. Örneğin, aşağıdaki koda bakın.

Kod:

Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 25656 MsgBox MyValue End Sub

Bu kodu çalıştırdığımda, mesaj kutusunda “MyValue” değişkeninin değerini alacağız, yani 25656.

Şimdi numarayı değişkene “45654” olarak yeniden atayacağım.

Kod:

Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 45654 MsgBox MyValue End Sub

Şimdi, kodu çalıştırmaya çalışırsam, bir hataya neden olur çünkü beyan ettiğimiz veri türü, pozitif sayılar için maksimum 32767 ve negatif sayılar için sınır -32768'dir.

Örnek 3: Uzun Veri Tipinde VBA Aşırı Akış Hatası

Uzun veri türü, Excel VBA'da en sık kullanılan veri türüdür. Bu, -2.147.483.648 ile 2.147.486.647 arasındaki değerleri tutabilir. Bunun üzerindeki herhangi bir şey bir hataya neden olur.

Kod:

Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = 5000 * 457 MsgBox MyValue End Sub

Bu bir taşma hatasına neden olacaktır.

Bu sorunu çözmek için VBA'da CLNG işlevini kullanmamız gerekiyor. Aşağıda bunun bir örneği var.

Kod:

Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = CLng (5000) * 457 MsgBox MyValue End Sub

Bu iyi çalışmalı.

Bu, Çalıştırma Süresi Hatası 6: Aşırı Akış'a genel bir bakıştır . Bu hatayı çözmek için veri türlerinin tamamen farkında olmamız gerekir. Öyleyse temellere geri dönün, temelleri doğru yapın, sonra her şey yerine oturacaktır.

Bu VBA Taşma Hatası Excel Şablonunu buradan indirebilirsiniz - VBA Taşma Hatası Excel Şablonu

Ilginç makaleler...