Tag: vba

VBA回合函数

在我的一个程序中,我需要计算一系列数字的平均值。 问题是,有时答案出来一个巨大的十进制,我需要尝试,并得到最多两位小数。 我见过一个叫做Excel.WorksheetFunction.Round(…)东西,但据我所知,它只能用于特定的数字或特定的单元格。 我想知道如果有人知道如何实现这一点,以便它将在一个单元格范围内的所有小数。 Excel.WorksheetFunction.Round(ActiveSheet.Range(g_first_Function_Col & "2:" & g_first_Function & g_totalRow).Select, 2) 上面的代码尝试在一系列单元格上使用循环函数。 g_first_Function_Col是一些列(如“H”列),而g_totalRow是最后一行有任何值的行。 当我尝试运行这段代码时,它告诉我“=”是预期的。 基本上,我试图select一个整列,并围绕它。 谢谢, Jesse Smothermon

在Excel工作表中查找所有数组公式

有没有一种方法来查找给定的Excel电子表格中的所有数组公式?

使用Excel VBA中的MSXML2.XMLHTTP从网站中提取大量的文本数据

我试图从finance.yahoo.com下载历史股票价格数据为1000股股票。 该网站只在一个页面上显示60天的数据,所以我必须循环浏览我下载的时间段以及不同证券的循环。 我已经使用下面的代码来访问相关页面。 Set httpObject = CreateObject("MSXML2.XMLHTTP") httpObject.Open "GET", url, False httpObject.send webObject.body.innerHTML = httpObject.responseText 这对于我访问的99%的数据来说就像一个魅力。 但时不时地,网站返回的对象竟然是空的,即使同一个URL在Internet Explorer中显示正确的数据。 如果我重新运行该URL的代码,下次可能会也可能不会。 我想知道是否有更稳定/一致的方式使用上述方法。 我以前实现了InternetExplorer.Application方法来下载数据,但发现要慢得多和麻烦。

Excel VBA高效获取文件名function

我需要在Excel 2010中使用VBA从远程服务器上的文件夹获取文件集合。我有一个可以工作的function,在大多数情况下,它可以完成这项工作,但是远程服务器经常有可怕的, 可怕的networking性能问题。 这意味着循环说300文件将他们的名字到一个集合可能需要10分钟,该文件夹中的文件数量可能会增长到数千,所以这是行不通的,我需要一种方法来获取所有的文件名在一个单一的networking请求,而不是循环。 我相信它连接到远程服务器是花费时间,所以一个请求应该能够获得一个通过所有的文件很快。 这是我现在的function: Private Function GetFileNames(sPath As String) As Collection 'takes a path and returns a collection of the file names in the folder Dim oFolder As Object Dim oFile As Object Dim oFSO As Object Dim colList As New Collection Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFolder = oFSO.GetFolder(folderpath:=sPath) For Each oFile […]

在VBA中的单元之间移动图像

我有一个单元格(3,1)的图像,并希望将图像移动到单元格(1,1)。 我有这个代码: ActiveSheet.Cells(1, 1).Value = ActiveSheet.Cells(3, 1).Value ActiveSheet.Cells(3, 1).Value = "" 但是,对于包含图像的单元格,单元格值似乎为空,因此图像不会移动,单元格(3,1)中的图像不会被删除。 当我运行代码的特定位时什么都没有发生。 任何帮助是极大的赞赏。 谢谢。

Excel将字段添加到Xml映射

我在Excel 2010工作表上有一个XML映射,我定期从XML文件的内容中刷新。 我最近添加了一个新的字段到XML数据,并希望这显示在我的XML地图上。 我只是希望能够添加新的字段,但它看起来虽然不得不重新导入整个结构,我不想这样做,因为它需要重新开发许多自定义格式化。 任何帮助赞赏。

VBA – 从Access生成Excel文件(QueryTable)

我有一个项目,基本上目标是生成Excel(报告)开始使用VBA访问Access中的button。 此报告的内容是存储过程SQL Server数据库的结果。 错误的路线: With MeuExcel.Worksheets(4) .QueryTables.Add connection:=rs, Destination:=.Range("A2") End With 我得到的是: invalid procedure call or argument (erro '5') 完整的代码(使用Remou用户提示进行编辑): Sub GeraPlanilhaDT() Dim MeuExcel As New Excel.Application Dim wb As New Excel.Workbook Set MeuExcel = CreateObject("Excel.Application") MeuExcel.Workbooks.Add MeuExcel.Visible = True Dim strNomeServidor, strBaseDados, strProvider, strConeccao, strStoredProcedure As String strNomeServidor = "m98\DES;" strBaseDados = "SGLD_POC;" strProvider […]

数据中的锯齿数组| 文本到列

我拥有的 我们以这个代码的作用为例。 Sub Sample() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") ws.Columns(1).TextToColumns _ Destination:=Range("A1"), _ DataType:=xlFixedWidth, _ FieldInfo:=Array( _ Array(0, 1), Array(60, 1), Array(120, 1), Array(180, 1), _ Array(240, 1), Array(300, 1), Array(360, 1), Array(420, 1) _ ), _ TrailingMinusNumbers:=True End Sub 我想要的是 在一小组数据中,上面的代码起作用。 但是如果我想要说Array(2700,1)呢? 这意味着我将不得不写它46次Array(0, 1), Array(60, 1)…Array(1080, 1)….Array(2700, 1) 我曾经尝试过 我尝试使用这种方法 Sub […]

VBA将单张保存为CSV(不是整个工作簿)

我明白有很多的条目,如保存单独的Excel表作为CSV和每个工作表导出到一个单独的CSV文件 – 但我想保存在工作簿中的单个工作表 。 我在xlsm文件中的代码有一个参数和数据表。 我使用粘贴的值创build数据的工作表副本,然后将其另存为csv。 目前我的整个工作簿更改名称,并成为一个csv。 如何在Excel工作簿中“另存为csv”单个工作表? 是否有一个Worksheet.SaveAs或我必须将我的数据表移动到另一个工作簿,并保存这种方式? 代码示例 ' [Sample so some DIMs and parameters passed in left out] Dim s1 as Worksheet Dim s2 as Worksheet Set s1 = ThisWorkbook.Sheets(strSourceSheet) ' copy across s1.Range(s1.Cells(1, 1), s1.Cells(lastrow, lastcol)).Copy ' Create new empty worksheet for holding values Set s2 = Worksheets.Add s2.Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats ' […]

使用VBA for Excel的HTTPS POST请求

我使用“WinHttp.WinHttpRequest.5.1”从Excel中的VBA发送HTTP POST请求。 但我无法设置为HTTPS,因为我收到SSL证书错误。 你将使用什么VBA代码来协商从Excel中的VBA到一个网站的SSL连接?