我在工作的地方有一个xlsm文件(Office 365)。我的宏做了很多事情,到达一些互联网页面,与Access数据库进行通信。我在处理推荐人
VBA
Microsoft Excel 16.0 Object Library
OLE Automation
Microsoft Office 16.0 Object Library
Microsoft Scripting Runtime
Microsoft Internet Controls
Microsoft XML, v6.0
Microsoft Forms 2.0 Object Library
Microsoft ActiveX Data Ob
用户Peh给了我很棒的代码来将数据从关闭的工作簿复制到打开的工作簿,但现在我想做相反的事情。我希望有一个打开的工作簿,其中包含要复制的公式和值,并将这些值作为值粘贴到关闭的工作簿中。我想从打开的工作簿的"AllData“选项卡中复制range B36:K36,以便将以K1开头的值粘贴到已关闭工作簿的Sheet1中,该工作簿名为"archive.xlsx”。
这是我当前的代码(来自互联网):
Sub CopynPasteWrkBk()
Dim InputFile As Workbook
Dim OutputFile As Workbook
Dim Inpu
我想使用访问/操作存储在OneDrive Personal中的Excel工作簿。我能够访问/操作存储在OneDrive for Business中的Excel工作簿。
我能够验证我的OneDrive个人帐户(获取访问令牌、权限范围等)。我还可以执行其他(与Excel无关的)图形REST操作,例如视图文件属性。
Microsoft 只支持OneDrive for Business (不支持OneDrive Personal)。
这里的是“OneDrive、SharePoint或其他受支持的存储平台中存储的…读取和修改Excel工作簿”。他们真的是指"OneDrive for Busine
我正在使用来自C#的。(见2013年)。我正在使用在Office2010Professional Plus附带的Excel版本中创建的Excel工作簿。工作簿有一个.xlsx扩展。
当我在Excel中打开工作簿时,它有4个工作表是可见的,但是当我使用互操作打开它时,工作表集合包含了一些其他名称的工作表,如下所示:
Icons
International URLs
International Settings
DropdownSizer
International Translastions
Data Validation
International Data
然后,在该列表之后,在工
我想打开一个.msg文件。
我不能像打开工作簿那样打开.msg文件。
Sub OpenMail()
Workbooks("MyBook").Sheets("Sheet1").Activate
Dim MyItem1 As Outlook.MailItem
Dim MyItem2 As Outlook.MailItem
If Range("A1").Value > 0 Then
Set MyItem1.Open = "C:\Users\jeff\OneDrive\Docu
我想打开一本现有的excel工作簿,并添加一个具有给定名称的工作表。所有这些都必须从另一本excel工作簿中完成。
我可以通过执行代码从空白工作簿打开现有的工作簿。但是,当我想在打开的工作簿中添加一个新工作表时,我的代码是在执行工作簿(空白工作簿)中添加新工作表。
Sub Valuesets()
Dim ws As Worksheets
Dim PTable1 As PivotTable
Dim sheet As Sheets
Set wb = ActiveWorkbook
Workbooks.Open("C:\Users\user\Desktop\workbook1.xlsb
我试图:
检查指定的文件夹,以确保具有当前年份名称的文件夹存在。如果没有,就创建它。
将所有内容从已经打开的工作簿的Sheet1复制到新添加的工作簿。
用指定的名称保存新工作簿并关闭它。
如果具有名称为“当前年份”的文件夹,则宏将按预期工作。
如果文件夹不存在,则不会关闭文件。它显示了
运行时错误"1004方法保存对象_workbook失败“。
Sub Copy_Data()
Dim ThisYear As String
Dim fdObj As Object
Dim wbO As Workbook
ThisYear = Format(Date, "YYYY")
我有一个包含几本工作簿的文件(F),每个工作簿都有相同的格式。在列条件下,我对每个工作簿执行条件和。我希望将输出放在另一个工作簿中,该工作簿包含一个工作簿(包含在F中)。
我找不到更改工作表名称的好策略,因为它具有循环工作簿名称的功能。
Set Output_tot_n = Workbooks("Final_Output").Sheet_name.Range("B7")
我得到了
错误438“对象不支持此属性或方法”
整个守则:
Sub Proceed_Data()
Dim FileSystemObj As Object
Dim
基本上,我将包含在第一个工作簿中的数据导出到第二个工作簿,除了超文本链接之外,它工作得很好。
我以两种方式导出数据:
第一种方法是使用包含数据的数组来导出:
For m = 5 To 5 + k - 1
openExport.Worksheets("Ind").Cells(lastrow + 2, m).Value = headerExportArray(m - 5)
Next m
第二种方法是直接从工作簿到工作簿:
newWorkBook1.Worksheets("Feuil1").Cells(1, i + 5 + k) = OldWorkbook.W
我一直在努力想办法解决这个问题。因此,我在excel工作簿中有代码,可以从word文档中的图表打开和修改嵌入式Sourcedata工作簿。 我想要做的是关闭word文档中图表中的所有嵌入工作簿,但使用Application.Workbooks集合和“For Each workbook”循环。当我尝试使用此循环时,它将关闭所有工作簿,甚至包括那些在运行打开嵌入式工作簿的代码之前打开的工作簿。所以我编写了这样的代码来关闭嵌入的工作簿,但它花费的时间太长了: Dim K As InlineShape
Dim chrt1 As Word.Chart
Dim xWB As Workb
我目前所面对的问题是:
1.将当前打开的所有excel工作簿存储在数组中。
2.保存和关闭工作簿
3.打开所有打开的工作簿
4.重点放在特定的工作簿上
我现在的代码是:
For Each wb In Application.Workbooks
wb.Save
Next wb
工作如预期,但我的不同的excel工作簿保持‘闪烁’,这是一种刺激,因此需要保存和关闭所有。
我确实理解,要回到特定的工作簿上,可以使用activate函数。如果我在“每个循环”中做一个集合数组,它将不能工作,因为它将变成一个双for循环。
由于我是VBA的新手,我非常感谢你们的任何意见。
谢谢!
这可能是相当愚蠢的,但正在发生的事情,它应该是相当快的编写… 问题是,在我打开一个文件后,我无法在工作簿中写入内容,即使我使用的代码在其他情况下也是如此。在打开新文件之前,我添加了一行来写入值(可以工作,它会写一个5),然后在文件打开之后,在这两个工作簿中添加相同的行,并使用不同的值(10) 这些文件位于OneDrive文件夹中,为了丢弃任何问题,我将它们移动到一个非同步文件夹中,但没有任何更改. 想法? Option Explicit
Sub Generate()
Dim WB_Main As Workbook, WB_Week As Workbook
Dim Prog