我在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"))
答案 0 :(得分:10)
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强制执行。
那说我不确定为什么你正在做你正在做的事情。如果您的代码按预期工作,我建议您将其移至Code Review进行调整。我的意思是,使用这个数组的整个过程。我确信有更好,更好的方法来做到这一点。
答案 1 :(得分:1)
这是因为你只能在一行代码中使用这么多_。
尝试每行放2个,你应该好一会儿(取决于数组有多大)。可能要考虑将它们移动到隐藏的工作表并在循环中读取它们
myHeaders = Array(Array("Account_ID", "Account_ID"), Array("Claim_ID", "Claim_ID"), _
Array("Account_Name", "Account_Name"), Array("Claim_Type", "Claim_Type"), _
等
答案 2 :(得分:1)
我不确定你的方法,但你得到的Line Continuations错误不是数组的问题,而只是设置VBA的方式。
您可以在每行语句的行尾使用_
的最长次数,并且您已达到限制。
要继续添加到数组,只需删除一些延续 - 它看起来不漂亮,但会起作用,例如
Array("Claimant_Employee", "Claimant_Employee"), Array("Another", "Another"), Array("And Another", "And Another"), _