Tag: vba

使用VBA在Excel 2010中创build参数化SQL查询

我遇到以下链接: http://www.informit.com/guides/content.aspx?g=sqlserver&seqNum=135 其中,它们列出了相对简单的代码来从Excel VBA中查询SQL数据库。 ' Declare the QueryTable object Dim qt As QueryTable ' Set up the SQL Statement sqlstring = "select au_fname, au_lname from authors" ' Set up the connection string, reference an ODBC connection ' There are several ways to do this ' Leave the name and password blank for NT authentication connstring […]

在VBA中出错:` 未find数据源名称,没有指定默认驱动程序

我正在创build一个macros,将我的Excel工作表中的数据添加到我的MySQL数据库中 但是,当我运行macros我越来越错误: [Microsoft][ODBC Manager] Data source name not found and no default driver specified 码: Sub UpdateMySQLDatabasePHP() ' For detailed description visit http://www.vbaexcel.eu/ Dim Cn As ADODB.Connection Dim Server_Name As String Dim Database_Name As String Dim User_ID As String Dim Password As String Dim SQLStr As String Dim rs As ADODB.Recordset Set rs = New […]

识别(Excel 2007)VBA中的固定的RecentFiles或其他?

有没有一种方法,而不是扫描registry,以确定RecentFile对象被固定到“最近的文档”列表? 从VBA的偏好,可以生活在一个附加的东西。 背景:我希望说服Excel将固定的项目“浮动”到列表的顶部(或底部),这可以通过重新Add到RecentFiles来实现,只要我能够确定感兴趣的项目即可。 我可以在registry中(在HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\File MRU )看到固定的项目在那里被标识,例如: [F00000001][T01CC04D632020F50]*C:\Files\ThisOneIsPinned.xlsx [F00000000][T01CBFB8F14408960]*C:\Files\ThisOneIsNot.xlsx …所以这是一个方法来处理它,我想。 我宁愿less点东西,呃, 令人兴奋的 ..

将工作表链接到主工作表并在主工作表不存在时保留值? Excel 2010

我有很多工作表,现在每三个月我都要经过一个一个地去更新一些信息。 如果我可以创build一个包含这些更新的单元格的主源文件,那么我的所有工作表都链接到了,这样我就可以更新这个文件,然后我所有的文件就会更新。 我唯一的麻烦是,我通过电子邮件发送这些工作表给客户,每个客户得到一个特定的工作表。 这将意味着到主源文件的本地链接将不再存在,我假设会有错误。 有没有办法,我可以根据需要链接我的文件到主文件,能够更新主文件,并相应地更新所有其他文件,但只发送一个文件到客户端,并保留值主文件。 我希望这是有道理的! 我想要做的事情很简单,把它写成文字只是有点棘手。 任何帮助或build议将是伟大的!

如何使用产品公式在Excel UDF中汇总回报

我试图把下面的公式放到一个UDF中,这样我可以累计每月收益。 在Excel中,公式必须被识别为一个数组,所以当我input时,按下Ctrl + Shift + Enter可以得到公式周围的{}括号。 有谁知道如何做到这一点? 我想只能inputreturns_calc()并select适合下面的返回variables的范围。 {=(PRODUCT(1+returns/100)-1)*100}

从过滤的范围获取最后一行

当您的工作表中的数据被过滤时,如何查找最后一行数据? 我一直玩Special Cells和Visible Cells但无法find解决scheme。 我认为这一定是我下面的一些变化: … With ws LR = .Range("A" & Rows.Count).End(xlUp).Row .Range("A1:E" & LR).AutoFilter Field:=2, Criteria1:="=4" LRfilt = .Range("A" & Rows.SpecialCells(xlCellTypeVisible).Count).End(xlUp).Row Debug.Print LR Debug.Print LRfilt End With … 文件可以在这里find: wikisend.com/download/443370/FindLRFilteredData.xls 编辑: 与Siddharth讨论后意识到,我不希望Last Row属性,我需要find导致Sid的解决scheme下面的可见行数…

为多值字段创build单独的行条目

我有一个表和一个项目列表。 本质上它是一个问题跟踪工具的导出。 该表的其中一列包含逗号分隔的值。 我正在寻找一种方法来为多值条目的各个值创build单独的条目。 例子:( 这是一个简单的例子,真正的案例包含十几个专栏) 源数据: ID | Title | Areas Affected | 1 | Issue title A | Area X, Area Y | 2 | Issue title B | Area Y, Area Z | 3 | Issue title C | Area X, Area Z | 我正在尝试的是: ID | Title | Areas Affected | […]

从Excel与VBA调用时,VBA UDF给出了不同的答案

下面的VBA函数计算包含给定范围内的公式的单元格的数量。 它从VBA子进行调用时可以正常工作。 从Excel中调用时,将返回范围内的单元格总数。 来自Excel的调用是=CountFormulas(A1:C7) ,它返回21即使只有两个具有公式的单元格在范围内。 什么是造成这种差异? Public Function CountFormulas(ByRef rng As Range) As Long CountFormulas = rng.SpecialCells(xlCellTypeFormulas).Count End Function Public Sub CountFormulasFromSub() Dim rng As Range Dim res As Integer Set rng = Sheet1.Range("a1:c7") res = CountFormulas(rng) End Sub

从Excel中保存csv失去小数点精度

如果我创build一个简单的.csv文件,包含这样的东西: 01/22/2013,3.14159265358979323846264338 并继续在Excel中打开它,单元格将显示一个舍入数字,即3.141592654和公式栏将显示整个值。 但是,如果我做一些更改并保存csv文件,或者只是将原始文件保存为一个不同的csv文件,该文件将只包含四舍五入的数字3.141592654 ,导致我失去了一些小数点的精度。 我正在通过vbamacros写这些文件。 我努力了 : ActiveWindow.DisplayFormulas=True 之前保存命令,它的作品,除了它改变我的date为一个数字格式,我还没有想出一种方法来应用这种格式只有一个单元格的范围。 有一些简单的方法来保持我的数字精度?

OleDB数据提供者找不到VBA / Excel

我几乎不熟悉VBA(在学校有一些课程,就是这样)。 现在我需要从Excel文件连接到Oracle数据库(在远程服务器上运行)。 我四处窥视,并find一些例子。 所以,到目前为止我已经写了下面的代码: Sub Try() Dim cn As New ADODB.Connection Dim rs As ADODB.Recordset Dim cmd As ADODB.Command Dim chunk() As Byte Dim fd As Integer Dim flen As Long Dim Main As ADODB.Parameter Dim object As ADODB.Parameter Stil = vbYesNo + vbCritical + vbDefaultButton1 Titel = "db connection test" ' Meldung anzeigen. Antwort […]