KART SİSTEMİ

Katılım
17 Ocak 2006
Mesajlar
241
Excel Vers. ve Dili
excel xp türkçe
Merhaba arkadaşlar

Ben visual basicde yaptığımda otomatik olarak 16 haneli kart numaralarını birer birer artıracak kodda takıldım ama


normalde
text1=text1+1 denildiğinde problem yokkk

ama değer="1234-5678-9012-3456" olunca

hata veriyor...

aradaki tireler yüzünden kod içinde format uyguladım hata değimedi...

uyguladığım format:
text1=format(text1+1,"0000-0000-0000-0000")

allaha aşkına bunun neresinde hata var...

bu konuda bilgisi olana arkadaşlarda yardım bekliyorum...


iyi günler
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Sorun aşağıdaki linkteki soruna benzer bir sorun,
http://www.excel.web.tr/viewtopic.php?t=16381

String olarak bir fonksiyon kullanılarak bir çözüm ürettim, belki daha kolay bir yolu da vardır.
[vb:1:ea1deae753]Sub dene()
Dim data As String
data = "1234-1234-9999-9989"
MsgBox artir(data)
End Sub

Function artir(data As String) As String
Dim d(16) As Integer
data = Replace(data, "-", "")

For x = 16 To 1 Step -1
d(17 - x) = Val(Mid(data, x, 1))
Next x

d(1) = d(1) + 1

For x = 1 To 16
If d(x) > 9 Then
d(x) = 0
d(x + 1) = d(x + 1) + 1
End If
yeni = d(x) & yeni
Next x
artir = Format(yeni, "0000-0000-0000-0000")

End Function[/vb:1:ea1deae753]
 
Üst