标签: excel-2016

VBA编辑器坏了 - Excel 2016 OSX

我最近安装了Excel 2016 for mac,当我启动VBA编辑器时,文本以垂直方式放置(没有任何宽度的线),如下图所示.有什么解决方法吗?

在此输入图像描述

excel vba excel-vba excel-2016

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

#NAME与模块和功能相同的名称

我创建了一个foo在我的电子表格中调用的模块,然后我添加了以下内容:

Function foo() As Variant
    foo = 5
End Function
Run Code Online (Sandbox Code Playgroud)

当我尝试在Excel中运行该函数时,通过键入=foo()单元格,我得到了#NAME.当我#NAME通过点击旁边的小图标来查看应该是什么意思,然后help on this error我得到这个:

在此输入图像描述

嗯,不完全是这样,但它一样有用.

最终我发现将模块名称更改为其他内容foo似乎可以修复它.我偶然发现了一个错误或功能吗?这种行为记录在哪里?

excel vba excel-vba excel-2016

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

在 Excel 2016 (O365) 中嵌入 SQL Server 凭据以按需刷新数据

我正在尝试将凭据嵌入到我的 SQL Server 2008R2 数据库上的帐户的 Excel 2016 工作簿中,该帐户对某些存储过程具有执行权限,以向最终用户提供只读数据。用户帐户本身无权访问数据库,其想法是将此只读帐户的凭据嵌入到 Excel 电子表格中,用户只需单击“全部刷新”即可获取从存储过程返回的最新数据.

澄清一下,我不在乎用户是否知道帐户的密码 - 这不是问题。我只是不想让他们不得不输入密码来刷新数据。

这是我迄今为止在 Excel 中尝试过的:

  • 数据(选项卡)> 获取数据> 从数据库> 从 SQL Server 数据库> 我输入服务器、数据库和我的“exec sp”命令,这对我来说返回数据没有问题。但是,如果我将文件交给另一个无权访问数据库的用户,连接将失败,因为 Excel 正在尝试使用 Windows 凭据。所以我尝试编辑连接字符串(数据(选项卡)> 查询和连接> 右键单击​​查询> 属性> 定义(选项卡)> 连接字符串)但这些字段是灰色的,所以我无法添加用户 ID 和密码部分的连接字符串。
  • 数据(选项卡)> 获取数据 > 从其他来源 > 从 OLEDB > 构建 > 提供程序(选项卡)我选择“SQL Server Native Client 10.0”> 连接(选项卡)我输入服务器名称,“使用特定的用户名和密码”单选检查并输入帐户用户名/密码,选择数据库,“测试连接”返回有效>所有(选项卡)>将“集成安全”设置为“假”>确定>确定>Excel然后提示输入来自数据库/Windows/的凭据默认或自定义:

在此处输入图片说明 我不认为我会在这里输入任何内容,因为我在构建查询字符串时已经输入了凭据,但我还是输入了,因为似乎需要输入某些内容。我将 Excel 文件交给另一个用户,并且肯定拒绝了足够的访问,因为它默认使用他们当前的 Windows 登录来访问数据库。

  • 我将从数据连接向导(旧版)添加到我的功能区,作为使用与上一次尝试相同的设置构建连接字符串的替代方法,并且每次我想刷新时都会提示我输入密码:

在此处输入图片说明

是什么赋予了?我有一个同事有一个 Excel 2010 文件,他们可以进入并编辑连接字符串属性而不会出现问题,并且他们的文件可以工作。我怎样才能让它在 Excel 2016 中工作?

我真的很感激你们能提供的任何帮助!

编辑:这个问题似乎并不遥远..有谁知道如何做到这一点?我觉得应该很简单。

sql sql-server-2008-r2 excel-2016

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

如何根据开始和长度动态填充单元格

基本上,问题总结如下图。

在此处输入图片说明

https://imgur.com/a/vBU2xMK

“开始”列是当“描述符”变量开始时,它根据从“开始”列开始的“长度”列中的值填充行数。

在像示例这样的小数据集上使用值解决这个问题很简单,但是如何使用公式复制它?

谢谢,

excel excel-formula excel-2016

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

找不到Microsoft Forms 2.0对象库或FM20.DLL

