Tag: error handling

检查表单名称以避免重复

我正在研究一个macros,其中的一部分从用户那里获得input,询问他/她想要重命名表。 它工作正常,但如果由用户提供的名称已被其他工作表使用,则会遇到运行时错误。 我明白为什么会出现错误,但不知道如何提醒用户并处理错误。 我的代码如下: 'Change sheet name Dim sheetname As String sheetname = InputBox(Prompt:="Enter Model Code (eg 2SV)", _ Title:="Model Code", Default:="Model Code here") wsCopyTo.Name = sheetname

什么是Excel IFERROR的R等价物?

我正在尝试把IFERROR条件放在像Excel IFERROR函数那样的R中。 我正在build立一个随机森林模型。 为了微调,我使用了tuneRF函数。 它有助于给出最佳的参数。 #Selecting Optimal MTRY parameter mtry <- tuneRF(dat3[, -36], dat3[,36], ntreeTry=1000, stepFactor=1.5,improve=0.01, trace=TRUE, plot=TRUE) best.m <- mtry[mtry[, 2] == min(mtry[, 2]), 1] 有时候,如果在不同的迭代中OOB错误不会得到改善,上面的函数会返回错误。 错误if(改进>改进){:缺less值,其中TRUE / FALSE需要。 下一步:如果上面的函数工作正常,我在下面的代码中使用best.m的值。 tuneRF函数中没有错误 – 运行下面的代码。 rf <-randomForest(classe~.,data=dat3, mtry=best.m, importance=TRUE,ntree=1000) tuneRF函数中的错误 – 运行下面的代码。 #Train Random Forest rf <-randomForest(classe~.,data=dat3, importance=TRUE,ntree=1000) 感谢预期! 任何帮助将不胜感激。

Application.InputBox错误424取消

