Tag: 运行时

参考运行时在Excel中使用VBA添加的命令button

在运行期间,用户可以将任意数量的ActiveX命令button添加到工作表1.我需要用VBA引用这些新button,但不知道如何。 我知道button名称会显示的逻辑进程:例如。 (节点#X2)-2 =命令button#=我 我需要以某种方式引用这些新创build的button,我正在思考的是: Sheet1.Controls("CommandButton" & i).Select 如果有人知道正确的语法或替代方法,请告知! UPDATE Public Sub Node_Button_Duplication() ' 'Comments: Copies and pastes Node 1's button to the appropriate column ' Copy Node 1 button and paste in appropriate location ActiveSheet.Shapes("CommandButton1").Select Selection.Copy Cells(5, 10 + 7 * (NumNodes – 1) – 1).Select ActiveSheet.Paste Selection.ShapeRange.IncrementLeft 47.25 Selection.ShapeRange.IncrementTop -13.5 End Sub 跟进 […]

VBA在查找函数运行时错误91

我的问题是有关Excel中的VBA运行时错误91。 我做了一些search无济于事。 我的代码如下。 我注意到导致错误的部分。 为什么会发生这种情况,我该如何解决这个问题,并继续前进? Sub RemoveFooterRows(theFile) Dim found As Range Dim aggregateRow ''Error is from section below found = isItRow = Workbooks(theFile).Worksheets(1).Columns(1).Find _ ("Summary", Range("A1"), xlValues, xlPart, xlByRows, xlNext, False, , False) ''Error is from section above MsgBox ("val is " & found.Row) End Sub

检查空值时运行时错误1004

下面的子不工作: Sub RemoveAllBelowStr() Dim SrchRng As Range, i As Integer Set SrchRng = ActiveSheet.Range("A1:A700") For i = 0 To SrchRng.rows.Count If IsEmpty(Cells(i, "A")) Then Exit For 'THIS LINE IS THROWING RUN TIME ERROR Next i rows(i & ":" & rows.Count).Delete End Sub 我得到了“应用程序定义的或对象定义的”运行时错误1004。 请指教。

如何使Excel ActiveX标签在运行时透明?

我想把一个透明的标签放在Excel表格的顶部,这样我就可以利用鼠标单击/拖动/等等来标记MouseMove事件来“绘制单元格”(也就是改变它们的填充颜色等等)。 – 因为我不能这样做细胞本身。 现在一切正常,除了我不能使标签在运行时透明(又名VBA)…而在devise模式中完全一样的东西按预期工作。 具体来说,我有代码(或多或less): Dim MapLabel As OLEObject On Error Resume Next Sheet2.OLEObjects("MapLabel").Delete Set MapLabel = Sheet2.OLEObjects.Add("Forms.Label.1") MapLabel.name = "MapLabel" MapLabel.Placement = xlMoveAndSize MapLabel.Object.Caption = "" ' Problem line below MapLabel.Object.BackStyle = fmBackStyleTransparent ' Problem line above MapLabel.Left = Sheet2.cells(2, 6).Left MapLabel.Top = Sheet2.cells(2, 6).Top MapLabel.Width = Sheet2.cells(2,6).Width * 10 MapLabel.Height = Sheet2.cells(2,6).Height * […]

VBA Excel 2010 – 使用范围时运行时1004错误

我有一个问题引用范围在我的VBA程序。 以下代码片段显示了我的原始代码: With Worksheets("Overall 6 mo") .Columns("A:G").ColumnWidth = 13.57 .Range("A1:Z100").Rows.RowHeight = 15 .Columns("F:G").NumberFormat = "0.00%" .Range("B3:G3") = Worksheets("TEMPLATE").Range("A3:F3").Value .Range("F4:G100") = Worksheets("TEMPLATE").Range("E4:F100").Formula .Range("A1").NumberFormat = "@" .Range("A1") = .Name End With 这会在通过第3行之后抛出“运行时1004应用程序定义或对象定义的错误”。于是我改变了 .Range("A1:Z100").Rows.RowHeight = 15 至 .Rows.RowHeight = 15 关键是要使我需要使用的细胞具有15的高度,所以这种改变不会伤害我的程序。 而现在,它将允许,但是然后在下一行再次引用相同的错误。 所以我想弄明白为什么它不允许我使用.range? 或者至less我可以修复它? 更新:我已经认识到,我不能在我的工作簿中的任何地方使用.Range方法(不只是在上面的实例中)。 什么会禁用我使用。范围无处不在? UPDATE2:它现在不再允许我在第二行中使用.Columns方法。 我没有做任何事情,只是通过它几次。 这个东西有什么问题? 更新3:似乎当我重新启动excel时,它将允许我运行工作表“总体6个月”的代码一次,然后开始抛出每次错误后。 我已经包含了表单其余部分的代码。 Option Explicit Private Sub Worksheet_Activate() Application.ScreenUpdating = […]

比较VBA中的时间值抛出运行时错误13'types不匹配'

我试图将系统时间与存储在两个相邻单元中的时间进行比较。 我尝试了下面的时间比较,它只是正常工作… * 此代码工作正常 * Sub btn_Click() MsgBox Range("C4"), vbOKOnly, "Test" Dim time1 As Date Dim time2 As Date time1 = Time time2 = TimeValue(Cells(3, 1).Text) If time1 < time2 Then MsgBox str, vbOKOnly, "MsgIf" Else MsgBox str1, vbOKOnly, "MsgElse" End If 结束小组 但这是行不通的! If条件抛出错误说'types不匹配'。 请帮忙!!! Dim i As Integer Dim w As Integer Dim […]

工作簿成功打开CSV后运行时9错误

我有一个VBAmacros,打开IBM Cognos来运行报告并将其保存为CSV文件。 macros然后打开文件并复制粘贴到我的Excel工作簿。 上 Workbooks.Open Filename:= _ "S:\Supply Chain\Scheduling\NBVI\buf.csv" 工作簿打开后出现运行时错误9:下标超出范围。 这个相同的代码在其他工作簿中工作,我不知所措。

Excel VBA运行时错误“13”types不匹配错误

我想我的variables的定义有问题,但我不知道在哪里或为什么。 这是一个相当简单的代码来计算教师分配的教训的数量。 这些信息在工作表“Subects and Teachers 2018”中,必须打印在工作表“教师”中。 数量总是出现在名称的左侧。 这是代码。 如果有人能给我一个提示,说明我的定义不正确,我将非常感激! debugging表明,问题是在最后(不是代码的一部分)*****。 Sub Counter2018() Dim Var1 As String Dim CVar1 As Integer Dim i As Integer Dim j As Integer Dim k As Integer For k = 2 To 50 Var1 = Worksheets("Teachers").Cells(k, 3) CVar1 = 0 For i = 2 To 45 For j = 2 […]

运行时错误“1004”:但停在中间?

不知道我在做什么错。 它工作正常,但当它打开104 xlsm文件,然后我收到 运行时错误“1004”:对象“工作簿”的方法“打开”失败。 Sub OpenAllWorkbooks() If MsgBox("Please have all other excel files closed before running macro. Would you like to continue?", vbYesNo) = vbNo Then Exit Sub 'Optimize Macro Speed Application.ScreenUpdating = False Application.EnableEvents = False Application.Calculation = xlCalculationManual 'Step 1:Declare your variables Dim MyFiles As String Dim count As Integer Dim Worksheet As […]

excel vba插入列运行时错误1004

这是我在StackExchange上的第一篇文章! 我一直在使用StackExchange的答案,但现在我真的有一个问题。 我正在尝试使用vba在excel中添加一个列。 这是程序是更大的子function的一部分,我创build了一个新的工作簿,并从一个不同的工作簿复制一系列工作表。 Workbooks.Add Set TTB = ActiveWorkbook 'add a bunch of sheets here 'sheetName = specific_sheet Set ttb_sheet = TTB.Sheets(sheetName) ttb_sheet.Columns("I:I").Insert Shift:=xlToRight 有了这个我得到1004的运行时错误:'插入方法的范围类失败' 我试着按照StackOverflow的一系列问题… 通过VBAselect范围类失败的方法 VBA错误1004 – 范围级别的select方法失败 看来解决scheme是先select表格,然后select范围。 我已经尝试过,没有运气。 任何人有任何见解? 这是我的主要子代码 Sub create_TTB_workbook(TTB_name_) 'create TTB workbook Dim wsHelper As New WorksheetHelper Dim final_TTB As Workbook Dim ttb_sheet As Worksheet ttb_wb = ActiveWorkbook.name […]