繁体   English   中英

为什么我在这个数组的 VBA 脚本上出现不匹配错误?

[英]why am I getting a mismatch error on this VBA Script for an array?

数组相当新(我试图加快当前使用范围的缓慢工作簿)

假设我从这样的表格开始(位于工作表上的“A1:B5”范围内)

在此处输入图像描述

并且我试图将其过滤为仅完好无损(这是我尝试做的事情的简化版本),为什么我得到一个类型不匹配并且我的输出数组突出显示?

Public Sub Manager_Report()
 
 'Declare Variables
 
 Dim main_array As Variant Dim output_array As Variant
 
 'Populate Main Array
 
 main_array = range("A1").CurrentRegion
 
 'Filter the Array for intact 
  output_array = Filter(main_array, "Intact")
 
End Sub
Option Explicit
Option Base 1
Sub OutputFilterArray()
    
    Dim INarray
    Dim OutArray
    Dim OutArrayFinal
    Dim I As Long
    Dim CNT As Long
    Dim N As Integer
    
    INarray = Range("A3:d" & Range("d" & Rows.Count).End(xlUp).Row).Value
    CNT = 1
    
    ReDim OutArray(UBound(INarray, 1), UBound(INarray, 2))
    For I = 1 To UBound(INarray, 1)
        If INarray(I, 1) = "Intact" Then
            For N = 1 To UBound(INarray, 2)
                OutArray(CNT, N) = INarray(I, N)
            Next N
            CNT = CNT + 1
        End If
    Next I
    
    Range("F3").Resize(UBound(OutArray, 1), UBound(OutArray, 2)) = OutArray
    
End Sub

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM