Tag: 工作表

尝试在活动工作簿中引用另一个工作表

我正在尝试使单击命令button时激活另一个工作表,但我留在同一个活动工作簿: Sub Submit_Warranty() 'Set warranty data worksheet as active page Sheets("Sheet2").Activate 'Show the submit warranty user form Warranty_Input.Show End Sub 我不断收到“下标超出范围”的错误。 有任何想法吗?

当工作表名称是数字时,索引号/工作表名称与variables混淆

我可能会发现一个新的问题! 我试图select基于工作表名称的工作表,使用名称variables,因为这是一个循环的所有部分。 但是当工作表的名字是一个数字的时候,我遇到了麻烦,因为如果我有,例如name = 5,那么Worksheets(name)给了我索引号5工作表和Worksheets(“name”)当然会查找一个名为“名称”。 我可以做一个解决方法,为每个工作表的名称添加一个字母,这样就不会将其视为数字,然后再删除这些字母,但有没有更好的方法? Sub RenameFiles() Dim source, old_filename, old_tab, new_filename As String Dim i As Integer source = Range("path").Value For i = 1 To Range("total_file_number").Value old_filename = Worksheets("Import and combine").Cells(3 + i, 2).Value old_tab = Worksheets("Import and combine").Cells(3 + i, 3).Value new_filename = Worksheets(old_tab).Cells(1, 1).Value 'If old_tab is a number, VBA treats […]

在工作表中循环时,运行时错误6溢出

我正在使用下面的代码删除Excel中的path引用用户共享文件的加载项。 它与一些文件一起使用,但将其与新文件一起使用,并在打开时收到运行时错误6溢出错误。 它正停在Cell Replace行上。 Private Sub Workbook_Open() Dim i As Long Dim strWorksheetName As String strWorksheetName = ActiveSheet.Name Application.DisplayAlerts = False For i = 1 To Sheets.Count Sheets(i).Activate If Sheets(i).Type = xlWorksheet Then Cells.Replace What:="'c:\*xla*'!", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False End If Next i Application.DisplayAlerts = True Sheets(strWorksheetName).Activate End Sub

保护Excel表格,允许通过VBA代码插入图像

我试图保护工作表允许插入图像。 然后我学会了如何用VBA代码保护WorkSheet,但是WorkSheet不允许插入图像。 当我手动保护工作表时,我发现如果选中“ 修改对象 ”选项,工作表允许插入图像。 现在,我正在searchProtect方法的参数,然后我有以下代码: With Sheets("Sheet1") .Protect Password:="password", DrawingObjects:=True, Contents:=False, Scenarios:=False End With 我认为代码占据了参数DrawingObjects ,它应该允许插入图像,但代码不能正常工作,WorkSheet被保护,但仍然不允许插入图像。

如何在不离开当前工作表的情况下在特定的工作表上运行vbamacros

我想要在Excel中的工作簿的一个或多个特定工作表上运行VBA代码。 但我不希望激活代码将运行的工作表,我希望在后台完成,并在当前工作表上显示结果,其中将有button调用代码。 我对这个问题所看到的所有答案都需要访问macros将运行的工作表,但是我想避免这种情况。 也许把代码放在一个With语句中可以完成这个工作吗? 我已经调查过,但不能弄清楚线条前的所有点。 我试图在这里发布代码,但我不断收到缩进错误,所以我现在就省略它。 提前致谢。

如何引用另一个工作表中的数据表列?

Microsoft Excel 2010 – 我有两个工作表, Sheet1和Sheet2 。 这两个工作表上都有数据表,涵盖了不同types的数据,如下所示。 <Worksheet "Sheet1"> <DataTable "Table1"> <Columns> <Column "T1Col1" /> <Column "T1Col2" /> </Columns </DataTable> </Worksheet> <Worksheet "Sheet2"> <DataTable "Table2"> <Columns> <Column "T2Col1" /> <Column "T2Col2" /> </Columns </DataTable> </Worksheet> 目前, T2Col2中的每个单元格都包含如下的函数: =COUNTIF('Sheet1'!B:B, [T2Col1]) 我想用括号内的列引用replace“B:B”到[T1Col2] ,但我不确定如何在单独的表和工作表之间做到这一点。

如何search列并返回具有特定值的下一列中的值

我有一个Excel工作表,其中包含列和多个工作表。 我想从Sheet1复制列A到Sheet2。 然后,一旦我复制列A,我想从Sheet2列B有一个特定的值(在这种情况下,“D”)在A中每个填充的单元格相邻。我只是坚持下面的代码。 例: Sheet1包含: Column ABC Arthur 1 34 Bertha 2 35 Sheet2必须具有: Column AB Arthur "D" Bertha "D" 卡住代码: Worksheets("Sheet1").Columns("A").Copy ActiveCell.Columns("A:A").Columns("A")

我需要在Excel中的一列中计算值,当它们符合另一列中的条件时

我试图创build一个统计报告,自动更新为数据放入相应的工作表。 所以这就是说,没有多less数据将被放入数据库,所以我需要引用整个列(A:H),而不是closures数组(A1:H70)。 例如,我需要那些有癌症和生活在城市中的妇女。 更重要的是,我有很多专栏,发生性行为,不pipe他们患有癌症,都会在电子表格的完全不同的方面,这意味着我不得不拥有一大堆我不关心的数据,而且我不知道该如何控制(或者如果我甚至需要 – 也许我只是以某种方式混淆自己)。 为了进一步澄清我想要做的事情,我知道如果我在SAS中编写这个程序,我会在一个简单的轻松美丽的线条中使用Proc Print的Where子句。 任何想法,我需要用什么Excelfunction来做到这一点? 我已经跑过了一些想法,尝试使用VLOOKUP,ARRAY,MATCH和一个嵌套的IF树,但是他们所有的一路都跑到了死路一条。 感谢您的任何想法,你可能有!

如何使用VBA导出图表button和细节

我一直在处理在我工作的Excel应用程序中导入/导出VBA模块和类。 似乎真正有用的版本控制使用。 我喜欢。 我可以轻松地在模块中实现代码更改,导出我的更改,提交并推送更改,并在Excel应用程序的另一个实例中“重新加载”(删除所有模块并重新导入)所做的更改。 但是,我无法find一种方法来使用这张表。 如果我添加一个可视化的变化(例如,我添加一个button或更改工作表的样子),是否有办法导出工作表作为代码,就像模块,以便我可以导入工作表完全一样它从我的变化看? 我已经知道了一些伪解决scheme,但是要么在版本控制方面不适合我需要的东西,要么将会太大提升。 首先,我可以编写一个VBA脚本来将我的Excel应用程序复制到一个.xlsx文件中,这个文件可以保存我的任何表单更改,然后我可以将它们导入到应用程序的另一个实例中,如果我想的话。 这个问题是我不能将它们包含在我的版本控制中。 我也知道,我可以在Workbook_Open事件中编写脚本,以在每次打开Excel应用程序时,以编程方式在我的工作表上实现我的用户界面。 这将解决我提交我的代码的问题,但太多了。 任何build议或解决这个问题? 编辑:要清楚,我知道我可以出口我的床单作为模块以及。 但是,似乎没有任何东西可以指示出口纸张的外观。 因此,当我导入“表单”时,它将作为类模块导入。

如何通过在另一个工作簿中的VBA对象名称引用Excel工作表?

我有两个Excel工作簿: Source.xlsx Tool.xlsm Source.xlsx包含一个包含VBA对象名称shtTests : 我们假设在Tool.xlsm有一个variables,它包含对Source.xlsx存储的工作簿的引用: Dim wkbSource as Workbook Set wkbSource = GetSourceWorkbook() ' Some function that gives a reference to the workbook 核心问题:如何通过使用shtTests的VBA名称来引用shtTests中的Tool.xlsm ? 或者以代码的forms提出问题…假设你有这个代码片段: Dim wkbSourceShtTests as Worksheet Set wkbSourceShtTests = GetShtTestsFromWkbSources(wkbSources) 问题: GetShtTestsFromWkbSources必须看起来像什么? 注意:我不想像使用wkbSources.Worksheets("Test Cloning")那样通过它的Excel名称来引用它,因为有些人可能有一天会更改它的Excel名称。