1. 首页 > 科技

VBA显示编译错误,语法错误。 求大佬指教

VBA显示编译错误,语法错误。 求大佬指教

vb提示编译错误,语法错误 求指教?

Public Sub 产品出库()

    Dim i As Long

    Dim j As Integer

    Sheets("出库记录表").Select   '选择工作表"出库记录表"

    If Cells(4, 1).Value = "" Then  '判断"产品名称"项是否为空

        MsgBox """产品名称"" 项请勿置空!", vbOKOnly & vbExclamation, "信息提示"

    Exit Sub

    End If

    i = Val(Sheets("出库记录表").Cells(1, 2).Value)

    For j = 1 To 6

        Cells(i + 8, j).Value = Cells(4, j).Value

    Next j                  '在"出库记录表"的末尾添加新记录

End Sub 

vb里面 字符串要用两个 " 来表示"","产品名称" 要这样写""产品名称""。

你的写法:

MsgBox  ""产品名称" 项请勿置空!",  vb会认为字符串在 产字前就结束了,所有出错。

excel vba代码问题,总是报语法错误,请问是什么原因?

报错的那句修改如下:

ActiveWorkbook.Names.Add Name:=Cells(i, 1), RefersToR1C1:="=Sheet1!R" & i & "C2:R" & i & "C" & j

存在的问题:一是可能多行语句处理缺少空格,二是&不要和变量连接,三是字符串应当使用双引号。

VBA提示编译错误 缺少语句 语句结束,求高手帮解决~

注意双引号和括号必须是英文状态下的,还有没有“Range[A2]”这种写法的,如果把单元格地址当成字符串参数传入给 Range 对象时必须要加双引号。比如第一处可以改成:

iCount = Sheets("财务分析表").Range("A2").CurrentRegion.Columns.Count

 其中 "财务分析表" 是你的工作表名,使用时请确保该表存在!

如果实在要使用中括号,可以这样写:

iCount = Sheets("财务分析表").[A2].CurrentRegion.Columns.Count

注意这个时候不需要在 A2 的两边加双引号的,反之也会报错!

从截图中不难看出,符号印刷错误还是挺多的,因此有时书本上的知识未必是正确的,但是遇到问题时不妨通过查阅 MSDN 本地或者在线帮助文档,疑云便会离你而去。

excel VBA 编译错误 语法错误

请把单引号换成双引号(英文状态下的)试试