我正在调用一个input框从一个工作表复制选定的单元格,并将其粘贴到一个多列列表框。 我终于得到了一切正常工作, 除了错误424当用户取消input框。 我已经阅读了无数的帮助线程关于这个错误,并没有发现,似乎能够处理我的错误。 我希望有人可以告诉我,如果下面的代码有问题(除了1200万退出子试图阻止错误),或者可能给我一个另一个领域的想法(声明,初始化,激活?我应该检查。 任何想法表示赞赏,谢谢。 Private Sub CopyItemsBtn_Click() Dim x As Integer Dim rSelected As Range, c As Range Dim wb Dim lrows As Long, lcols As Long x = ProformaToolForm.ItemsLB.ListCount 'Prompt user to select cells for formula On Error GoTo cleanup wb = Application.GetOpenFilename(filefilter:="Excel Files,*.xl*;*.xm*") If wb <> False Then Workbooks.Open wb End […]

在Select Case中需要对象(错误424)

我在VBA编辑器Sheet2中有以下代码: Sub Organize_Data() Dim i As Integer Dim S2 As Worksheet, S3 As Worksheet Application.ScreenUpdating = False Set S2 = ThisWorkbook.Sheets("Sheet2") Set S3 = ThisWorkbook.Sheets("Sheet3") S3.Range("A:G").Clear S2.Range("F:H").Copy Destination:=S3.Range("A:C") S2.Range("P:P").Copy Destination:=S3.Range("F:F") S2.Range("K:K").Copy Destination:=S3.Range("G:G") S3.Columns("A:G").Sort key1:=S3.Range("A2"), _ order1:=xlAscending, Header:=xlYes S3.Cells(1, 4) = "Name Boy" S3.Cells(1, 5) = "Name Girl" Last = S3.Cells(Rows.Count, "A").End(xlUp).Row For i = Last […]

Excel打开只读工作簿时,对象“工作簿”的“打开”方法失败

我有代码,应该打开工作簿handfull,拉关键信息并closures它们。 我可以看到工作簿加载,但是当它打开我得到运行时错误1004说 对象“工作簿”的方法“打开”失败 我的代码如下,当我debugging它需要我的第二行下do while语句: Sub OEEsummmary() Dim Gcell As Range Dim MySheet As Worksheet Dim Txt$, MyPath$, MyWB$ Dim myValue As Integer Dim x As Long Dim v As Variant, r As Range, rWhere As Range MyPath = "L:\Manufacturing Engineering\Samuel Hatcher\" x = 2 Set MySheet = ActiveSheet Application.ScreenUpdating = False Do While MySheet.Range("A" […]

Excel VBA运行时错误1004'表不能重叠另一个表'

这个运行时错误,“一个表不能重叠另一个表”,每当我打开我的xlsm文件。 点击debugging窗口后,下面一行VBA代码被突出显示。 Set tbl = Sheets("DataSheet").ListObjects.Add(xlSrcRange, rng, , xlYes) 下面附上完整版本供您参考。 Private Sub Workbook_Open() Dim tbl As ListObject Dim rng As Range 'Ungroup worksheets ThisWorkbook.Sheets("DataSheet").Select Set rng = Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)) Set tbl = Sheets("DataSheet").ListObjects.Add(xlSrcRange, rng, , xlYes) tbl.Name = "ReportTable" tbl.TableStyle = "TableStyleMedium7" End Sub 那么我该怎么办才能解决这个问题呢? 为什么在那里给出一个错误?

VBA对象variables或块variables未设置错误 – 网页抓取

所以我写了一些VBA代码来通过一个网站,我不断收到一个“对象variables或块variables没有设置错误”我通常可以通过代码没有错误,这导致我相信这是一个时间问题。 我用等待语句加载了这个代码,仍然会得到这个错误。 有什么想法吗? 我在做一些疯狂的事情吗? Sub Do_Work_Son() Dim IE As InternetExplorer Dim doc As HTMLDocument Dim plnSelect As HTMLSelectElement 'this selects the plan Dim adrInput As HTMLInputElement 'this selects the address Dim dirSelect As HTMLSelectElement 'this selects the distance Dim strSQL As String Dim LString As String Dim LArray() As String strSQL = "http://avmed.prismisp.com/?tab=doctor" Set IE […]

如何通过Err.Raise错误堆栈

假设Proc1调用Proc2,它调用Proc3。 在Proc3中,我用Err.Raise生成一个错误并处理错误。 到目前为止这么好,但是现在我退出Proc3并将控制传递给Proc2,Proc3由于Proc3中的错误应该分支到清理和退出。 但是,Proc2不知道Proc3中发生了什么错误,所以反而正常进行。 和Proc1一样。 什么是处理这个问题的好方法? 所有我能想到的是检查Proc3的error handling程序中的每个可能的Err.Raise错误,并再次提出相同的错误。 然后在Proc2中做同样的事情。 但是这似乎并不奏效,反正好像还有更好的办法。

excel vba获取错误“Out of Memory”

我正在使用excel VBA。 在我的代码中,我正在下载多个文件,说50一个一个。 我正在做什么,我正在下载第一个文件进行更改做一些计算,并将其保存为xlsx,然后下载另一个文件,并进行计算保存为xlsx等。 所以下载26-27文件后,我得到“内存不足”的错误。 任何人都可以build议我下载每个文件后如何清除内存。 非常感谢你提前

Excel数据validation(文本长度)

这可能必须是在VBA中完成的,这很好。 一些背景信息:我想在Excel的数据validation中使用文本长度选项。 我需要限制为60个字符或更less。 然而,这是很容易的部分。 我的问题是,如果用户超过了这个60个字符的阈值,我不希望我的错误警报保持静态,并给出一个普遍的答复,说:“你必须保持在60个字符以下…”我希望它实际上计数用户尝试放置在单元格中的字符,然后在错误警报popup窗口中,我希望它是更具体的,如: You have exceeded the 60-character limit by ## characters. Please shorten the input and try again. You have exceeded the 60-character limit by ## characters. Please shorten the input and try again. 任何人都知道解决scheme?