标签: excel-2010

如何轻松获取您正在处理的文件的网络路径?

在Excel 2003中,曾经有一个命令,我添加到我的工具栏中,称为地址(如果我没记错),它将显示我打开的文件的完全限定的网络路径.例如:\\ads\IT-DEPT-DFS\data\Users\someguy\somefile.xls

这样,当您想要与同事共享文件时,可以轻松获取此字符串并将其弹出到电子邮件中.我在Excel 2010中没有看到此选项,但现在发现自己需要发送/接收Excel文件.同事会模糊地提及"它在共享驱动器上"或将文件作为附件发送电子邮件(呃!).

任何人都知道Excel 2010中是否存在可比较的内容?

更新:我发现了Excel 2003到2007命令的这种映射. http://office.microsoft.com/en-us/excel-help/redir/AM010186429.aspx?CTT=5&origin=HA010086048

Web>地址就是我正在使用的 - 看起来像是在2007年成为"文档位置".但他们在2010年再次删除/混淆了这一点.我试图在2007年到2010年找到这样的映射.

excel filepath excel-2010

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

数字向上控制在vba中

在vba中是否有内置的数值更新控件,还是我们需要创建这样的控件?

如果有这样的控制,那么我们可以使用什么事件.

请建议.

excel vba numericupdown excel-vba excel-2010

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

#值!从VBA设置显示的大纲级别后出现错误

我已将问题减少到以下测试用例:

  1. 创建一个新的工作簿;

  2. 输入一个恒定值,例如,123Sheet1!A1;

  3. 定义一个名称,例如foo,指代公式=CHOOSE(!$A$1, Sheet1!$A$1);

  4. 输入常数值1Sheet2!A1;

  5. 将公式输入=foo到其他一些单元格中Sheet2,例如Sheet2!B1:观察到,如预期的那样,结果是Sheet1!A1上面步骤2中输入的值;

  6. 然后创建一个包含以下代码的VBA过程:

    Sheets("Sheet1").Outline.ShowLevels 1
    
    Run Code Online (Sandbox Code Playgroud)

您会注意到步骤5中的单元格现在包含#VALUE!错误.

此外,简单的工作表重新计算(无论是使用F9密钥还是Application.Calculate方法)都无法解决问题:必须改为从VBA 执行完全重新计算(使用Application.CalculateFull方法),或者从交互式UI 执行完全重建(使用CTRL+ ALT+ SHIFT+ F9组合键).

通过反复试验,我确定了出现这种情况:

  • 所述CHOOSE()索引参数必须涉及的相对表单元格引用(未常量或绝对表的参考文献);

  • CHOOSE()被索引的value参数必须包含对另一个工作表的引用;

  • 显示的大纲级别的更改必须来自VBA 过程(而不是来自交互式UI或VBA立即窗口中的大纲控件); 和

  • 所述ShowLevels方法调用(其参数是不相关的)必须被施加到被之中任何值的引用的片(虽然不是索引)参数CHOOSE().

这是怎么回事?

我非常希望将我在值参数中引用的工作表折叠CHOOSE()到其最高大纲级别而不触发此错误,因为从UX的角度来看,完全重新计算我的实际工作簿(仍然只有几秒钟)是不可取的.

对于变通方法的建议(虽然仍然使用包含该CHOOSE()函数的定义名称以及相对表索引参数)将是最受欢迎的!

我的平台:Windows 7 Home Premium(SP1,64位)上的Excel …

excel vba excel-vba excel-2010

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

Excel 2010中的共享字符串

有人可以帮我理解MS Excel中的共享字符串吗?我试图理解使用一些博客,但无法完全了解.每个人都在解释如何使用Open XML访问共享字符串以及存储共享字符串的位置(作为sharedstrings.xml).使用API​​访问很好.但,

  1. 如何在Excel中创建共享字符串.(在EXCEL 2010中手动创建,不使用API​​)
  2. 共享字符串的确切需求是什么?
  3. 在哪些情况下,我可以去共享字符串?

我试过跟随.

http://www.sadev.co.za/content/reading-and-writing-excel-2007-or-excel-2010-c-part-iii-shared-strings

http://msdn.microsoft.com/en-us/library/gg278314.aspx

ms-office openxml excel-2010 openxml-sdk

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

Python:在工作表中刷新数据透视表

我正在构建一个python脚本,允许我打开Excel 2010工作表并将其打印出来.

我得到了大部分的方式

import win32com.client

office = win32com.client.Dispatch("Excel.Application")
wb = office.Workbooks.Open(r"path\to\excel\file\to\print.xlsm")

count = wb.Sheets.Count
for i in range(count):
    ws = wb.Worksheets[i]

    pivotCount = ws.PivotTables().Count
    for j in range(1, pivotCount+1):
        #TODO code to refresh each pivot table

    ws.PrintOut()
    print "Worksheet: %s - has been sent to the printer" % (ws.Name)
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我仍然缺少工作表中数据透视表的刷新.

用于刷新的VBA代码是:

ActiveSheet.PivotTables(1).PivotCache.Refresh
Run Code Online (Sandbox Code Playgroud)

我似乎无法将代码分解为python win32com语法.我得到的最接近的是:

