跪求EXCEL裡VBA語句的錯誤

時間 2022-04-16 20:00:05

1樓:匿名使用者

語句本身沒有大的明顯的錯誤,不過有幾個需要注意:

1、變數的申明,vba中允許沒有申明變數就可以使用,但是,個人不推薦這樣使用,因此,可以對相應變數進行修改。

2、counter = counter + cells(x, 7)語句執行時可能出現錯誤,因為你的cells(x,7)可能沒有值,也可能出現值不是數字的情況,具體情況因為不知道你的資料,因此無法完全確定。

2樓:

問題在於你定義的檔名是有引數的,所以,你只能呼叫這個程式要附帶引數。可以改為如下:

sub addif()

dim value as integer

value=value = year(now()) & "-" & month(now()) & "-" & day(now()) '取當前日期。

counter = 0

for x = 2 to 54301

if cells(x, 1) = value thencounter = counter + cells(x, 7)else

counter = counter + 0end if

next

end sub

3樓:匿名使用者

只能猜測,將counter = counter + cells(x, 7)更改為

counter = counter + val(cells(x, 7)) 試試

那你按f8單步執行檢查那一條語句出錯.

4樓:

value 是系統用語,最好不要拿來作為變數,另外cell()中的數字不一定是數字,最好都在前面加上val

5樓:匿名使用者

報什麼 錯

會不會 cells(x, 7)不是數字格式

你程式看起來有些不優化,講講是為什麼做的

excel vba出現錯誤

6樓:

一、實現功能要求:求總分。

1、在excel介面中,初始資料如下

2/72、進入vbe介面中,編寫如下**:

sub onerrorresume()

dim i%

for i = 2 to 6:

sheet4.range("d" & i) = sheet4.range("b" & i) + sheet4.range("c" & i)

next

end sub

3、執行**,則報一下錯誤;錯誤原因為:包含字串型別;

3/7接下來,將對此錯誤進行處理;

4、修改**為:

sub onerrorresume()

dim i%

on error resume next   '錯誤時則恢復;

for i = 2 to 6:

sheet4.range("d" & i) = sheet4.range("b" & i) + sheet4.range("c" & i)

next

end sub

4/75、點選插入--形狀,選擇一個形狀;

6、選擇形狀,右鍵指定巨集,選擇剛剛定義的巨集onerrorresume;

5/77、執行巨集;則在有字串的行中,將不執行,繼續執行後面的語句;

6/78、當出現某個錯誤時,直接輸出錯誤位置;

sub onerrorgoto88()

dim i%

on error goto 100       '出現錯誤時,執行某段語句;

for i = 2 to 6:

sheet1.range("d" & i) = sheet1.range("b" & i) + sheet1.range("c" & i)

nexti

exit sub

100:

msgbox ("´íîó³öïöôú" & i & "ðð")

return

end sub

7/7綜上所述,本文提供兩種方法:

1、on error resume next:忽略錯誤;

2、on error goto line:錯誤時跳轉到其他執行語句;

來對錯誤語句進行處理。

7樓:匿名使用者

在可能出錯**前面 新增

on error resume next

一般可以跳過錯誤,繼續執行其他語句。

excel 這段vba**的錯誤在**

8樓:匿名使用者

你的問題不是因為沒有next,而是if沒有對應的end if。解決方法:

1、在每個if的內容語句的下面,加一行 end if

2、把每個if語句的內容語句,接在 tnen 後面,不要換行(這樣可以不要 end if)。

9樓:

條件語句錯,改成如下方式試試

if 條件1

命令1elseif 條件2

命令2elseif 條件3

命令3end if

excel中vba語句糾正

10樓:

最好用遍歷的方法來實現:

sub 比較大小()

dim sh as worksheet

dim y%, n%

n = 0

for each sh in worksheetsfor y = 1 to 2

if sh.cells(y, 2).value <> sh.cells(y + 4, 2).value then n = n + 1

next y

next

for y = 1 to n

