我有两个Excel工作簿。 第一个工作簿有两个工作表:“销售”和“查找”。 第二个工作簿有一个工作表:"ID“ 从第一个工作簿(Sales)中,我必须读取B列的值,在"Lookup“表的A列中搜索它,并从B列中获取名称。 获取ID后,我必须写入"ID“工作簿的E列。 我尝试了第一部分,但它没有遍历Sales的单元格,也没有从"Lookup“中提取值。 Sub btnExport_Click()
Dim rng As Range
Dim ws1, ws2 As Worksheet
Dim MyStringVar1 As String
Set ws1 = Thi
当某些单元格被单击时,我有一些运行宏的代码。问题是,对列进行排序也会导致宏运行。当对列进行排序时,如何防止此代码运行?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count = 1 Then
If Not Intersect(Target, Range("AI13:AI10000")) Is Nothing Then
MsgBox "Hello World!"
End If
End If
我有一个从Sumif获取值的过程,但我无法将值复制并粘贴到另一个工作簿中。任何帮助都将不胜感激。以下是我的WIP:
Sub WLPTdata()
Dim NEO As Range
NEO = Application.SumIf(Range("C7:C3000"), "TM-NEO", Range("K7:K3000"))
Selection.Copy
Windows("HSD_PTdata.xlsx").Activate
Sheets("pdata").Select
Range("B160"
我有一段代码可以将多个excel文件合并到一个工作簿中。但是,在我将这些工作表合并到另一个工作簿中后,那些具有到以前工作簿的链接的工作表都断开了。我还想在新工作簿中的"Total“工作表中对特定字段中的所有工作表求和。
请帮帮忙。
Sub MergeExcelFiles()
Dim fnameList, fnameCurFile As Variant
Dim countFiles, countSheets As Integer
Dim wksCurSheet As Worksheet
Dim wbkCurBook, wbkSrcBook As Workb
如何激活以前根据当前工作簿中的单元格文本打开的工作簿的工作表?例如,我尝试使用下面的代码来激活"Book1“中的工作表Book1,在这里,我已经从我使用的当前工作簿打开了”另一个工作簿“,但是当工作表设备B明显存在于"Book1”中时,它显示下标超出了范围。
ThisWorkbook.Worksheets(Sheets(1).Range("A2").Text).Activate
'trying to activate the worksheet device B in "Book1" from another workbook tha
我有一个工作簿,它的命名范围非常大(远远超过200)。我确实需要一种快速、轻松地处理所有命名范围的方法,这样我就可以使用VBA来处理/填充它们。
到目前为止,我的解决方案一直是在我的公共NamedRanges模块中的一堆get properties中设置代码,以设置与命名范围相等的属性,如下所示:
Public Property Get LotNumber49() As range
Set LotNumber49 = Common.GetRange(Strings.LotNumber49)
End Property
其中Strings.LotNumber49是一个属性,它包含工作簿中记
我一直在努力解决这个问题,但到目前为止还没有成功。该代码工作正常,但不幸的是,它以意想不到的方式运行。
宏工作簿是包含“数据”表上所有数据字段的主工作簿。精益工作簿包含某些数据点,我希望将这些数据点复制并粘贴到宏工作簿中" data“工作表上的命名范围中,直到最后可用的行。
前任:
宏工作簿有列:
Eng # Eng Name Date Started Date Completed KPI1 KPI2
100 ABC 12/01/2018 12/10/2018 50 100
精益工作簿有列:
Eng #
我正在循环浏览远程打开的工作簿的工作簿和工作表.Names集合。由于某些原因,该工作簿中的一些命名范围不包括在.Names集合中。如果我打开工作簿并找到名称管理器,我可以在那里看到它们。但是当我在集合中循环时,它们是不会通过的:
Dim app As New Excel.Application
Dim book As Excel.Workbook, wbReport As Excel.Workbook
Set book = app.Workbooks.Open(filePath)
app.visible = False
For Each nr In book.Names
Debug.
我有两本练习册。源工作簿和目标工作簿。它们是完全相同的,除了一个工作表在两个中具有相同的名称但不同的数据(都包含大约30个工作表)。我想要的是将其余相同的工作表从源工作簿复制到目标工作簿,只留下1个工作表,它会延迟数据。
基本上,目标工作簿中存在的相同工作表应替换为源工作簿中的工作表。工作表包含公式和命名区域。我成功地编写了用于复制工作表的VBA代码。但是因为命名区域有一个工作簿范围。命名区域仍引用源工作簿中的位置。因此,我得到了两个同名的命名范围。类似于:
'The one already present in the destination workbook (from the w
我正在尝试拆分我的工作簿,但是当我这样做时,新工作簿中的命名区域引用了原始工作簿。我不想这样,因为我已经将这些引用的源代码复制到了新的工作簿中。因此,我想删除命名范围中对旧工作簿的引用。我试图通过将引用替换为nothing来改变这一点,但是它不起作用。我做错了什么,或者有其他方法吗?我还尝试删除命名范围并将其替换为新的命名范围,但引用命名范围的一部分是一个带有=offset(...)的函数。这似乎在VBA中也不起作用。 Sub RenameNamedRanges()
Dim all_names, n
all_names = Array("1stNamedRange
我有两个工作簿“来源”和“目标”。我想查看每一张目标工作簿,并找到所有指定的范围。如果范围名称与工作表的名称相同(来自其他工作簿: Source),那么我将把数据从Source复制到Target。
假设在Source中,我有一个表("Test1"),而在Target中,我在一个随机表中有一个名为range ("Test1")的。我想匹配这些,并将数据从工作表"Test1“复制到范围为"Test1”。
但我不知道如何引用动态范围/数组。我想使用数组,因为它更快。有什么想法吗?谢谢你提前了。这就是我迄今尝试过的:
Public Sub t
我有一个工作簿,它需要它与另一个工作簿交互。我有下面的代码,它可以很好地运行,并得到单元格的值。但是我需要一个函数来引用另一个工作簿。
function main(workbook: ExcelScript.Workbook) {
// Get Worksheet
let Sheet1 = workbook.getWorksheet('Worksheet 1');
// Get the value of cell A1.
let range = SourceData1.getRange("A1");
// Pri
我正在尝试遍历VBA Excel中的命名范围,以便从我在特定单元格中创建的表中创建jpgs/pics。代码不仅要在一个工作簿中遍历命名范围,而且要在多个工作簿中循环,这些工作簿在“主”Excel工作表中按路径定义。
我已经在各自的工作簿中分别指定了相应的范围,以便它们出现在Excel中的名称管理器中。
Public Sub Charts_to_JPG()
'''''''''''''''''''
'''D
当使用.xla()方法关闭“外接程序”工作簿(Workbook.Close)时,我会收到此错误:
error 1004:
"This workbook is currently referenced by another workbook and cannot be closed."
我关闭了从VBA编辑器中可见的所有其他工作簿。现在,“外接程序”工作簿是唯一打开的工作簿,但我仍然收到ThisWorkbook.Close()的错误。用“停止按钮”重置VBA编辑器中的项目没有帮助。
为什么Excel认为此工作簿当前由另一个工作簿引用?(编辑:没有其他工作簿,我全部关闭了。此时,只