Excel vb 运行时总是提示:运行时错误‘13’,类型不匹配

提示这句错了: For i = "10909117 叶丽雅" To "12928214 王力航"

Sub 输入数据()
Sheet1.Range("A1").Value = "12928214 王力航"

For i = "10909117 叶丽雅" To "12928214 王力航"

t = "a" & i
Sheet1.Range(t).Value = i
Next i
End Sub

Sub 改变数据()
Dim i As Integer
Dim j As Integer
Dim b As String, t As String
j = 2
b = "b"
For i = "10909117 叶丽雅" To "12928214 王力航"
If i Mod 4 = 0 Then
j = j + 1
b = "b"
End If
t = "a" & i
b = Chr(Asc(b) + 1)
Sheet1.Range(b & j).Value = Sheet1.Range(t).Value
Next i
End Sub

For i = "10909117 叶丽雅" To "12928214 王力航",i作为循环变量,应该为一个数值才对,而你却给了它一个字符串,
你是想从 "10909117 叶丽雅" 单元格,循环到"12928214 王力航" 单元格吧,你可以这样,假如第一个单元格行号为10,第二个单元格行号为50,那你这样写,就可以了
For i=10 To 50追问

我改成行号了,但F2那有个空格,怎么样改能把空格去掉让后面的数据补上?

我就是想让原本竖着排列的数据变成横着排列,4个一行4个一行下来。


追答

你是想让横列转置呀,你先把数据复制一下,然后放到一个空白处,选择性粘贴中选择转置就可以了

追问

转制不行的 试过了。就帮我把怎么样让F2那个空格填补上去就好了

转制不行的 试过了。就帮我把怎么样让F2那个空格填补上去就好了

追答

你右键,选择删除,然后选择下方单元格上移,就可以了

追问

那样的话顺序就不对了。我想让excel竖着的一列数据横着排,一排4个

追答

好像明白你的意思了,是你想成为下面这个样子吗

1  2  3  4

5  6  7  8

9  10  11 12

13 14 15 16

...

这样的话,确实需要VBA了,我给你做一下吧,具体在附件里,你自己看吧

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-24
作为循环变量的i应该是整数。你用的是字符,所以是不正确的。
第2个回答  2015-10-13
Sub tess()
Dim a As Boolean
Dim b As Boolean
a = True
b = True
aa = 1
bb = 1
While a
If "10909117 叶丽雅" = Cells(aa, 1).Value Then
a = False
End If
aa = aa + 1
Wend
While b
If "12928214 王力航" = Cells(bb, 1).Value Then
b = False
End If
bb = bb + 1
Wend
For x = aa - 1 To bb - 1

Next
End Sub

没有做容错

For x = aa - 1 To bb - 1
即你那里面出错的 For i = "10909117 叶丽雅" To "12928214 王力航"本回答被网友采纳
第3个回答  2013-11-24
Sub tess()
Dim a As Boolean
Dim b As Boolean
a = True
b = True
aa = 1
bb = 1
While a
If "10909117 叶丽雅" = Cells(aa, 1).Value Then
a = False
End If
aa = aa + 1
Wend
While b
If "12928214 王力航" = Cells(bb, 1).Value Then
b = False
End If
bb = bb + 1
Wend
For x = aa - 1 To bb - 1

Next
End Sub

没有做容错

For x = aa - 1 To bb - 1
即你那里面出错的 For i = "10909117 叶丽雅" To "12928214 王力航"

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网