我有一个大的列标题在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
则可以迭代Keys
和Values
;注意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"), _