Tag: 语法错误

由于语法错误(logging时)和对象定义的错误(运行时),无法运行VBA

我得到了和丹尼斯一样的错误,但是他提供的答案只是说删除一些模块或者重命名它们。 但是,我只有一个模块,重命名它对我没有任何帮助。 我甚至试图制作一个全新的工作手册,并将其复制到一个新的开始,但它也没有做任何事情。 当我在录制macros之后运行macros时,它也给我一个“应用程序定义的或对象定义的”错误。 这个公式本身在macros之外是完全正确的,但是我确实需要它作为macros的一部分。 这里是Excellogging的,这是我的macros给我的错误: ActiveCell.FormulaR1C1 = _ "=IF(COUNTA(RC[-15]:RC[-2])=2,RC[-14],IF(COUNTA(RC[-15]:RC[-2])=4,CONCATENATE(RC[-14],"":"",RC[-12]),IF(COUNTA(RC[-15]:RC[-2])=6,CONCATENATE(RC[-14],"":"",RC[-12],"" – "",RC[-10]),IF(COUNTA(RC[-15]:RC[-2])=8,CONCATENATE(RC[-14],"":"",RC[-12],"":"",RC[-10],"" – "",RC[-8]),IF(COUNTA(RC[-15]:RC[-2])=10,CONCATENATE(RC[-14],"":"",RC[-12],"":"",RC[-10],"":"",RC[-8],"" – """ & _ ","""")))))" 它有一个Range("Q3").Select之前,激活该单元格。 而且,如果你看看它logging的是什么,而不是原来的公式,你可以看到它离开了K3)或者RC[-6]), 。 我试图添加它,但它并没有帮助。 原始配方: =IF(COUNTA(B3:O3)=2,C3,IF(COUNTA(B3:O3)=4,CONCATENATE(C3,":",E3),IF(COUNTA(B3:O3)=6,CONCATENATE(C3,":",E3," – ",G3),IF(COUNTA(B3:O3)=8,CONCATENATE(C3,":",E3,":",G3," – ",I3),IF(COUNTA(B3:O3)=10,CONCATENATE(C3,":",E3,":",G3,":",I3," – ",K3),""))))) 我也尝试了没有concatenate的公式,但它也没有帮助。 如下: ActiveCell.FormulaR1C1 = _ "=IF(COUNTA(RC[-15]:RC[-2])=2,RC[-14],IF(COUNTA(RC[-15]:RC[-2])=4,RC[-14]&"":""&RC[-12],IF(COUNTA(RC[-15]:RC[-2])=6,RC[-14]&"":""&RC[-12]&"" – ""&RC[-10],IF(COUNTA(RC[-15]:RC[-2])=8,RC[-14]&"":""&RC[-12]&"":""&RC[-10]&"" – ""&RC[-8]),IF(COUNTA(RC[-15]:RC[-2])=10,RC[-14]&"":""&RC[-12]&"":""&RC[-10]&"":""&RC[-8]&"" – ""&RC[-6],"""")))))" 编辑:这里是直​​接在上面的代码,和P3公式工作正常: Range("P3").Select ActiveCell.FormulaR1C1 = _ "=INDEX(RC[-14]:RC[-1],1,IF(COUNT(RC[-14]:RC[-1])=1,COUNT(RC[-14]:RC[-1]),COUNT(RC[-14]:RC[-1])*2-1))" Range("P3").Select Range("P3").AutoFill Destination:=Range("P3:P" & LastRow) Range("Q3").Select […]

从Web站点复制Excel VBA代码时出现意外的语法错误

我正在寻找一个函数来有条件地连接Excel中的单元格范围。 这个function Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant Dim xResult As String On Error Resume Next If CriteriaRange.Count <> ConcatenateRange.Count Then ConcatenateIf = CVErr(xlErrRef) Exit Function End If For i = 1 To CriteriaRange.Count If CriteriaRange.Cells(i).Value = Condition Then xResult = xResult & […]

SQL服务器08附近语法错误')'

