TC kimlik no üretme kodu VBA

Katılım
22 Kasım 2020
Mesajlar
10
Excel Vers. ve Dili
son sürüm.
Merhaba, hepinize sağlıklı günler dilerim.

Aşağıda belirttiğim kod işlevini yapıyor fakat B sütunundaki rakamları a1 sütununa yan yana yazdırırken kullandığım kod bir hayli uzun. alıştırma olsun diye vba ile böyle ufak alıştırmalar yapıyorum. aşağıda kalın olarak belirttiğim kod satırı yerine alternatif olacak önerilerini bekliyorum.

Kod:
Option Explicit

Sub random()
Dim x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, i As Integer

Range("b" & 1).Value = Int((9 - 1 + 1) * Rnd + 1) ''en küçük 1 en büyük 9 aralığında rastgele rakam üret
For i = 2 To 9

Range("b" & i).Value = Int((9 - 0 + 1) * Rnd + 0) ''en küçük 0 en büyük 9 aralığında rastgele rakam üret

Next

x1 = Range("b1").Value
x2 = Range("b2").Value
x3 = Range("b3").Value
x4 = Range("b4").Value
x5 = Range("b5").Value
x6 = Range("b6").Value
x7 = Range("b7").Value
x8 = Range("b8").Value
x9 = Range("b9").Value



Range("b10").Value = (((x1 + x3 + x5 + x7 + x9) * 7) - (x2 + x4 + x6 + x8)) Mod 10 ''Tc'no algoritması

Range("b11").Value = (x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10) Mod 10 ''Tc'no algoritması

Range("a1").Value = Range("b1").Value & Range("b2").Value & Range("b3").Value & Range("b4").Value & Range("b5").Value & Range("b6").Value & Range("b7").Value & Range("b8").Value & Range("b9").Value & Range("b10").Value & Range("b11").Value
End Sub


Range("a1").Value = Range("b1").Value & Range("b2").Value & Range("b3").Value & Range("b4").Value & Range("b5").Value & Range("b6").Value & Range("b7").Value & Range("b8").Value & Range("b9").Value & Range("b10").Value & Range("b11").Value
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
C++:
Range("A1")=""
For i=2 to 11
    Range("A1")=Range("A1") & Cells(1,i)
Next i
 
Katılım
22 Kasım 2020
Mesajlar
10
Excel Vers. ve Dili
son sürüm.
C++:
Range("A1")=""
For i=2 to 11
    Range("A1")=Range("A1") & Cells(1,i)
Next i
Maalesef hocam a1 hücresine tek bir rakam yazdırıyor. yapmak istediğim b1,b2,b3... hücrelerinde veriyi A1 hücresine yazdırmak. misal b1=1 b2=2 ise a1 hücresinin 12 olmasını istiyorum
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Range("A1")=""
For i=1 to 11
Range("A1")=Range("A1") &Range("B" & i)
Next i
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Alternatif;

C++:
    Range("A1") = Join(Application.Transpose(Range("B1:B11").Value), "")
.
 
Üst