Tag: error handling

通过Excel VBA以电子邮件附件forms发送的文件始终是损坏的

我正在使用以下error handling方法来保存当前打开的文件的副本,并在发生错误时将其发送到我的电子邮件。 Private Declare Function GetTempPath _ Lib "kernel32" Alias "GetTempPathA" _ (ByVal nBufferLength As Long, _ ByVal lpBuffer As String) As Long Private Const MAX_PATH As Long = 260 Sub MainSub() Dim OutApp As Object, OutMail As Object Dim wb As Workbook On Error GoTo NotifyandRepair Call Sub1 Call Sub2 Call Subn Exit Sub […]

错误无法评估expression式,因为代码已经优化

我想出口Excel与StreamWriter。 但错误:无法评估expression式,因为代码已经优化,或者本地框架位于调用堆栈之上。 代码C#: private void ExportToExcel() { string filePath = string.Empty; try { if (fn.CheckRowOnDataTable(dtExport)) { string path = Server.MapPath(@"~/EXCEL/"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string fileName = string.Format("{0}_{1}.xls", this.PROGRAM_ID, DateTime.Now.ToString("yyyyMMdd_HHmmss")); filePath = string.Format("{0}{1}", path, fileName); if (File.Exists(filePath)) { File.Delete(filePath); } using (StreamWriter writer = new StreamWriter(filePath)) { writer.Write(GenerateExcel()); } HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"; HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("filename={0}", […]

exceltypes不匹配错误在私人子

我有这个应该更新单元格的值,当一个相应的单元格更改,但我不断收到一个错误,说错误13types不匹配,ive查找所有可能的来源,这个问题,并找不出是什么原因造成的,这是我的代码呈现的问题: Private Sub Worksheet_Change(ByVal Target As range) 'Adds unique keyA values 'Check to see if the changed cell is in column H If Not Intersect(Target, range("H:H")) Is Nothing Then If Target.Cells.Value <> "" And Target.Row > 7 And Target.Row <= 20 Then 'Update the "KeyA" value range("A" & Target.Row).Value = Now() End If End If […]

对象第6行的必需错误

我在第6行得到Object Required错误。有人可以告诉我在我的代码中有什么问题吗? Dim row As Range Dim sheet As Worksheet Dim lR As Long Dim flag As Boolean Set sheet = Sheets("Sheet3") Set lR = sheet.UsedRange.SpecialCells(xlCellTypeLastCell).Rows.Count For a = 1 To lR For i = 1 To lR Set row = sheet.Rows(i) If WorksheetFunction.CountA(row) = 0 Then flag = True sheet.Range("A" & i).EntireRow.Delete End If […]

在Excel中debuggingVBA类中的错误

我有一个类似于这个function的模块: MainModule Sub Test() On Error Resume Next Dim O1 As New Class1 O1.DoSomething On Error GoTo 0 End Sub 和一些类似的类: 1类 Sub DoSomething() FindStuff 'create similar objects who perform similar operations and raise similar errors Dim O2 As New Class2 O2.DoSomething End Sub Function FindStuff() As Stuff 'scan the WorkBook, the file system, etc. […]

ISERROR与多个条件

如果单元格A1为负数或错误,我想放Y. 否则我要放N个。 但是这个公式不起作用: if(OR(ISERROR(A1),A1<0),"Y","N") 有没有其他方法可以做到这一点?

VBA:在#VALUE错误上格式化单元格

我创build了一个函数来search范围上的特定值并返回相邻的特征。 Function Busca(valor As String) Dim bus(0 To 1) bus(0) = Worksheets("Sheet2").Range("A1:A10").Find(valor, LookAt:=xlWhole). _ Offset(0, 1) bus(1) = Worksheets("Sheet2").Range("A1:A10").Find(valor, LookAt:=xlWhole). _ Offset(0, 2) Busca = bus End Function 如果在A1:A10不存在匹配,那么函数返回{#VALUE,#VALUE} ,但是我想返回类似于{"No match", ""} ,不匹配“给定颜色的单元格。 我试过数据validation,error handling, If Then与ActiveCell.Interior.ColorIndex无济于事。 此外,如果错误得到纠正,我想单元格回到透明。 我想事件处理程序可以做到这一点,但我是VBA的新手,还有很多我不明白的东西。 编辑 如所build议的那样,要明确: 如果找不到匹配项,如何使输出单元格改变颜色,如果find匹配项(在VBA中)则不输出颜色?

excel中的错误公式

在Excel中,如果我有以下 =匹配( “ABC”,A:A,0) 如果它错误,那么它会抛出一些像 #value 所以我说这个 = iserror((match(“abc”,A:A,0),“Not found”,match(“abc”,A:A,0)) 但是这似乎是凌乱的代码..运行相同的公式两次,这可以形成更好地给出相同的结果? 干杯

Application.WorksheetFunction.VLookup不匹配错误

If Not IsError(Application.WorksheetFunction.VLookup(SRange(z, lastC), sWks.range("$D:$G"), 3, False)) Then or cells(1,1) = Application.WorksheetFunction.VLookup(SRange(z, lastC), sWks.range("$D:$G"), 3, False) or On Error Resume Next m1 = Application.WorksheetFunction.VLookup(SRange(z, lastC), sWks.range("$D:$G"), 3, False) If m1 > 0 Then Cells(e, 3).Value = "Yes" Else Cells(e, 3).Value = "No" End If 一直返回Run-time error '1004′: Unable to get the VLookup property of the […]

VBA – GetPivotData – 无法捕获运行时错误1004

我正在编写一个程序来select一个数据透视表的一部分,并发送该提取。 一切正常,除了我一直有一个运行时错误1004 ,我不能赶上( 避免它,并保持循环 ),所以我的循环不能顺利工作… 这是有问题的部分: On Error GoTo 0 On Error GoTo NextSale If IsError(pt.GetPivotData("Amount", Pf.Name, Pi.Name, "Sales_Opp", PiO.Name)) Then GoTo NextSale Set Rg = pt.GetPivotData("Amount", Pf.Name, Pi.Name, "Sales_Opp", PiO.Name) On Error GoTo 0 Set RgT = Union(RgT, Rg) NextSale: 由于pt.GetPivotData("Amount", Pf.Name, Pi.Name, "Sales_Opp", PiO.Name)将引发运行时错误1004 ,当数据中不存在该组合时,我只想避免在循环中被阻塞。 我search,但没有设法解决这个… IsError()和On Error GoTo不起作用。 我甚至检查了选项( 工具 – >选项 […]