小编rry*_*anp的帖子

如何从.cab文件(Excel用户表单和VBA)安装mscomct2.ocx文件

我有一个Excel电子表格,其中包含使用日历控件的用户表单.它在我的机器上工作正常,但其他人无法使用它,因为它们缺少mscomct2.ocx文件.我找到了下载它的位置(http://support.microsoft.com/kb/297381),但它作为cab文件出现,我不知道如何告诉其他人使用该文件.我的互联网搜索指向各种解决方案,从将其复制到system32文件到使用regsrv32注册它.我希望这里有人可以给我外行的指示,因为我不想让其他用户尝试五种不同的东西.

excel vba excel-vba

9
推荐指数
1
解决办法
14万
查看次数

使用VBA的PowerPoint幻灯片的度量单位是多少?

我正在使用VBA将Access/PowerPoint中的图表/图表粘贴.粘贴后,我使用VBA调整大小,但它不允许我使用英寸(即使我手动通过形状属性,大小值以英寸为单位).

我的问题是衡量单位是我在VBA中使用的数字?我假设像素,并试图使用每英寸96像素的因素转换,但这不正确.现在我很好奇它是否基于我的屏幕分辨率?我可以快速编写代码(通过试验和错误)以在我的机器上看起来很好,但我担心如果其他人运行它,并且它们具有不同的分辨率,幻灯片将看起来不同.(请注意,图表必须符合其他形状.)

如果它不是基于屏幕分辨率,是否有人知道幻灯片的尺寸在任何单位?

powerpoint vba

8
推荐指数
2
解决办法
1万
查看次数

VBA OpenRecordset生成参数太少.预期2.错误

我有一个名为qryAlloc_Source的查询,它在一个条件下有两个参数:

>=[forms]![frmReportingMain]![txtAllocStart] And <=[forms]![frmReportingMain]![txtAllocEnd])
Run Code Online (Sandbox Code Playgroud)

A有一个单独的查询,最终引用qryAlloc_Source(中间有几个查询),当我在UI中双击它时该查询运行正常,但如果我尝试在VBA中打开它,我会收到错误.我的代码是:

Dim rst As Recordset
Set rst = CurrentDb.OpenRecordset("qryAlloc_Debits")
Run Code Online (Sandbox Code Playgroud)

我得到运行时错误3061,参数太少.预期2.我已经读过我可能需要使用表单参数在VBA中构建SQL,但鉴于链中存在一些查询,它将是相当复杂的SQL.

有关解决方法的任何建议吗?我考虑使用VBA从查询创建一个表,然后只引用该表 - 我讨厌做出额外的步骤.

ms-access vba

6
推荐指数
3
解决办法
2万
查看次数

在 MS Access 中附加链接表时出现运行时错误

我有一个链接到 Excel 电子表格的数据库。手动添加链接表时,我没有问题(我只是按照小向导,完美地创建了表)。我正在尝试使用 VBA 自动化:

Dim db as DAO.Database
Dim tdf as TableDef

Set db = CurrentDB
Set tdf = db.CreateTableDef("linked_table")
tdf.Connect = "Excel 8.0;HDR=YES;IMEX=2;DATABASE=" & Me.txtExcelFile  ' references form field
db.TableDefs.Append tdf  ' Here's where I get a run time error
Run Code Online (Sandbox Code Playgroud)

不幸的是,我在最后一行收到运行时错误 3264,它说:“没有定义字段——无法附加 TableDefs 或索引。” 我什至不确定为什么需要最后一行(从我发现的文档中似乎是将表添加到数据库的 TableDefs 集合中)。有关解决错误的任何建议?

ms-access vba ms-access-2003

5
推荐指数
1
解决办法
2600
查看次数

Worksheet_Change事件给出运行时错误13 - 插入行时键入不匹配

我正在使用Excel VBA并有一个workheet_change事件,如下所示:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = Range("rel_type") Then
       --some code
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

当我对命名范围"rel_type"进行更改时,该代码非常有用.但是,如果我在电子表格中的任何其他位置插入一行,我会得到运行时错误13 - 在该Sub的第一行上输入不匹配.有人知道解决方法吗?我不熟悉Worksheet_Change事件,似乎无法找到好的文档(或者至少是文档引用了这个错误的原因).谢谢.

excel vba excel-vba

4
推荐指数
1
解决办法
5516
查看次数

计算Excel数据透视表总计的百分比

我有阶段,团队,早期或晚期的Excel源数据.我创建了一个数据透视表来汇总这样的数据:

            Team 1               |  Team 2              |
Phase       Early | Late | Total | Early | Late | Total | Grand Total
---------------------------------------------------------------------
Phase 1       2       3      5       0       1      1          6
Phase 2       4       5      9       2       2      4         13
Phase 3       5       6     11       1       1      2         13
Grand Total  11      14     25       3       4      7         32 
Run Code Online (Sandbox Code Playgroud)

我想计算总数的百分比(所以团队1的早期总数除以团队1的总数 - 或早期44%的11/25,然后总计晚期除以总数,或14/25为期56%).

我尝试使用数据透视表下方的公式,效果很好,但如果源数据没有列在列中的记录,他们就会失败(因此如果第2组没有迟到的项目,那么该列就会消失).是否有一个简单的修复或方法将数据透视表保持在设定数量的行或列?

excel pivot-table percentage

4
推荐指数
1
解决办法
5万
查看次数

使用 VBA 更改 PowerPoint 表格单元格的内部边距和/或数字格式

我有一个 VBA 循环,可以循环遍历 PowerPoint 表格的选定单元格来更新格式。以下几行效果很好:

        With objTable.Rows(the_row).Cells(the_col).Shape.TextFrame.TextRange.Font
            .Size = 12
            .Color = RGB(0, 0, 102)
        End With
        With objTable.Rows(the_row).Cells(the_col).Shape.TextFrame
            .VerticalAnchor = msoAnchorMiddle
        End With
Run Code Online (Sandbox Code Playgroud)

我无法找到修改数字格式(更改小数位数、添加逗号等)和更改单元格内部边距(我可以通过右键单击 -> 格式手动执行此操作)的语法形状 -> 文本框 -> 内部边距)。通常我使用记录宏选项来获取详细的语法,但我在 PowerPoint 中没有看到该选项。

powerpoint vba

3
推荐指数
1
解决办法
2万
查看次数

在Access报告中计算字段具有特定值的记录

我有一个基于查询的Access报告,每条记录的[status]字段是"不迟到"或"迟到".是否可以在没有VBA的情况下计算"不迟到"的数字和"迟到"的数字并将其显示在报告的标题中?

我在详细信息部分设置了一个文本框,如果[状态]是"不迟到"则等于1,如果[状态]是"迟到",则设置另一个等于1的文本框但是我无法对其中任何一个运行总和文本框.我以为我可以在页脚中使用"= Sum [late_count]"(如果文本框名为"late_count"),但这不起作用 - 当我尝试打开查询时,它会询问late_count.

我正在使用"= Count(*)"来获取记录总数 - 有没有办法使用Count但只是针对某些字段值?

ms-access report

2
推荐指数
1
解决办法
5万
查看次数