sheets.add after:=sheets(sheets.count)

next

end sub

11樓:祕密d情人

sub 比較大小()

dim x as integer

dim y as integer

for x = 1 to 5

for y = 1 to 2

worksheets(x).select

if worksheets(x).cells(y, 2).value <> worksheets(x).cells(y + 4, 2).value then

worksheets.add

end if

next y

next x

end sub

12樓:匿名使用者

dim sht as worksheet 多了個s, worksheets(x)返回的是一個worksheet物件

13樓:匿名使用者

把next改成exit for

excel vba語法錯誤

14樓:匿名使用者

不僅少了括號,正確寫法是:

15樓:我的王是金閃閃

少了一個括號

sub a()

cells(i, j) = worksheetfunction.correl(worksheets("源").range(cells(3, i), cells(65536, i)), worksheets("源").

range(cells(3, j), cells(65536, j)))

end sub

16樓:匿名使用者

range(cells(3,i),cells(65536,i))好像有問題

range()引數需要有""的,應該改成cells

17樓:己霞月

option explicitsub aaa()dim i, j as long '這句最後一個變數後面沒有逗號,而且應該這樣寫 dim i as long ,j as longdim otype, prate as stringdim d as date i = activecell otype = activecell.offset(0, -3) prate = activecell.offset(0, -1) if prate = "快單" then '下面這句修改如下 j = worksheetfunction.

roundup((worksheets("負荷統計").cells(4, 7) + i) / worksheets("負荷統計").cells(10, 12), 0) if j < 6 then d = worksheets("訂單明細").

cells(1, 2) else '修改 d = worksheets("訂單明細").cells(1, 2) + j - 6 end if activecell.offset(0, 8) = d activecell.

offset(0, 7) = d + 11 else '修改 '下面一句 修改 j = worksheetfunction.roundup((worksheets("負荷統計").cells(5, 7) + i) / worksheets("負荷統計").

cells(10, 12), 0) if j < 6 then d = worksheets("訂單明細").cells(1, 2) else '修改 d = worksheets("訂單明細").cells(1, 2) + j - 6 end if activecell.

offset(0, 8) = d activecell.offset(0, 7) = d + 11 end if end sub

excel2016vba巨集錯誤

18樓:姓王的

我只能說紅色代表語法方面的錯誤,就是寫法有問題,比如分號就是問題所在

你這個**還比較複雜,既然一無所知,那就放棄吧,別浪費時間

19樓:陽光上的橋

<修改為<

>修改為>

例如第一個紅色語句修改為:

if py_index(n) < ascid then

我想學EXCEL的VBA基礎知識

從最容易的入手。excel本身提供了一個錄製巨集的功能。在工具 巨集 錄製新巨集,開始錄製後,你的每一步操作都會被記錄下來,按停止錄製後就會生成一個巨集。然後 工具 巨集 巨集 編輯 就會開啟在自帶的visualbasic編輯器中開啟你剛錄製的巨集。將編輯器視窗縮小一點,按f8鍵 執行一步 就可以知...

跪求王陽明的經典語句,跪求王陽明的經典語句 原話

天地扁舟 天,沒有我的靈明,誰去仰他的高?地,沒有我的靈明,誰去俯它的深?天地萬物,離卻我的靈明,變沒有天地萬物了。我的靈明,沒有天地萬物,亦無我的靈明瞭。如此便是一氣流通,如何與間隔得?此句可稱振聾發聵。你未看此花時,此花與汝同歸於寂。你來看此花時,則此花顏色一時明白起來。這句最經典,常用作批判唯...

請問如何用excel的VBA做出,從1 20中任取數的所有組合,總共是125970種,求高手支招,萬謝

如果你只是需要結果的話,可以用函式 combin 20,8 直接求的結果,如果真是要用vba實現的話按照 tat蘿蔔說的做就行了,完善如下 sub zuhe dim times as double for i1 1 to 13 for i2 i1 1 to 14for i3 i2 1 to 15fo...