Excel/VBA太多的行延续



我有一个大的列标题在excel/vba数组当我超过24行时,它说有太多的行延续。我真的需要其余的列标题,因为代码必须寻找我需要的每一个列标题。有什么建议吗?

myHeaders = Array(Array("Account_ID", "Account_ID"), _
Array("Claim_ID", "Claim_ID"), _
Array("Account_Name", "Account_Name"), _
Array("Claim_Type", "Claim_Type"), _
Array("Coverage", "Coverage"), _
Array("Claim_Level", "Claim_Level"), _
Array("Claim_Count", "Claim_Count"), _
Array("File_Date", "File_Date"), _
Array("File_Year", "File_Year"), _
Array("Resolution_Date", "Resolution_Date"), _
Array("Resolution_Year", "Resolution_Year"), _
Array("Claim_Status", "Claim_Status"), _
Array("Indemnity_Paid", "Indemnity_Paid"), _
Array("Disease_Category", "Disease_Category"), _
Array("State_Filed", "State_Filed"), _
Array("First_Exposure_Date", "First_Exposure_Date"), _
Array("Last_Exposure_Date", "Last_Exposure_Date"), _
Array("Claimant_Employee", "Claimant_Employee"), _
Array("Next", "Next"))

Clippy弹出

  • 看起来你需要一个Scripting.Dictionary。您想要引用Microsoft Scripting Runtime库吗?

这样你就可以把它放在你想要的任意多行上,并保持可读性,而不需要任何行延续:

Dim headings As New Scripting.Dictionary
With headings
    .Add "Account_ID", "Account_ID"
    .Add "Claim_ID", "Claim_ID"
    .Add "Account_Name", "Account_Name"
    '...
    '...
    '...
    .Add "Next", "Next"
End With

则可以迭代KeysValues;注意Keys必须是唯一的,但是如果你的列标题是实际的表标题他们的唯一性已经被Excel强制执行了。

那就是说,我不确定我理解为什么你在做你正在做的事情。如果您的代码按预期工作,我建议您将其交给代码审查进行调整。我的意思是,整个消耗这个数组的过程。我相信一定有更好的办法

这是因为一行代码中只能使用这么多_。

试着每行放2,你应该会好一会儿(取决于数组有多大)。可以考虑将它们移动到一个隐藏的工作表中,并在循环中读取它们

myHeaders = Array(Array("Account_ID", "Account_ID"), Array("Claim_ID", "Claim_ID"), _
Array("Account_Name", "Account_Name"), Array("Claim_Type", "Claim_Type"), _

我不确定你的方法,但是你得到的行延续错误不是数组的问题,而是VBA设置的方式。

对于每个语句,您可以在行尾使用_的最大次数,并且您已经达到了限制。

要继续添加数组,只需删除一些延续-它看起来不那么漂亮,但可以工作,例如

Array("Claimant_Employee", "Claimant_Employee"), Array("Another", "Another"), Array("And Another", "And Another"), _

最新更新