所有问题: [vba]

1,472 个问题

类似标签:
2
投票
2答案
3702 次观看

如何从C#访问Excel VBA中的类模块?

我有一个带有类模块的Excel加载项。我想在C#中实例化类模块并在其上调用方法。我该怎么办?

7
投票
4答案
4733 次观看

有没有一种方法可以为VBA中的类重载构造函数/初始化过程?

在C#中,我知道可以通过在类的主体中指定它来重载类的构造函数: public class MyClass() { public MyClass(String s) { ... } } 这将覆盖默认构造函数(不带参数),并强制使用参数s初始化类。 我知道在VBA中可以使用Private Sub Class_Initialize()初始化我的类,但是我不知道是否有一种方法可以强制使用参数初始化我的类。能做到吗?

3
投票
1答案
1511 次观看

没有为docmd.applyfilter处理结果

我有一个Access应用程序,可以在其中使用搜索功能。我在窗体上有一个TextBox和一个Search Button,它对用户在TextBox中输入的内容进行通配符搜索,并在其他控件(文本和组合框)中显示记录。 要实现此目的,我正在使用DoCmd.ApplyFilter方法,我想知道是否有一种方法可以处理“无结果”情况?它当前所做的是将所有显示控件显示为空,并且ID字段显示(AutoNumber)就像我要添加新记录一样。 如果使用DoCmd.ApplyFilter无法处理任何结果,那么还有另一种方法来搜索记录并处理“无结果”情况吗?

0
投票
1答案
3166 次观看

如何使用运行中的vba代码获取文件的文件路径

我想从运行vba代码的文件中获取文件夹路径。 例如:vba代码在文件C:\ myfolder \ file.accdb中,我希望vba代码返回C:\ myfolder \ 有可能吗?

1
投票
2答案
1547 次观看

Outlook 2007 CommandBarControl.Execute无法正常工作

我最近切换到Outlook 2007,并注意到我的VBA宏无法正常工作。我使用以下代码打开一个新的约会项目(并自动填写)。它在Outlook 2003中运行完美,但是现在objCB.Execute却什么也没做。我尝试了不同的控件ID,它仅适用于某些控件,但我不知道为什么或为什么不全部。 Dim ex As Explorer Set ex = Application.ActiveExplorer If ex.CurrentFolder.DefaultItemType <> olAppointmentItem Then Set ex = Nothing Ex...

0
投票
3答案
5732 次观看

Excel VBA将多列合并为单独的一行

我有一个Excel 2007工作表,其中包含5个列和+/- 5000行数据。 我想做的是创建一个宏,该宏将: 在每条记录下插入3个空白行 将值复制到第1列的该行中,然后将其粘贴到第1列的3个新行中 剪切第3列中的值,并将其放在第2列中它下方的第一个空白行中 剪切第4列中的值,并将其放在第2列中它下方的下一个空白行中 从第5列中剪切值,并将其放在第2列中它下方的下一个空白行中 我正在拔头发试图做到这一点,但无济于事!请有人可以帮助我吗? 非常感谢

68
投票
3答案
318355 次观看

如何在VBA中连接字符串?

此问题来自VBA中 Range.Formula =下的注释引发一个奇怪的错误。 我通过反复试验编写了该程序,因此我自然尝试了+连接字符串。 但是串联字符串比&更正确吗?

0
投票
2答案
27742 次观看

从Excel VBA使用ODBC连接到Oracle 10g

以下代码有效。连接打开正常,但是当表中有数据时,recordset.recordCount始终返回-1。如果我尝试在记录集上调用任何方法/属性,它会使Excel崩溃。有任何想法吗?? 谢谢 Sub GetData() Dim conn As New ADODB.connection Dim connString connString = "DSN=name;Uid=user;Pwd=pass" Dim rsRecords As New ADODB.recordSet conn.Open connString rsRecords...

0
投票
1答案
258 次观看

如何在Excel 2007中多次引用徽标图像

