1樓:
你的**不完整,註釋如下:
sub 按鈕1_click()
for i = 2 to activeworkbook.sheets.count '遍歷每個工作表(第1個工作表除外)
for j = 4 to 1000 '每個工作表,處理從第4行到1000行
activeworkbook.sheets(i).cells(j, 16).
value = replace(replace(activeworkbook.sheets(i).cells(j, 16).
value, " ", ""), ".", "-")
'上面這句,處理每個工作表第16列(p列)的單元格(範圍第4到1000行)
'處理辦法:該範圍內的單元格中的空格刪除,並將小數點"."替換成「-」號
next j
next i
call tongji("拉出值", 3) '執行另一個子過程:tongji,執行引數分別是:「拉出值」,3
end sub
sub tongji(xingzhi as string, num as integer)
'從按鈕1_click巨集中呼叫本巨集,引數xingzhi被賦值為「拉出值」,num被賦值為3
dim a1, a2, a3 as integer '宣告變數
dim date1, date2 as date '宣告變數
date1 = cdate(replace(activeworkbook.sheets(1).cells(2, 2).
value, " ", "")) '清除第1個工作表b2單元格中的空格之後,將其值轉為日期型別資料存放入date1
date2 = cdate(replace(activeworkbook.sheets(1).cells(2, 4).value, " ", "")) '類似。只是單元格為d2
a1 = 0: a2 = 0: a3 = 0 '相關變數賦值
for i = 2 to activeworkbook.sheets.count ''遍歷每個工作表(第1個工作表除外)
for j = 4 to 1000 '每個工作表,處理從第4行到1000行
if replace(activeworkbook.sheets(i).cells(j, 12).
value, " ", "") = replace(xingzhi, " ", "") then
' 若某表的第12列(l列)j行的值與變數xingzhi的值清除空格後相等,則
if replace(activeworkbook.sheets(i).cells(j, 2).value, " ", "") = "局檢" then
'若某表第2列(b列)j行的值去空格後內容為「局檢」,則:
if replace(activeworkbook.sheets(i).cells(j, 16).value, " ", "") <> "" then
'若p列單元格有非空格的其他字元,則
if cdate(replace(activeworkbook.sheets(i).cells(j, 16).
value, " ", "")) > date1 and cdate(replace(activeworkbook.sheets(i).cells(j, 16).
value, " ", "")) < date2 then
'將p列的單元格的值轉化為日期值。若該日期值大於date1 且 小於date2 ,則
a1 = a1 + 1 '變數a1自增
if replace(activeworkbook.sheets(i).cells(j, 23).value, " ", "") = "無需處理" then
'若第23列(w列)的值去空格後為「無需處理」,則
a2 = a2 + 1 '變數a2自增
end if
if replace(activeworkbook.sheets(i).cells(j, 23).value, " ", "") = "已處理" then
'若第23列(w列)的值去空格後為「已處理」,則
a3 = a3 + 1 '變數a3自增
end if
end if
end if
end if
end if
2樓:匿名使用者
去空格,點變成減號。
進行統計。
只是統計的三個數字沒輸出,程式結束就沒了。
請教excel 巨集命令使用高手!
3樓:魚木混豬喲
**如下:
sub main()
mm = 0
set dica = createobject("scripting.dictionary")
set dic = createobject("scripting.dictionary")
for i = 4 to range("b65536").end(3).row
dica(cells(i, "b").value & "|" & cells(i, "c").value) = ""
next i
redim arr(1 to dica.count, 1 to 4)
for i = 4 to range("b65536").end(3).row
if dic.exists(cells(i, "b").value & "|" & cells(i, "c").value) then
arr(dic(cells(i, "b").value & "|" & cells(i, "c").value), 3) = arr(dic(cells(i, "b").
value & "|" & cells(i, "c").value), 3) + cells(i, "d")
arr(dic(cells(i, "b").value & "|" & cells(i, "c").value), 4) = arr(dic(cells(i, "b").
value & "|" & cells(i, "c").value), 4) + cells(i, "e")
else
mm = mm + 1
dic(cells(i, "b").value & "|" & cells(i, "c").value) = mm
arr(mm, 1) = cells(i, "b")
arr(mm, 2) = cells(i, "c")
arr(mm, 3) = cells(i, "d")
arr(mm, 4) = cells(i, "e")
end if
next i
range("h4").resize(ubound(arr), 4) = arr
range("h4:k" & ubound(arr) + 3).sort [h4], 1
range("b3:e3").copy range("h3")
end sub
4樓:匿名使用者
用資料透視表就可以了,資料有變更重新整理一下就行了,無需程式設計
為什麼一個完整excel的巨集命令,總是說缺少end sub,**急等,請高手賜教.
5樓:黔山秀客
一段**裡不能同時出現兩個sub,請看這裡,
有兩個sub,只要刪除一個就可以了。
很高興為你解答,希望能幫到你!
6樓:匿名使用者
sub a()還有sub test()
二個sub
最後只有一個end sub
當然缺少一個。
刪除sub a()這一行,試試
7樓:匿名使用者
sub a()後面沒有end sub
所以說缺少
我現在有個excel檔案可以執行巨集,但是無法編輯巨集,請高手指點一下!
8樓:想學
excel選項->「常用」->在「在功能區顯示開發工具選項卡」前面打鉤->確定
此時,在出現「開發工具」選項卡,應該能找到對巨集的編輯的按鈕在vba編輯器中找到這個巨集的**。
如果,還是不能編輯,說明,這個巨集已經加密,需要提供密碼才可以。
請幫忙翻譯一段日文
豐田汽車於本月5日 關於2013年3月期的業績 將本業利潤從1兆日圓向上修正到1兆500億日圓 銷售額考慮到向中國的輸出減少 從22兆日圓向下修正到21兆3千億日圓 主要因降低成本得獲利增長 在電機大企業及其他汽車製造商陷入苦戰之時 仍表現出強勢的預期營業利潤向上修正的主要原因是 國內事業的收益改善...
請幫忙翻譯一段英語
研究入怎樣和為什麼這變革發生可以因此只發生在一些互作用期間,例如在系統和把變成是發電器創造一個反應由通訊潛在的資訊回到系統或對其它人的人之間。反應形成為悟性 知識的作用和變革的測量的依據。例如,在實驗所有圖書管理員是given 同樣問題。問題的本質是這樣,它應該故意地導致可以想像的問題空間和不確定性...
求一段中秋送給朋友的話,中秋到了,求一段送給家人的祝福語 又哪些?
送你一份中秋月餅,品牌 真情 成分 真心 快樂 保質期 一生 營養 溫馨 幸福 真情 製造商 想念你的人。送一個圓圓的餅,獻一顆圓圓的心,寄一份圓圓的情,圓一個圓圓的夢。中秋節快樂!天氣變得好快,涼風悄悄襲來,晚上毯子要蓋,別把腳丫凍壞,沒事叨根骨頭,那樣可以補鈣,不要再罵我壞,祝你中秋愉快。網緣!...