bir textboxda hem rakam hem metin olursa

bilisim2010

Altın Üye
Katılım
2 Nisan 2011
Mesajlar
162
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
17-12-2025
merhaba aşağıdaki kod ile (10001 sayısını eğer aynısı varsa +1 artırıp yeni aldığı 10002 sayının sayfasını oluşturuyorum) ancak bu sayının içinde AF10001 de olacak yani AF de olması gerekiyor hal böyle olunca ne artırıyor ne yeni sayfa açıyor hata veriyor bu koda ne yapmamız gerekiyor?

mevcutNo = CLng(Me.TextBox1048.Value)
yeniNo = mevcutNo

Do
mevcutMu = False
For Each ws In ThisWorkbook.Sheets
If ws.Name = CStr(yeniNo) Then
mevcutMu = True
Exit For
End If
Next ws
If mevcutMu Then yeniNo = yeniNo + 1
Loop While mevcutMu

Me.TextBox1048.Value = yeniNo

Sayfa15.Copy After:=Sheets(Worksheets.Count)
ActiveSheet.Name = TextBox1048.Value
MsgBox "İşlem Tamamlandı...", vbInformation
 

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
610
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
Eğer rakamlar hep 6 haneli ise; bu kod işinizi görebilir.

Kod:
If mevcutMu Then yeniNo = Right(yeniNo,6) + 1
 

bilisim2010

Altın Üye
Katılım
2 Nisan 2011
Mesajlar
162
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
17-12-2025
böyle yapıyorum ilk sayfayı oluşturuyor ama 2. de ActiveSheet.Name = TextBox1041.Value + TextBox1048.Value burda hata veriyor TextBox1041.Value yazan textboxa AF çektiriyorum initialize ile


mevcutNo = CLng(Me.TextBox1048.Value)
yeniNo = mevcutNo

' Numara mevcutsa +1 artırarak benzersiz hale getir
Do
mevcutMu = False
For Each ws In ThisWorkbook.Sheets
If ws.Name = CStr(yeniNo) Then
mevcutMu = True
Exit For
End If

Next ws

If mevcutMu Then yeniNo = Right(yeniNo, 6) + 1
Loop While mevcutMu

' Benzersiz numarayı TextBox'a yaz
Me.TextBox1048.Value = yeniNo

Sayfa15.Copy After:=Sheets(Worksheets.Count)
ActiveSheet.Name = TextBox1041.Value + TextBox1048.Value
MsgBox "İşlem Tamamlandı...", vbInformation
 

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
610
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
Clng yi yeniNo da deneyin birde.
Kod:
If mevcutMu Then yeniNo = Clng(Right(yeniNo, 6)) + 1
 

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
466
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Yalnız sayı 5 haneli, verilen koddaki 6 yerine 5 yazıp dener misiniz?
 

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
466
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Seri sabit ise bir de şunu dener misiniz?

Kod:
If mevcutMu Then yeniNo = Val(WorksheetFunction.Substitute(yeniNo, "AF", "")) +1
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,296
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Aşağıdaki satırı silin
Kod:
If mevcutMu Then yeniNo = yeniNo + 1
yerine aşağıdakini kopyalayın.
Kod:
If mevcutMu Then yeniNo =Rakam( yeniNo) + 1
Aşağıdaki kodu herhangi bir yere kopyalayın.
Kod:
Function Rakam(Metin As String) As Long
    Dim Bak As Integer
    For Bak = 1 To Len(Metin)
        If IsNumeric(Mid(Metin, Bak, 1)) Then
            Rakam = Rakam & Mid(Metin, Bak, 1)
        End If
    Next
End Function
 

bilisim2010

Altın Üye
Katılım
2 Nisan 2011
Mesajlar
162
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
17-12-2025
Merhaba.

Aşağıdaki satırı silin
Kod:
If mevcutMu Then yeniNo = yeniNo + 1
yerine aşağıdakini kopyalayın.
Kod:
If mevcutMu Then yeniNo =Rakam( yeniNo) + 1
Aşağıdaki kodu herhangi bir yere kopyalayın.
Kod:
Function Rakam(Metin As String) As Long
    Dim Bak As Integer
    For Bak = 1 To Len(Metin)
        If IsNumeric(Mid(Metin, Bak, 1)) Then
            Rakam = Rakam & Mid(Metin, Bak, 1)
        End If
    Next