需要在多个工作表上使用公司徽标。如何仅使用和引用图像的一个实例来减小文件大小,还是重要?

1
投票
1答案
3531 次观看

朱利安日期转换为Excel中的mm / dd / yy

我正在尝试在Excel VBA中将朱利安日期(yy / ddd)转换为常规的mm / dd / yy数据。我有一个使用select case语句的想法,该语句每个月都会调用一个函数。但这是很多代码,我很懒。我想知道是否有更好的方法?

0
投票
2答案
13485 次观看

Excel宏选择多行

我有excel宏来选择要剪切并粘贴到下一张纸的行。现在,我想一次选择多行以剪切并粘贴到下一张纸,然后返回上一张纸以删除剪切的空白行。我用于单行剪切和粘贴的代码如下: Sub CutPasteRows() Dim iLastRow As Integer 'select the first cell to intiate script txtRowNum = Selection.Row 'select the row Rows(txtRowNum).EntireRow.Select Selection.Cut 'if the activ...

0
投票
2答案
1101 次观看

MDX检索记录集

我正在尝试匹配现有报告功能,同时为概念验证建立新的多维数据集。 我可以使用MDX查询从多维数据集中检索数据并将其放入记录集中,以便随后用数据填充Excel工作表吗?

6
投票
3答案
8818 次观看

Excel VBA冒号

可能重复: VB使用冒号将两个语句放在同一行 我在Excel VBA中具有以下声明 Public Const cdbArea = 1: Public Const cdbDist = 2: Public Const cdbChange1 = 4: Public Const cdbChange2 = 5: Public Const cdbTR = 5: Public Const crbArea = 1: Public Const crbDist = 2: Public Const crbTerr = 3: Public Const crbChange1 = 4:...

11
投票
5答案
150162 次观看

VBA中的哪个命令可以计算字符串变量中的字符数?

假设我有这个变量: word =“习惯” VBA中的哪个命令将允许我计算该变量中有多少个字符(在我的情况下为5)。 重要提示:变量“单词”仅包含一个单词,没有空格,但可能包含数字和连字符。

2
投票
2答案
17193 次观看

在Excel中删除图表

我试图绘制一些RTD数据并意外地在同一工作表上生成了数百张图表。现在,我正在尝试消除错误并删除所有图表,但是我对此不太走运。 我记录了一个宏,在该宏中,我手动删除了一个图表,然后尝试编辑代码以遍历所有图表,但始终出现错误。我的代码如下: Sub Macro3() Dim i As Integer For i = 1 To 100 Sheets("Calculations").Select ActiveSheet.ChartObjects("Chart " & CStr(i)).Activate ActiveChart.ChartArea.Select A...

2
投票
3答案
32283 次观看

使X和Y轴比例在Excel图表上相等

我希望Excel图表的X和Y轴在屏幕上具有相同的比例,因为我正在绘制地理数据。1公里乘1公里的正方形应该看起来像正方形,而不是矩形,也就是说,不要在一个方向或另一个方向上挤压地图。在Matlab中,执行此操作的命令是axis equal。 如何使用VBA做到这一点? 我可以直接在Excel中忽略一个更简单的解决方案吗?

1
投票
4答案
4227 次观看

VBA中的Range.Formula =抛出一个奇怪的错误

这是VBA代码除外 summ = "СУММ(AQ" + Format(first) + ":AX" + Format(last - 1) + ")" cell = "AQ" + Format(last) + ":AX" + Format(last) r.range(cell).Formula = "=" + summ 应插入一个公式,例如=СУММ(DW6:EI18)变成DW19。 (СУММ是SUM的俄语本地化名称) 发生的是,上面的正确公式出现在正确的位置,但显示#NAME错误。如果我选择了该单元格,则将光标放在公式上,然后按Enter,该公式不会改变,但会开始起作...

1
投票
4答案
10954 次观看

