0
我正在嘗試構建一個新代碼,該代碼將每次數據組更改時將標題列(從數據的第1行)複製並插入到列表中。每個分組的大小是不同的,大小從一個月變到下一個。爲了增加進一步的複雜性,分組的名稱可以改變。例如,我需要的代碼打破名單下來是這樣的:新組開始時插入標題行的宏
Header
Corporate
Corporate
Corporate
Insert header
Financial
Financial
Insert header
Public
etc
的數據需要保持在同一張紙上,所以沒有需要移動任何地方
到目前爲止,我已經想好了數據沿此線的東西,但不知道正確的語法,以使用,使該操作:
Do forever
‘stop at the end
If group_cellvalue(vArraycounter) = 「」 then leave
Endif
vArraycounter = vArraycounter + 1
‘test the current group against that in the previous row if different, insert
'header
If group_cellvalue((vArraycounter) <> group_cellvalue((vArraycounter - 1)
then
InsertRow
InsertHeadingText
'Increment counter to get back on track
vArraycounter = vArraycounter + ?
Endif
End For
任何提示或建議非常讚賞:)
嗨。謝謝你。我努力讓這個工作 - 它使用的代碼是新的。我試圖將這個應用於我自己的問題。 我是否需要聲明兩個潛艇或是第一個例子和第二個例子?我已經用兩者都試過了,前者宏似乎什麼也不做,後者當你去查看宏時,宏從宏列表中消失 設置值(x,y)時,我是否正確思考左邊的數字是行,右邊是列? 我會送我所做的代碼,但不知道如何在本網站的格式,將學習 – user7327273
我的代碼: 分測試(BYVAL標題爲Excel.Range) 昏暗rngScan作爲Excel.Range 隨着表( 「附件B的在職職工」) 。選擇 設置rngScan = prngFirstHeader.Cells(3,12)「放眼第3行,12列 做,當不爲IsEmpty(rngScan.Value) 如果rngScan.Value < > rngScan.Cells(0,12).Value Then prngFirstHeader.Copy rngScan.Insert Shift:= XlInsertShiftDirection.xlShiftDown End If 集rngScan = rngScan.Cells(2,12) 環路 集rngScan =無 結束隨着 結束子 – user7327273
可以刪除'Test'子,這是隻是爲了顯示的一個示例呼叫'Headerize'分。你所要做的就是從代碼中調用'Headerize',並將它傳遞給第一個頭,這個頭必須在檢測到差異時重複下去。例如,如果要重複的報頭位於地址C3的工作表「XYZ」上,請在代碼中放置'Headerize ThisWorkbook.Worksheets(「XYZ」)。Range(「C3」)''。 – Excelosaurus