wb.WorkSheets(5).PivotTables(1).PivotCache.Refresh
Run Code Online (Sandbox Code Playgroud)

这给了<bound method CDispatch.Refresh of <COMObject PivotCache>>但没有结果在工作表中.

任何帮助将非常感谢!

我自己最终找到了解决方案,但是要保留帖子,以便它可以帮助所有类似问题的程序员.

import win32com.client

office = win32com.client.Dispatch("Excel.Application")
wb = office.Workbooks.Open(r"path\to\excel\file\to\print.xlsm")

count = wb.Sheets.Count
for i in …
Run Code Online (Sandbox Code Playgroud)

python excel ms-office excel-2010 win32com

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

刷新时出现Excel数据连接错误

解决了!请参阅下面的解决方案

我在Excel 2010中通过数据透视表数据连接从Excel 连接到多个独立的 Access 2010数据库.

刷新所有连接会导致最终刷新失败.顺序没关系,我手动刷新了不同的顺序,同样的错误.

但是,如果我在刷新几个后保存并关闭,然后返回并刷新最后一个,则完全没有问题.

让我相信我正在点击某种内存上限,当我保存并关闭时它会被重置.

我是否可以通过VBA重新创建该效果而无需实际保存/关闭?这个问题有更好的解决方案吗?

错误消息 - 这三个按此顺序弹出:

  • 查询未运行,或无法打开数据库表.
  • 获取数据的问题.
  • 使用连接的数据透视表,多维数据集函数或切片器无法刷新.

现行守则

Private Sub CommandButton1_Click()
On Error GoTo ErrHndlr

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.StatusBar = "Refreshing Data - Please Be Patient"

ActiveWorkbook.Connections("Connection_1").Refresh
ActiveWorkbook.Connections("Connection_2").Refresh
ActiveWorkbook.Connections("Connection_3").Refresh

Application.Calculation = xlCalculationAutomatic
Application.StatusBar = "Ready"
[LastUpdated].Value = FormatDateTime(Now, vbGeneralDate)
Application.ScreenUpdating = True
Exit Sub

ErrHndlr:
  Application.StatusBar = "Ready"
  Application.Calculation = xlCalculationAutomatic
  Application.ScreenUpdating = True
  [LastUpdated].Value = "Update Error"
  Exit Sub

End Sub
Run Code Online (Sandbox Code Playgroud)

连接字符串

Provider=Microsoft.ACE.OLEDB.12.0
;User …
Run Code Online (Sandbox Code Playgroud)

excel ms-access vba excel-vba excel-2010

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

Excel VBA项目已生成多个Workbook对象

我负责一个非常大的Excel 2010电子表格,其中包含各种外部数据源的链接,包括Bloomberg,带有vba模块的65个工作表以及对其他vba加载项的引用.

我注意到VBA项目已经获得了多个工作簿对象.

有标准的ThisWorkbook.但是,许多工作表也已由Excel转换为Workbook对象,将原始工作表保留为前一个工作表的副本,减去代码.

这似乎不是任何人的行为的结果.实际上,我认为不可能拥有多个Workbook对象!

例如,我有一个名为wksInputs的工作表,现在已经变成了一个Workbook对象,原来的wksInputs现在称为wksInputs1.

例

我无法删除wksInputs Workbook对象.

请有人帮忙解释这里发生了什么,以及我如何能够解决问题......?

非常感谢.

excel vba excel-vba excel-2010

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

确定单元格是否包含数据验证

我正在编写一个VBA代码,通过一系列单元格检查每个单元格是否有数据验证(下拉菜单),如果没有从另一个工作表的列表中分配一个单元格.

我目前在检查当前单元格是否已经有数据验证的行上有问题.我得到错误1004"没有找到细胞".

Sub datavalidation()

    Dim nlp As Range
    Dim lrds As Long
    Dim wp As Double
    Dim ddrange As Range

    Sheets("DataSheet").Select

        lrds = ActiveSheet.Range("A1").Offset(ActiveSheet.rows.Count - 1, 0).End(xlUp).Row

        Set nlp = Range("I3:I" & lrds)

        For Each cell In nlp

    'error on following line

            If cell.SpecialCells(xlCellTypeSameValidation).Cells.Count < 1 Then
                wp = cell.Offset(0, -8).Value

                Set ddrange = ddrangefunc(wp)

            End If

        Next

End Sub
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢

excel vba excel-vba excel-2010

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

在excel中将单元格值舍入到最接近的千位

我一直试图将单元格值向上或向下舍入到最接近的千位,但无法使其工作.我试图根据从美元到VND的当前汇率计算我的小时费率但是如果结果总数大约是22,325那么它应该减少到22,000,同样如果数百是500或更多它应该会达到23,000

计算样本

因此,当小时费率为527,325时,它应该减少到527,000.该单元格已包含一个公式,用于将当前汇率乘以美元.

excel excel-formula excel-2010

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

如何在Windows中比较两个csv文件

我需要比较windows7中的两个csv文件.我该如何着手实现这一目标.我想看看两个文件的差异,比如我们可以在Linux中使用tkdiff.

windows csv excel-2010

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