Tag: vba

当我尝试将公式应用于单个单元格时,为什么列中的每个单元格都会得到公式?

我正在尝试创build一个引用另一个表的公式列,我希望能够对新列进行sorting而不影响值。 我在尝试: ' dataTable is a ListObject Dim statusCol As ListColumn Dim statusRange as Range Dim statusCell As Range Dim statusIndex as Integer Set statusCol = dataTable.ListColumns.Add(2) dataTable.HeaderRowRange(2) = "Status" Set statusRange = statusCol.DataBodyRange statusIndex = 1 For Each statusCell in statusRange.Cells statusCell.formula = "=IF(INDEX(MatchColumn," & statusIndex & "), ""X"", ""Y"")" statusIndex = statusIndex + […]

未设置块variables – 工作簿打开时出错

这个macros是不是由我写的,所以我很难理解错误的来源。 我有一个应该在启动时运行的macros来调整function区以添加一个button,另一部分是在select该button时删除样式。 目前,我得到消息: Object variable or With block variable not set 。 当我select“debugging”它进入VBA屏幕,并立即给我3错误popup窗口说: Can't execute code in break mode 。 第一部分是在启动时运行的两个子目录,它们是: Dim WithEvents app As Application Private Sub App_WorkbookActivate(ByVal Wb As Workbook) Module1.MyRibbon.Invalidate End Sub Private Sub Workbook_Open() Set app = Application End Sub 它突出了Module1.MyRibbon.Invalidate作为有问题的位。 就我个人而言,我本身并没有看到任何问题,但问题可能在模块1中? 该代码包含三个子目录,如下所示: Public MyRibbon As IRibbonUI 'Callback for customUI.onLoad Sub […]

如何复制范围和过去到最后一行

我在单元格E33:G33中有一个用户input事务信息(名称,金额,date)。 用户点击button,交易logging在从E46:G46开始的交易历史列表中使用的最后一行+1中。 到目前为止,我的代码不起作用。 我想要的只是:-copy range(E33:G33) – 查找列E中使用的最后一行 – 低一行 – 复制范围 不能find一个工作的答案,请帮助! 谢谢。

复制粘贴一个单一的值多次到另一个表

我有一个列“ID”,从Sheet1中的列C3开始,其中所有的id列在每个唯一的ID之间的间隔为4个空白单元格,如下所示 我想复制这个ID并粘贴到Sheet2五次,如下所示 任何人都可以build议我怎样才能得到这个自动化的帮助下的VBA

循环浏览产品列表并输出到不同的电子表格中

我有一个工作簿(C:\ DOORS.xlsx)与以下数据: ABCD 100 … Type A Description Remarks 102 … Type B Description Remarks 103 … Type C Description Remarks 我需要创build一个循环,通过每一行输出数据到不同的工作簿(C:\ QT.xlsx)。 它需要能够确保Door和Description的值不能超过55个字符。 如果它们的长度超过55个字符,则需要将其余部分移动到下一行,而不用将单词减半。 此外,如果备注是空白的,那么这是描述应该去的地方。 在QT.xlsx上,输出将如下所示: 'Starting at cell D18 ABCD 18 Door: 100, 100, 103, 104, 105, 19 106, 107, 108, 110, 107 20 Type A 21 Remarks A 'Text Should Be Bold […]

Excel VBA:应用程序定义或对象定义的错误

我已经写了一些代码来查找excel文件中的括号组,并将它们之间的单元格的内容白掉。 在我得到错误信息之前,我有26-27行的代码。 这里是代码: Sub macro() Dim white As Long Dim rowIndex As Long Dim colIndex As Long Dim lastRow As Long Dim lastCol As Long white = RGB(Red:=255, Green:=255, Blue:=255) With ActiveSheet lastRow = .Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row lastCol = .Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column For rowIndex = 1 To lastRow For colIndex = 1 To lastCol If […]

在复制行时存在error handling

跟着我的post如果单元格的值匹配UserForm ComboBox列,然后复制到工作表 。 我设法让代码工作,移动检查名称,然后移动到正确的工作表。 我遇到的问题是检查表单是否存在。 如果在combobox的表格和列2中find匹配项,但没有该值的表单,则会崩溃代码。 一旦所有的信息被复制到相关的工作表,我希望它显示一个msgbox告诉用户有多less行数据已被复制到相应的工作表。 Dim i As Long, j As Long, lastG As Long, strWS As String, rngCPY As Range With Application .ScreenUpdating = False .EnableEvents = False .CutCopyMode = False End With On Error GoTo bm_Close_Out ' find last row lastG = sheets("Global").Cells(Rows.Count, "Q").End(xlUp).row For i = 3 To lastG lookupVal […]

Excel VBA保护,但看不到运行

我有几个macros,我想与我的公司分享。 不幸的是,为了保护我的代码免受其他人的干扰,我locking了macros,但是它不允许最终用户看到它们的macros。 我可以把它放到他们的电脑上,如果我拔起VBA编辑器就可以看到它。 无法解锁项目或从单独的项目运行无法运行。 是否有解决scheme来locking项目,但允许他们运行macros?

如何避免重置从userform设置的全局variables在另一个模块中使用?

我有一个在Excel中的用户窗体,有很多选项可以select和input值。 在用户窗体的代码中,我有几个声明的公共variables存储在用户窗体中input的信息。 当用户input用户表单中的所有内容时,他们点击“处理”button,并执行表单的主要function(将来自多个不同Excel文件的数据编译到该表单中)。 所有的数据编译后,我有第一个工作表上的另一个命令button用于运行编译的数据的汇总报告,它放在同一工作簿中的另一个工作表中。 此摘要macros的代码在模块1中定义,而不是在用户窗体的代码中定义,因为它连接到不同的命令button。 看来,我所有的公共变​​量是在用户窗体的代码中设置的,当我运行这个汇总macros,所以没有任何工作正常。 我必须以某种方式将此模块链接到用户窗体才能访问这些公共variables? 或者我必须把摘要macros的代码放在用户表单的代码中? 如果是这样的话,我如何从RunSummary_Click()命令button代码的代码中调用用户窗体代码中的Sub?

在列中查找特定单词时,总结所有行的值

如果第一列中有一个特定的值,我想总结一行的所有值(有很多列)。 下面的问题是: 与图像链接 我想findAPIstream变学,然后findCond。 时间,validation这两个条件,总结行的所有值。