你能将Excel公式存储在数组中吗?我需要将公式粘贴到 I1 中,它们将是 =C4 到 =C350,然后每次迭代我都必须将 S1 复制到单元格中。例如,理想情况下将 =C4 从数组粘贴到 I1 中,然后将 S1 粘贴到 E1 中,然后在 I1 中获取下一个数组值 =C5,然后将 S1 复制到 E5 等。
Sub Macro_data_check()
Dim Econ() As Variant
Dim i As Long
Econ() = Range("C4:C350")
For i = 1 To 347
Range(Econ(0)).Select
Selection.Copy
Range("I1").Select
ActiveSheet.Paste
If Not s1 = 0 Then
Range("s1").Copy
Range("E4").PasteSpecial xlPasteValues
End If
Next i
这是我目前拥有的,但如果可能的话,我需要将 Econ 数组切换为单元格值。然后将其复制到 I1 中,并将 S1 复制到 E4 或从关联的 C 值复制一遍。
很难真正遵循你想做的事情,但也许是这样的:
Sub Macro_data_check()
Dim c As Range, ws As Worksheet, v
Set ws = ActiveSheet
For Each c In ws.Range("C4:C350").Cells
ws.Range("I1").Formula = c.Formula 'copy over formula
v = ws.Range("S1").Value 'check S1 value
If v <> 0 Then
c.Offset(0, 2).Value = v 'copy if non-zero
Else
'what if v=0 ?
End If
Next c