VBA 在数组中存储公式

问题描述 投票:0回答:1

你能将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 值复制一遍。

arrays excel vba
1个回答
0
投票

很难真正遵循你想做的事情,但也许是这样的:

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
© www.soinside.com 2019 - 2024. All rights reserved.