Vba 在单元格中打印字母,数组循环
我想让第一行的单元格编号为A,B,C 我在这个语句周围有红色的语法,这意味着语法是错误的 代码:Vba 在单元格中打印字母,数组循环,vba,excel,Vba,Excel,我想让第一行的单元格编号为A,B,C 我在这个语句周围有红色的语法,这意味着语法是错误的 代码: 如果我能做到这一点,我希望能够让用户输入一个变量“shift”,该变量对字母应用凯撒式移位,因此X是第一列,而不是a(shift=23)。在VBA中,字符串是一种基本数据类型,它没有任何方法(因此不能这样做:“ABC”.tochararray()) 完成任务的最简单方法是使用常规的来。。。下一步循环和函数Mid: Sub printLetters() Const ALPHABET As St
如果我能做到这一点,我希望能够让用户输入一个变量“shift”,该变量对字母应用凯撒式移位,因此X是第一列,而不是a(shift=23)。在VBA中,字符串是一种基本数据类型,它没有任何方法(因此不能这样做:
“ABC”.tochararray()
)
完成任务的最简单方法是使用常规的来。。。下一步
循环和函数Mid:
Sub printLetters()
Const ALPHABET As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim i As Integer
For i = 1 To VBA.Len(ALPHABET)
Cells(1, i).Value = VBA.Mid(ALPHABET, i, 1)
Next i
End Sub
为了好玩,这里有一行:
Range("A1:Z1").Value = Split(StrConv("ABCDEFGHIJKLMNOPQRSTUVWXYZ", vbUnicode), vbNullChar)
您可以很容易地为字母表的任何排列重写它。每个的
语法都是错误的。对于集合\u name
中的每个变量\u name下一个变量\u name,您都需要此。您忘记了每个之后的变量。(请参阅)为什么字母表的Const
而不是dim
?@Sifu,因为它不应该在这个函数中更改。我喜欢有点长,但总体上更简洁,将使用。
Range("A1:Z1").Value = Split(StrConv("ABCDEFGHIJKLMNOPQRSTUVWXYZ", vbUnicode), vbNullChar)