我可以这样做=(For i=1 to 100, print i)
有没有办法在没有使用VBA的情况下将FOR语句放入单元格?
答案 0 :(得分:1)
您可以使用数组来获取数字1到100,但是您可以使用它们进行限制。例如,你不能在数组公式(你的伪代码建议)中连接。但是你可以使用SUM,AVERAGE或许多其他操作。
{=SUM(ROW(1:100))}
{=AVERAGE(ROW(1:100))}
{=MAX(ROW(1:100))}
括号表示使用control + shift + enter进入,而不仅仅是输入。
答案 1 :(得分:0)
VBA对此并不感兴趣: - )
Option Explicit
Sub SimpleForLoop()
Dim i As Integer
For i = 1 To 100 Step 1
With ActiveWorkbook.Sheets(1).Cells(1, 1)
.Value = .Value + i
End With
Next
End Sub
上面的简单代码将值5050放在单元格A1中。
如果要连接字符串,请将此代码打到for循环中:
With ActiveWorkbook.Sheets(1).Cells(2, 1)
If .Value = "" Then
.Value = CStr(i)
Else
.Value = .Value & "," & CStr(i)
End If
End With
将以下内容打印到单元格A2中:
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 ,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49 ,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74 ,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100