我想使用这个库来处理剪贴板.我希望在下面的屏幕截图中看到它,但我在参考库列表中找不到它.我尝试将VBA表单添加到我的excel项目中但没有成功.我该如何让它出现?

在此输入图像描述

我的整个计算机W7和Excel 2016上没有FM20.DLL文件.我通过探索和使用findcygwin进行了搜索.

excel vba windows-7 excel-2016

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

如果更换工作表,如何在 Excel 中保留单元格引用?

我有一张包含一堆数据的表格。然后我有一个不同的工作表,它引用了第一张工作表中的多个单元格。如果我想删除第一个工作表并将其替换为相同的工作表(在任何意义上都相同,即工作表名称、每个单元格中的数据类型、格式等,除了每个单元格中的实际文本数据),其他工作表丢失了,我所有的单元格都会产生#REF!错误。

有没有办法保留引用并替换或覆盖工作表,而无需手动剪切和粘贴信息?

预先感谢,

乔治

excel excel-2016

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

在 Excel 2016 上通过 ODBC 连接到 PostgreSQL 数据库

我在使用 ODBC 从 Excel 2016 连接到 PostgreSQL 数据库时遇到问题。

我试图遵循这个答案,但没有成功,而这个来自 MS 的解决方案,没有任何更好的结果......

有人在这方面成功过吗?我看到Excel 2016 在 ODBC 驱动程序方面存在一些问题,但那就像一年前一样,所以我想知道现在情况是否会更好?

感谢您的帮助。

sql postgresql excel odbc excel-2016

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

如何在VBA中引用和刷新Excel 2016中的QueryTable

我正在尝试刷新单元格更改的查询,但我无法弄清楚如何引用查询.

我的代码: Sheets("Roster Query").QueryTables(0).Refresh

只是错误:

运行时错误'1004':

应用程序定义或对象定义的错误

我有一个名为"名册过滤器"的工作表,其中包含我要刷新的查询表.如何获取QueryTable并刷新它?

编辑:还试过:

For Each qt In Sheets("Roster Query").QueryTables
    qt.Refresh
Next
Run Code Online (Sandbox Code Playgroud)

这不会出错,但查询不会刷新.

excel vba excel-vba excel-2016

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

如何在Excel 2016 VBA中读取已用或可用内存的数量

我似乎找不到返回正在使用的内存或可用内存的VBA命令.在Excel 2013中有Application.MemoryUsed但是当我在Excel 2016中尝试时,我得到"类型不匹配",无论我使用

    dim myVar      as variant
      myvar = Application.MemoryUsed
Run Code Online (Sandbox Code Playgroud)

要么

    MsgBox CStr(Application.MemoryUsed)
Run Code Online (Sandbox Code Playgroud)

这可能是一件简单的事情.要么?

excel vba excel-vba excel-2016

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

为什么我的函数假定缺少参数?

我有一个更新表单"LoadingInterface"的函数.该函数如下所示:

Private Sub updateLoadingBar(Optional tekst As String, Optional barOnePerc As Long, Optional barTwoPerc As Long)
    If Not IsMissing(tekst) Then
        LoadingInterface.Label1.Caption = tekst
    End If
    If Not IsMissing(barOnePerc) Then
        LoadingInterface.Bar.Width = barOnePerc * 1.68
        LoadingInterface.prosent.Caption = barOnePerc & "%"
        LoadingInterface.prosent.Left = barOnePerc * 1.68 / 2 - 6
    End If
    If Not IsMissing(barTwoPerc) Then
        LoadingInterface.SubBar.Width = barTwoPerc * 1.68
    End If
    LoadingInterface.Repaint
End Sub
Run Code Online (Sandbox Code Playgroud)

然后我调用这样的函数,期望它只更新文本字段,因为缺少其他两个参数.

Call updateLoadingBar(tekst:="Test")
Run Code Online (Sandbox Code Playgroud)

这适用于更新Label1,但不幸的是其他两个值也被更新 - 似乎不包括函数调用中的任何值使得VBA假设两个变量值为0.而且,似乎IsMissing函数没有检测到调用函数时两个值都缺失,这是一个更大的问题.使用F8逐步执行代码确认确实输入了所有if语句.

有没有什么办法让代码跳过我的函数两个最下面的if语句,如果提供的参数没有值barOnePercbarTwoPerc

forms excel vba excel-vba excel-2016

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