我在以下单元格中有一些信息:H3,H4和H5。确切地说:H3包含字母 a ,H4包含 b ,H5包含 c 。现在我想把每个单元格的内容如下:
C11=a,C12=a,C13=a,C14=a,C15=a,C16=a.
C17=b,C18=b,C19=b,C20=b,C21=b,C22=b.
C23=b, C24=c,C25=c,C26=c,C27=c,C28=c.
可以观察到我们有6步。
我尝试过以下代码:
For s = 0 To 17
Cells(s + 11, 3).Value = Cells(CInt(3 + (s / 6)), 8)
Next
我的问题是,细胞没有以正确的方式填充,C26,C27,C28也是空的。
谢谢!
答案 0 :(得分:1)
像这样运行:
Public Sub TestMe()
Dim s As Long
For s = 0 To 17
Debug.Print Cells(s + 11, 3).Address
Debug.Print Cells(CInt(3 + (s / 6)), 8).Address
Cells(s + 11, 3).Value = Cells(CInt(3 + (s / 6)), 8)
Next s
End Sub
然后按 Ctrl + G 并在即时窗口中查看打印的地址。
答案 1 :(得分:1)
CInt
执行舍入而不是截断整数
你应该使用Int
For s = 0 To 17
Cells(s + 11, 3).Value = Cells(Int(3 + (s / 6)), 8)
Next
答案 2 :(得分:0)
如果没有VBA,您可以获得相同的结果。
在单元格C11中放入以下公式并向下复制以获得所需的结果
=INDEX($H$3:$H$5,CEILING(ROWS($C$11:C11)/6,1))