#vb.net
#vb.net
Вопрос:
Мне нужно сделать счетчик строк в vb.net например, если в целых числах.
Логический пример:
$counter=A
loop
print $counter;
$counter =1;
endloop
вывод: A,B,C,D
Большое всем спасибо.
Комментарии:
1. Не могли бы вы, пожалуйста, отредактировать свой ответ и правильно объяснить, в чем заключается ваша проблема, что вы ожидаете, и что вы пробовали до сих пор, также рекомендуется показать несколько примеров кода того, что вы пробовали до сих пор
2. не могли бы вы сузить теги до вашего фактического языка программирования? Это
c#
,vb.net
илиvba
? В этом последнем случаеvisual-studio
тег не будет применяться ни3. Находится в vb.net но если вы знаете в c # или vba, я могу преобразовать для моей проблемы
Ответ №1:
в VBA
Sub main()
Dim strng As String
Dim counter As Long
strng = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Do While counter < Len(strng)
counter = counter 1
Debug.Print Mid(strng, counter, 1)
Loop
End Sub
конечно, вы можете добавить больше условий завершения в Do While counter < Len(strng)
Комментарии:
1. @RubenSIlva, ты справился с этим?
2. @RubenSilva, было бы неплохо, если бы ты давал правильные отзывы людям, пытающимся тебе помочь. Спасибо
Ответ №2:
Вы можете сделать это с char
типом, хотя это неудобно, вы можете выполнить итерацию int для этого.
Dim charNum As Integer = 65
Your loop start code
print Chr(charNum).ToString();
charNum =1
End loop
Комментарии:
1. Спасибо за ваш ответ.
2. Но он просто вернет букву, когда символ будет правильным числом. Итак, не сработает.
3. В вашем примере вы показываете, что хотите выводить каждую букву, так что это делает то, что вы просили]
4. Будьте осторожны,
chr(1)
возвращает символ пробела, ноchr(65)
возвращает символ A
Ответ №3:
Не стесняйтесь использовать метод, который вы хотите :
Const Letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim nbLettersToDispay As Integer = 5
For i = 0 To Math.Min(nbLettersToDispay, Letters.Length)
If i <> Math.Min(nbLettersToDispay, Letters.Length) Then
Debug.Print(Letters(i))
End If
Next i
В моем коде вам просто нужно будет изменить значение переменной nbLettersToDispay
, которая представляет количество отображаемых букв
Ответ №4:
Эта функция также будет хорошо работать>26
Dim i As Integer = 0
Do While i < 100
i = 1
Console.WriteLine(excelColumnToLetter(i))
Loop
Function excelColumnToLetter(ByVal iColumn As Integer)
Dim sLetters As String = ""
Dim iTemp As Integer = 0
Do While iColumn
iTemp = (iColumn Mod 26)
If iTemp = 0 Then iTemp = 26
sLetters = Chr(iTemp 64) amp; sLetters
iColumn = (iColumn - iTemp) / 26
Loop
Return sLetters
End Function