Tag: excel 2007

Excel中如何计算不等于通配符?

使用COUNTIF(range,"<>")可以计算非空单元格和COUNTIF(range,"~?")或COUNTIF(range,"~*")我可以计算匹配通配符的单元格的数量,但我可以用一个COUNTIF()来做吗? COUNTIF(range,"<>~?")不起作用。

以编程方式在Excel中embedded对象

我已经尝试了几个库,包括EPPlus,NPOI ,他们可以插入图像,但是我找不到如何插入对象( pdf,文本文件,图像 ) 作为文件 。 有没有什么方式或库在.NET中做到这一点? 谢谢!

在Excel中,COUNTIF()不能使用常量定义的string

这个问题是https://superuser.com/questions/601419/in-excel-how-do-i-check-if-a-cell-is-in-a-list-of-values-a-单元格范围 。 我试图做=COUNTIF(name,G6) ,当名称引用一些单元格时,它工作正常,但是当它引用我的常量string数组时,它会给出#VALUE! 我的常量string数组(使用名称pipe理器)是={"192.168.3.2","192.168.3.10"} …等,这可能是我的问题。 但具有讽刺意味的是,如果我将单元格内容设置为该数组并引用单元格,则工作正常。 谢谢

通过双击高亮显示MS Excel 2007中的单元格

我希望用户能够突出显示每一行上的一个单元格 这段代码突出了Excel 2007中的单元格,但是我的问题是,我不能编写代码来限制用户只突出显示一行中的一个单元格, 这里是代码: Private Sub Worksheet_BeforeDoubleClick( _ ByVal Target As Range, Cancel As Boolean) ' This macro is activated when you doubleclick ' on a cell on a worksheet. ' Purpose: color or decolor the cell when clicked on again ' by default color number 3 is red If Target.Interior.ColorIndex = 3 Then ' […]

有条件地格式化范围

我有两个范围的数据,我想比较和格式,如果他们匹配。 所以我想格式化范围1单元格,如果有任何数据匹配范围2中的数据。这是我迄今为止 – 它的工作原理,直到我将数据更改为范围2,但不更新它: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myRange As Range, cell As Range Set myRange = Range("a9:a12") For Each cell In myRange If cell.Value = ActiveCell.Value And Not IsEmpty(ActiveCell.Value) Then ActiveCell.Interior.ColorIndex = 3 End If Next cell End Sub 问题是单元格仍然保留从第一个代码块格式化的颜色,所以如果第二个范围中的数据被更改,我怎样才能将其更改回来? Private Sub Worksheet_Change(ByVal Target As Range) Dim myRange1 As Range Set […]

使用VBA的大文件大小复制范围

我有一个例程,通过生成单元格引用旧的工作表复制工作表。 我的问题是,当我在一个大小为280KB的工作簿中的三张纸上运行这个例程时,它会扩展到80MB。 如果我复制并粘贴工作表值以删除公式,工作簿将保持相同的大小。 如果我删除表单并保存,则会返回到原始大小。 在VBA处理引起此问题的内存的方式中是否有我缺less的东西? 我已经尝试在例程结束时将所有variables设置为无。 Public Sub CopySheetFormulas(inputSheet As Worksheet, outputSheet As Worksheet) Dim rowCounter As Long Dim columnCounter As Long Dim maxRow As Long Dim maxColumn As Long maxColumn = inputSheet.Cells.Find(What:="*", After:=inputSheet.Cells(1, 1), LookIn:=xlFormulas, LookAt:=xlPart, _ SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False).Column Debug.Print "Max Column: " & maxColumn maxRow = inputSheet.Cells.Find(What:="*", After:=inputSheet.Cells(1, 1), LookIn:=xlFormulas, LookAt:=xlPart, _ […]

MS Excel LOOKUP从上到下列

我有一个问题find一个方法让LOOKUP从上到下search栏。 这是情况。 我需要为Excel创build一个公式来search句子中的硬件部分。 例如: 句子(A1) 客户电脑无法开机。 检查主板。 主板故障 更换主板。 PSU没有足够的电力。 更换PSU。 这里是查找范围列(HARDWARE) 更换PSU 更换主板 结果范围列(HARDWARE_PART) PSU 母板 我使用的公式是 LOOKUP(9999;SEARCH(HARDWARE;A1);HARDWARE_PART) 结果将是“主板”。 因为LOOKUP会从下到上search列。 我现在要做的是LOOKUP从上到下search列,以便能够检测到另一个replace部分。

Excel 2007 – 与Web服务交谈

我一直在使用Excel 2003的“Web Services Toolkit”来编写通过VBA连接到外部Web服务的电子表格。 (即安装Web Services Toolkit,在'Tools'菜单中添加'Web Service References …'项目,然后设置对Web Service URL的引用,Toolkit在VBA中编写必要的代理类来执行您的连接,Web服务方法然后出现在VBA中。 Excel 2007没有这个“Web Services Toolkit” – 或者至less我找不到类似的东西。 我注意到我的Excel 2003工作表在2007年工作正常,所以必要的钩子在那里。 这使我想到了我的问题 – 在Excel 2007中与外部Web服务交谈的批准方式是什么? 我在网上找不到任何有用的东西? 谢谢… SAL

当Excel 2007以兼容模式打开XLS文件时,FileSystemWatcher.Changed立即触发

我们使用FileSystemWatcher监视从文档pipe理系统打开的文档,如果用户保存文档,我们会问他们是否也希望在我们的系统中更新文档。 Excel 2007中的XLS文件存在问题(未validation问题在2003年不存在,但似乎只是在2007年以兼容模式打开的文件),其中Changed事件在打开文件时立即触发,然后再closures文件,即使没有改变或用户select不保存closures。 打开XLSX文件时不存在相同的行为。 我写了一个testing应用程序来validation行为,你可以在http://www.just2guys.net/SOFiles/FSWExcel.zipfind。 在应用程序中,每个NotifyFiltertypes都有一个FileSystemWatcher,所以很明显为什么 Changed事件被触发。 你能想到的任何方式只提示用户当文件实际上被保存在用户的某种方式? 我可以在Process.Start被调用之后开始监视文件,这允许我在打开文档时跳过消息,但即使在没有任何更改的情况下,我仍然可以在closures文档时看到该文件。

如何获得只有在EXCEL工作表中有价值的colums

我正在编程读取C#中的Excel文件。 当我使用Excel.Worksheet.Columns.columns.count,我得到一个值超过16,000。 但我的Excel表只有15列。 我怎样才能得到那些有价值的列 ?