尝试从Excelmacros插入到SQL数据库的以下值 我收到以下错误消息'不正确的语法附近'('。 代码是… Dim insert2 As String insert2 = "INSERT INTO DETAIL" _ & " ( plant, taskno, commentno, commentby, commenton, comment, nextactionby) VALUES " _ & " ( 'UK' ((SELECT max(taskno) AS count from HEADER),'1', '" & UserID & "', CONVERT(datetime, '" & Hdate & "' ,103), '" & Dcomment & "', '" & […]

Dax – 计算列中的variables的语法错误

我忙于学习如何在PowerPivot for Excel 2013中使用DAX公式中的variables。 把这个公式放在一个计算列中 = VAR CurrentPrice = Product[Unit Price] RETURN COUNTROWS ( FILTER ( VALUES ( Product[Unit Price] ), Product[Unit Price] > CurrentPrice ) ) + 1 我收到以下错误: The syntax for 'CurrentPrice' is incorrect. The calculated column 'Product[CalculatedColumn1]' contains a syntax error. Provide a valid formula. 我无法弄清楚这个公式有什么问题。 我正在使用contoso.xlsx示例工作簿。

尝试select范围时出现语法错误

下面的代码一直给我语法错误,只要我跑到这一行: Range(“SheetList[Worksheet Index]”).Select : Private Sub Worksheet_Activate() Dim sheet As Object Dim SheetName As String On Error GoTo Error With Sheets("Index").ListObjects("SheetList") If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete End If End With Range("SheetList[Worksheet Index]").Select '<——— syntax error For Each sheet In Sheets SheetName = sheet.Name ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _ SubAddress:=SheetName & "!A1", _ TextToDisplay:=SheetName ActiveCell.Offset(1, […]

Sum函数引用列号VBA

我需要通过Sum函数中的数字来引用列(即列B = 2,C = 3,E = 5等) 我试过这个代码,但它没有奏效(ColN是从列表框索引中读取的列号) Range("M5") = WorksheetFunction.Sum(Range(ColN& "2" : ColN&"5"))) '(F2:F5) for example 我还希望使用formulaR1C1,这个函数需要应用于其余的行(即下一个单元格将是F3:F6等的总和) 所有帮助解决这个问题,将不胜感激。

Python – 有人试图理解的基本解释(CSV,Excel)

我已经逐行通过这个代码并解释每一步。 但是,由于我对python非常陌生(就像这是我的第一个工作),我很困惑这个函数在做什么/为什么我得到一个错误信息。 任何帮助,将不胜感激! print("Exercise 2 begins") import csv c = 0 t = 0 with open('adele.csv','r') as csvfile: csvdata = csv.reader(csvfile, delimiter='\t') for line in csvdata: t = t + 1 try: if 'grammy' in line[5]: c = c + 1 print(c + ": " + t + ": " + str(line[5])) # (7) Describe […]

VBA:IF循环错误重命名工作表(具体错误)

我试图让程序search工作簿来检查是否有“Sheet1”和/或“Sheet2”。 如果有的话,我希望将它们改名为“结果”和“数据条目”(见下面的代码)。 如果工作表已经从之前的运行中命名),那么用新的名字继续编码。 [用户第一次运行程序时,工作簿可能会有sheet1和sheet2作为默认值。 我的程序存储了以前的运行,所以如果用户以前运行过这个程序,sheet1和sheet2可能已经有了新的和正确的名字) 我的代码的第一行如下: Dim ws As Excel.Worksheet For Each ws In ActiveWorkbook.Sheets If ws.Name = Sheet1 Then Sheet1.Name = Results ElseIf ws.Name = Sheet2 Then Sheet2.Name = DataEntries End If Exit For Next ws Results.Cells.Clear DataEntries.Cells.Clear 尝试运行该程序时,按下列顺序收到以下错误: 1)对象不支持这个属性或方法 2)对象'_Worksheet'的方法'名称'失败 3)需要的对象 4)需要的对象 然后程序继续运行(尽pipe不执行我想要的操作)。 它必须是简单的语法混淆,但我不能解决这个问题。 请有人指出我在正确的方向吗? 如果需要,将会发布剩余的代码,但可能没有必要。

excel 2010 vba循环通过声明的variabels语法结果编译错误variables未定义

我宣布了5个整数 Public Hol_1 as integer Public Hol_2 as integer Public Hol_3 as integer Public Hol_4 as integer Public Hol_5 as integer 想象一下,我有3个客户,那么我将使用Hol_1到Hol_3。 这也意味着:iClients = 3我需要做的第一件事是看我的床单(“假期”),以确定我的3个客户端有多less假期。 Sub CountHolidays() Dim i as integer Dim iclients as integer iclients = 3 For i=1 to iclients Hol_i = WorksheetFunction.CountA(ActiveWorkbook.Sheets("Holidays").Range(Cells(2, 3 + i), Cells(50, 3 + i))) 'The worksheetfunction calculates […]

Excel VBA #Value! 错误

我有以下function,当我运行它说#value! 错误。 我将不胜感激任何帮助。 Function Bootstrap(S As Object, Z As Object, L As Double) Dim j As Integer Dim a() As Double Dim b() As Double Dim n As Integer Dim Q() As Double Dim sum As Double Dim P As Double ReDim a(1 To n) ReDim b(1 To n) ReDim Q(1 To n) dt = […]