首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储公式的数组

存储公式的数组
EN

Stack Overflow用户
提问于 2020-09-22 03:47:52
回答 1查看 75关注 0票数 0

我有一个过滤数据的代码,存储在一个数组中,并将其粘贴到另一个工作表中。为什么我的数组粘贴公式并留下空值?我存储在数组中的值是公式,但我想粘贴这些值。

它应该存储这些值:

粘贴它们,而不是粘贴四个单元格的公式。公式为=O10,为空,依此类推。

代码语言:javascript
复制
.Range("$A7:$AJ7").AutoFilter field:=35, Criteria1:="<>", Criteria2:="<>0", Criteria2:="<>-0"
    saLastRow = .Range("AI" & .Rows.Count).End(xlUp).Row

    Set sFiltered = Worksheets("BusinessDetails").Range("AI8:AI" & saLastRow).SpecialCells(xlCellTypeVisible) 'SA


    ReDim Arr(1 To sFiltered.Areas.Count)
    I = 0
    For Each V In sFiltered.Areas
        I = I + 1
        Arr(I) = V
        'Debug.Print I
   Next V
      
      sFiltered.Copy Sheets("Step 4 CM").Range("S10")

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-22 21:02:32

复制数据不需要使用数组中介,我也不会使用sFiltered范围。一个直接的拷贝和PasteSpecial就是你所需要的。例如:

代码语言:javascript
复制
Sub TestFilteredRangeCopy()
    With ThisWorkbook.Worksheets("Sheet1")
        Dim rTable As Range: Set rTable = .Range("C3:D11")
        
        rTable.Columns(2).SpecialCells(xlCellTypeVisible).Copy
        
        .Range("C13").PasteSpecial xlPasteFormulas
        .Range("D13").PasteSpecial xlValues
    End With
End Sub

如果你确实想要加载一个数组,那么下面这样的代码将会起作用:

代码语言:javascript
复制
Sub TestFilteredRangeCopy()
    With ThisWorkbook.Worksheets("Sheet1")
        Dim rTable As Range: Set rTable = .Range("C3:D11")
        Dim v As Range, i As Long: i = 1
        Dim arr() As Variant
        
        If rTable.Columns(2).SpecialCells(xlCellTypeVisible).Cells.Count > 0 Then
            ReDim arr(1 To rTable.Columns(2).SpecialCells(xlCellTypeVisible).Cells.Count)
            For Each v In rTable.Columns(2).SpecialCells(xlCellTypeVisible)
                arr(i) = v.Formula  ' .Value
                i = i + 1
            Next v
            .Range("C13").Resize(UBound(arr) - LBound(arr) + 1, 1) = WorksheetFunction.Transpose(arr)
        End If
    End With
End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63999049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档