End Function
böyle bir hata verdi muzaffer bey
 

Ekli dosyalar

bilisim2010

Altın Üye
Katılım
2 Nisan 2011
Mesajlar
162
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
17-12-2025
açacağı sayfa kodu bu eğer anlatımımda eksiklik varsa resimli olarakda görün istedim AF10001 bunu açıcak sayfa olarak ve eğer varsa AF10002 yi açıcak istediğim bu AF hiç değişmiyor sabit
 

Ekli dosyalar

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
466
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
aynı hocam aynı hatayı veriyor
Hata veren satırda textbox içeriğini Longa çevirmeye çalışıyorsunuz. Hatayı da o satırda vermiş zaten. Bence problem sayfa numarası oluşturmaktan ziyade algoritmanızda. Satır satır akışı tekrar kontrol etmenizi tavsiye ederim.
 

bilisim2010

Altın Üye
Katılım
2 Nisan 2011
Mesajlar
162
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
17-12-2025
Hata veren satırda textbox içeriğini Longa çevirmeye çalışıyorsunuz. Hatayı da o satırda vermiş zaten. Bence problem sayfa numarası oluşturmaktan ziyade algoritmanızda. Satır satır akışı tekrar kontrol etmenizi tavsiye ederim.
tamam ondan vazgeçtim şöyle deniyorum mesela 2 textbox oluşturdum resimde gördüğünüz gibi AF yi birine sadece rakam olanı birine yazdım kaydedince AF100001 i oluşturuyor sayfa olarak ama AF100002 yi oluşturamıyor burada bir değişken gerekiyor sanırım üstteki kod +1 sayacı oluşturuyor ama AF yi döndüremiyor sanırım
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,296
Excel Vers. ve Dili
2019 Türkçe
böyle bir hata verdi muzaffer bey
If mevcutMu Then yeniNo =Rakam( yeniNo) + 1
"AF100001" hangi değişkene atadıysanız onu parantez içindeki yeniNo yerine yazacaksınız.
Örneğin TextBox2'de "AF100001" yazıyorsa aşağıdaki gibi olmalı.
If mevcutMu Then yeniNo =Rakam( TextBox2) + 1
yada şöyle de olur
If mevcutMu Then yeniNo =Rakam("AF100001") + 1
 

bilisim2010

Altın Üye
Katılım
2 Nisan 2011
Mesajlar
162
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
17-12-2025
If mevcutMu Then yeniNo =Rakam( yeniNo) + 1
"AF100001" hangi değişkene atadıysanız onu parantez içindeki yeniNo yerine yazacaksınız.
Örneğin TextBox2'de "AF100001" yazıyorsa aşağıdaki gibi olmalı.
If mevcutMu Then yeniNo =Rakam( TextBox2) + 1
yada şöyle de olur
If mevcutMu Then yeniNo =Rakam("AF100001") + 1
muzaffer bey yine aynı hatayı veriyor textbox1048 e AF100001 i userform initialize ile çekiyorum sayfadan ondanmı oluyor acaba

textbox1041 olayayla kafanız karışmasın o benim kendi farklı bir yöntemimdi oda işe yarıyor ama 1 kez açıyor sayfayı olay +1 e dayanınca hata veriyor. 2. yi açmıyor yani.
textbox1041 e AF yazıyorum textbox1048 e de 100001 yazıyorum sayfayı 1 defaya mahsus AF100001 olarak oluşturuyor ama saydırma yapmıyor yani sayfa mevcutsa AF100002 olarak aç olayını yapmıyor.
 

Ekli dosyalar

bilisim2010

Altın Üye
Katılım
2 Nisan 2011
Mesajlar
162
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
17-12-2025
bu şekilde yapınca AF10001 olarak açıyor ilk sayfayı sonra tekrar kaydedince resimdeki hatayı veriyor

255798
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,296
Excel Vers. ve Dili
2019 Türkçe
Dosyanızı paylaşın yapalım. Başka hatalarda var.
 

bilisim2010

Altın Üye
Katılım
2 Nisan 2011
Mesajlar
162
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
17-12-2025
hocam yapay zeka sorunumu giderdi artık yapay zekaya yola devam herşey için teşekkürler herkese iyi çalışmalar dilerim
 
Üst