什么是VBA中的“ Dim fso,MyFile,FileName,TextLine”?

我从这里的一个好人那里收到了这段代码,他们愿意花时间和精力与新手分享他们的知识: Sub ReadLinesFromAFileOneAfterAnother () Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso, MyFile, FileName, TextLine Set fso = CreateObject("Scripting.FileSystemObject") FileName = "c:\testfile.txt" Set MyFile = fso.OpenTextFile(FileNam...

1
投票
1答案
213 次观看

用Excel工作表代替Access数据库

对于您即将听到的菜鸟般的行为,表示抱歉..... 我有使用Access DB的VB应用程序,将数据库称为db_1。 出于最好的原因,我不得不用Excel工作表代替db_1- 与VB应用程序有关。 我希望在工作表中填充此新数据,将工作表链接到Access数据库,将其命名为与应用程序当前使用的数据库相同,并且基本上不让应用程序知道其数据库已被换出从下面。 现在我知道我要离开这里了-没那么简单-对于初学者..不是不是要访问Excel工作表的SQL都必须指定单元格范围,诸如此类-我肯定现有的SQL不需要必须做。 有关如何实现此目标的微型缩略图,将不胜感激。

1
投票
3答案
5671 次观看

使用Google地球进行地理编码

我想从邮政地址获得一对坐标(经度,纬度)。 我正在Excel工作簿中编码VBA。我可以假定已安装Google Earth,并将其注册为COM服务器。因此,我一直在寻找一种使用Google Earth COM API来实现这一目标的方法,但是我没有找到任何东西。 我在网络上找到的大多数点击都是针对Web程序员的,并且都是关于使用JavaScript的“ Google地理编码API”的,我认为这对我来说不可行。 (更新:这是要批量处理的,它要处理数十个/数百个地址。正如rjmunro所指出的那样,它是私有的,因此违反Google的使用条款,所以我不得不寻找其他服务。)

0
投票
4答案
1997 次观看

Excel 2007 Sum可变长度列

我正在尝试制作一个宏以求和可变长度列。我尝试了几种不同的方法,但是它们没有起作用。我想做的是: 如果活动单元格是单元格B17,我希望B17等于B1与B16之和。 同样,如果活动单元格是单元格D22,我希望D22等于D1与D21之和。 因此,基本上,它是对选定列中活动单元格上方的所有单元格求和。 谢谢, 詹姆斯。

0
投票
1答案
2253 次观看

Excel加载项需要在工作簿启动时自动运行

我需要使Excel加载项在工作簿启动时处于活动状态/运行...。需要代码。带有参数的加载项是:“ OPCS7200ExcelAddin.XLA!StartOPC” 已获得此代码: Private Sub Workbook_Open() Call Excel.Application.Run("OPCS7200ExcelAddin.XLA!StartOPC") End Sub 但是此代码不起作用。

0
投票
4答案
3924 次观看

预测单元格中的文字换行

问题: 我使用VBA用文本填充MS Excel 2000单元格。该列具有固定的宽度(由于布局而不能更改),并且wordwrap属性设置为true,因此,如果该文本宽于该列,则文本将换行。 不幸的是,行高并不总是得到相应的更新。我需要一种方法来预测文本是否在多行中换行,以便可以“手动”调整高度。 我想做这样的事情: range("A1").value = longText range("A1").EntireRow.RowHeight = 14 * GetNrOfLines(range("A1")) 如何编写函数GetNrOfLines? 我不能依靠字符数,因为字体不...

2
投票
1答案
151 次观看

为什么在没有Dim命令输入数字的情况下VBA Powerpoint中的此代码可以正常工作?

从VBA教程之一中,我了解到,连续数字变量应首先声明为整数: Dim mynumber as integer 但是,请看下面的代码: Sub math() A = 23 B = 2 ABSumTotal = A + B strMsg = "The answer is " & "$" & ABSumTotal & "." MsgBox strMsg strMsg = "The answer is " & "$" & Sqr(ABSumTotal) & "." MsgBox strMsg ...

3
投票
2答案
7944 次观看

隐藏数据表中的列

我试图通过代码隐藏Access 2007拆分表单中的特定列。我需要该表格来检查某些条件,以查看它是否需要显示一列。我在表单的“激活”事件中有代码来隐藏这样的列: txtControl.ColumnHidden = True 此代码在“打开”事件中有效,但是如果我隐藏“激活”中的列,则在关闭表单并再次将其打开之前,将不会显示这些更改。我试过调用窗体的刷新,重画和重新查询方法,但这不起作用。请帮忙! 编辑:理想情况下,每当焦点切换到此表单时,我都需要发生此事件。这就是为什么我使用Activate事件而不是Open事件的原因。

2
投票
1答案
466 次观看

PowerPoint VBA中的每张新幻灯片如何增加形状微调的大小?

此代码创建了一个由10张幻灯片组成的字符串,其中相对于上一张幻灯片中的相似形状,每张下一张幻灯片的2种形状(编号1和3)被微移了一个,而另一张形状(编号2)则保留在其中。整个位置都一样。 每个微调等于2点(像素?),但是我不知道如何修改此代码,以便每个微调都比前一个微调一个点。例如,用于创建幻灯片2的微移为2点,但是用于幻灯片3的微移为3点,依此类推。 Sub MovingFlanks() Dim oPresentation As Presentation Set oPresentation = ActivePresentation Dim oSlide A...

1
投票
2答案
714 次观看

从命令行启动时,为什么Excel在退出时会引发异常?

我有一个简单的Excel文件,该文件在数据库打开时会查询,然后自动关闭。 如果我双击该文件以从Windows资源管理器(我正在运行Windows XP和Excel 2002)中将其打开,则可以正常工作。 但是,如果我使用“开始”>“运行”中的Excel "C:\DataUpdate.xls"或从另一个文件中的另一个Excel实例中的Shell运行它,则Excel会在退出时崩溃。 我不知道为什么在一种情况下会这样做,而在另一种情况下不会。 在DataUpdate.xls中,我有2个过程UpdateTable()和OnWorkbookOpen(),在工作簿打开时会从Wo...

1
投票
4答案
2316 次观看

使用循环从表中删除行

即使Do Until为true,为什么我的raw.Delete循环仍尝试运行raw.EOF?如果我有一个空表,则会崩溃。为什么? Dim raw As Recordset Set raw = db.OpenRecordset("tblSampleRaw") If raw.RecordCount > 0 Then raw.MoveFirst Do Until raw.EOF raw.MoveFirst raw.Delete Loop End If

1
投票
1答案
2015 次观看

MS Access。ADO记录集的子窗体。子关系以编程方式建立。不会自动填写字段

我有一个表单/子表单,用于将数据输入到ado表中。主窗体的记录集是窗口小部件的本地表以及有关窗口小部件的信息(窗口小部件ID,窗口小部件名称,大小,颜色,位置等)。我正在通过与ADO记录集连接到名为Tests的表的子窗体输入测试数据(每个小部件有多个测试,每个测试都有唯一的日期)。我在主窗体中有一个组合框findWidget,用户可以在其中选择WidgetID,它会更新主窗体上的一些信息。我还编写了VBA代码来完成父子关系的工作,以更改子窗体的记录集,以仅显示与该WidgetID对应的测试。但是,子窗体中有一个WidgetID字段,当我在主窗体中选择WidgetID时,我想自动填写该字段...

0
投票
1答案
1916 次观看

从Access中的表单更改表中的字段

很抱歉,如果这是一个新手问题,我对Access有点生锈,而在Visual Basic中甚至更生锈! 当其他(无关)形式的字段发生更改时,我试图找到一种更改表中字段的方法。更具体地说,我想通过减少表单字段中值的方式来减少表中的数字(以库存控制方式) 有人知道这样做的最好方法吗?