Hücrede bir dizim var, "İstemci Ref: F123456PassPlus" yazdığını varsayalım. Dize, sayılardan önce bir harf içermiyor olabilir, sayılarda bir sembol var ve harf ve sayılar arasında bir boşluk olabilir. Sadece sayıları değişken olarak almam gerekiyor. Bunu yapmak için kodum var, ancak dize boyunca ne zaman döngü yapılacağını bilmiyor. Bir sayı veya sembolden başka bir şey olduğunda durmalı, ancak yerine devam etmelidir. tanımları yok orada herhangi değişken harfler daha önce tanımlanmıştırExcel VBA, bir harf bulunana kadar bir sayı dizisiyle döngü
IsNumber = 1
ref = ""
If branch = "" Then
e = b
Else
e = b + 1
End If
f = 1
While IsNumber = 1
For intpos = 1 To 15
ref = Mid(x, e, f)
f = f + 1
Select Case Asc(ref)
Case 45 To 57
IsNumber = 1
Case Else
IsNumber = 0
Exit For
End Select
Next
IsNumber = 0
Wend
e kopyalama işlemini başlatmak ve x dizesini içeren hücredir kodu söyler. Şimdilik, her şey iyi çalışıyor, sayıdan başlıyor ve bunları kopyalar ve daha büyük ve daha büyük bir dizeye dönüştürür, ancak sadece intpos 15'e ulaştığı zaman duracaktır.
Alttan sonlandırmak istediğiniz her yerde, 'Exit Sub' öğesini ekleyin. – BruceWayne
Makroda bir harf olduğunda (ya da tercihen hemen önce) ne zaman olduğunu bilmek için makroya ihtiyacım var, o zaman kodumda 'Exit For' kullanılır. Yazdıklarımla, bunu yapması gerektiğini düşündüm ama görünüşe göre değil. –
Değerleri görmek için Asc (ref) debug.print mi oldunuz? – CPMunich