2015-06-01 50 views
2

我在excel/vba中有大量的列標題 當我超過24行時,它說太多的線延續。 我真的需要列標題的其餘部分,因爲代碼必須查找我需要的每一個列標題。 有什麼建議嗎?Excel/VBA太多的線延續

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

如何隱藏工作表中所有的列名?爲什麼要打擾陣列? – PaulFrancis

+0

只需簡化代碼並將兩個數組的定義放在單行中;) –

+4

爲什麼需要將它們作爲數組的數組並且標題指定了兩次? –

回答

10

大眼夾彈出

  • 它看起來像你需要一個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;請注意0​​必須是唯一的,但如果您的列標題實際爲表頭它們的唯一性已由Excel強制執行。

這就是說我不確定我明白爲什麼你正在做你在做什麼。如果您的代碼按預期工作,我建議您將其轉到Code Review進行調整。我的意思是,整個程序正在消耗這個數組。我相信有很多更好的方法來做到這一點。

1

這是因爲你只能在一行代碼中使用這麼多_。

嘗試把每行2,你應該是一段時間的好(取決於數組有多大)。可能要考慮將它們轉移到一個隱藏的工作表,並在一個循環中讀取它們

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

+0

非常感謝你! – BLkrn

1

我不知道您的方法,但行延續錯誤,您越來越不是問題與數組一起,但僅限於VBA的設置方式。

對於每條語句,您可以在行尾使用_,並且達到了最大限度。

要不斷添加到陣列中,只是刪除了一些延續的 - 它不會看起來很漂亮,但將努力e.g

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

感謝您的幫助! – BLkrn

+0

完全沒問題:) – Trum