Tag: excel

将date格式更改为yyyy-mm-dd

我有一个包含混合格式date的date列。 例如: 一个 1990年3月21日 1990年3月21日 所以,基本上在一列中有两种不同的格式: dd.mm.yyyy和mm/dd/yyyy 。 我正在尝试编写一个VBA脚本,将列中所有date的格式更改为yyyy-mm-dd 。 这就是我到目前为止: Sub changeFormat() Dim rLastCell As Range Dim cell As Range, i As Long Dim LValue As String i = 1 With ActiveWorkbook.Worksheets("Sheet1") Set rLastCell = .Range("A65536").End(xlUp) On Error Resume Next For Each cell In .Range("A1:A" & rLastCell.Row) LValue = Format(cell.Value, "yyyy-mm-dd") .Range("B" & i).Value […]

Excel VBA仅复制粘贴值(xlPasteValues)

我试图将sheetA中的整个列复制到SheetB中。sheetA列具有用formuls形成的值。 我只使用xlPasteValues复制SheetA列值。 但它不会将值粘贴到另一个sheetB。 sheetB中的列是空的。 我的VBA代码 Public Sub CopyrangeA() Dim firstrowDB As Long, lastrow As Long Dim arr1, arr2, i As Integer firstrowDB = 1 arr1 = Array("BJ", "BK") arr2 = Array("A", "B") For i = LBound(arr1) To UBound(arr1) With Sheets("SheetA") lastrow = Application.Max(3, .Cells(.Rows.Count, arr1(i)).End(xlUp).Row) .Range(.Cells(1, arr1(i)), .Cells(lastrow, arr1(i))).Copy Sheets("SheetB").Range(arr2(i) & firstrowDB).PasteSpecial xlPasteValues End With […]

使用超过2个标准的自动filter

你如何使用VBA自动filter超过2个variables – 我不断收到错误消息: 命名的参数未find 代码如下: .AutoFilter Field:=1, Criteria1:="HP Compaq 6000", Operator:=xlOr, Criteria2:="HP Compaq 8000", Operator:=xlOr, Criteria3:="HP Compaq 8200", Operator:=xlOr, Criteria4:="HP Compaq 8200 Elite", Operator:=xlOr, Criteria5:="HP Compaq dc5800", Operator:=xlOr, Criteria6:="HP Compaq dc7900", Operator:=xlOr, Criteria7:="HP Compaq Elite 8300 SFF", Operator:=xlOr, Criteria8:="HP Compaq Pro 8300 SFF" 我想知道是否有可能使用AutoFilter在同一列中筛选超过2个条件的数据。 如果没有,是否有另一种方法来实现这一目标?

在Excel用户窗体上将点击VBA函数分配给一个dynamic创build的button

我使用以下代码在Excel用户窗体上dynamic创buildbutton: With Me.CurrentFrame.Controls.Add("Forms.CommandButton.1") .Caption = "XYZ" .name = "AButton" .Font.Bold = True .ForeColor = &HFF& … blah blah blah End With 我想分配一个函数来运行时点击这些button,但我找不到一个简单的方法来做到这一点,因为没有属性作为button本身的一部分。 有没有办法使用上述成语做到这一点? 我应该以不同的方式来处理这件事吗?

Dir()函数不适用于Mac Excel 2011 VBA

嗨,我想列出Excel工作簿所在的子目录中的所有文件。出于某种原因,代码不能超出Dir函数执行。 任何人都可以请指教? 谢谢! Sub ListFiles() ActiveSheet.Name = "temp" Dim MyDir As String 'Declare the variables Dim strPath As String Dim strFile As String Dim r As Long MyDir = ActiveWorkbook.Path 'current path where workbook is strPath = MyDir & ":Current:" 'files within "Current" folder subdir, I am using Mac Excel 2011 'Insert the headers in […]

用Java读取XLSX文件

我需要在Java应用程序中读取Excel 2007 XLSX文件。 有谁知道一个好的API来完成这项任务?

阅读Excel Open XML将忽略空白单元格

我在这里使用公认的解决scheme将Excel表转换为数据表。 这工作正常,如果我有“完美”的数据,但如果我有一个空白单元格在我的数据中间似乎把错误的数据在每一列。 我想这是因为在下面的代码中: row.Descendants<Cell>().Count() 是填充的单元格的数量(不是所有列)AND: GetCellValue(spreadSheetDocument, row.Descendants<Cell>().ElementAt(i)); 似乎find下一个填充的单元格(不一定是在那个索引中),所以如果第一列是空的,我调用ElementAt(0),它返回第二列中的值。 这是完整的parsing代码。 DataRow tempRow = dt.NewRow(); for (int i = 0; i < row.Descendants<Cell>().Count(); i++) { tempRow[i] = GetCellValue(spreadSheetDocument, row.Descendants<Cell>().ElementAt(i)); if (tempRow[i].ToString().IndexOf("Latency issues in") > -1) { Console.Write(tempRow[i].ToString()); } }

Windows 7 .net Excel .SaveAs()错误exception来自HRESULT:0x800A03EC

背景: 我在工作中烤了我的旧硬盘,正在换新的硬盘。 有了这个,我将不得不重build我的机器。 我的经理已经安装了他的笔记本电脑上安装了Windows 7,而我的机器已经不在使用了。 但是我遇到了一个问题。 我们有相当数量的应用程序使用Microsoft.Office.Interop.Excel参考。 到目前为止,我已经经历了一些错误,但是过去几天我一直坚持的错误(我的机器在第一次重build之后实际上遭遇了硬盘驱动器故障),并且无法find修复方法。 我已经search这个错误,但无法find任何人在Windows 7上有这个问题,虽然我已经尝试了Windows Server 2008的其他修补程序无济于事。 如果我不能解决这个问题,我将无法使用Windows 7,并希望知道在重build机器之前,只能擦除它并重新启动(第三次)。 问题: 操作系统:Windows 7企业版 错误消息:从HRESULTexception:0x800A03EC 码: Private m_xls As Microsoft.Office.Interop.Excel.Application Private m_wkbk As Microsoft.Office.Interop.Excel.Workbook Private m_wksht As Microsoft.Office.Interop.Excel.Worksheet m_xls = New Application m_xls.Visible = False : m_xls.DisplayAlerts = False m_wkbk = m_xls.Workbooks.Open(Me.FilePath) m_wksht = CType(m_wkbk.ActiveSheet, Worksheet) '…Write some data…' m_wkbk.SaveAs(Me.FilePath, XlFileFormat.xlWorkbookNormal, Missing.Value, […]

如何引用Microsoft.Office.Interop.Excel DLL?

我已经开发了一个系统,在2006年使用MS VS 2005处理Excel表格。现在,我不能在MS VS 2012中使用相同的参考。 var app = new Microsoft.Office.Interop.Excel.Application(); Workbooks wbs = app.Workbooks;

如何获得在VB.NET中编写的用于Excel的COM服务器安装并注册在自动化服务器列表中?

版本 Excel 2007,Windows Vista,VB.NET,带有.NET 3.5 sp2的Visual Studio 2008,MSI安装程序包。 我正在尝试做什么 我有一个用VB.NET编写的Excel UDF。 它是作为COM服务器公开的,因为您无法直接在.NET语言中创buildExcel UDF。 安装是一个真正的痛苦,因为没有任何安装设置似乎得到它是正确的; 他们都没有给你一个安装包,把COM服务器放到客户端机器上,注册了服务器,注册了types库,以及在Excel 2007的自动化服务器列表中可见的组件。 我试过了 以下是types库的安装设置,它们的缺陷在编译时和安装时显而易见: vsdrfComSelfReg 在编译安装项目时没有任何警告 模块xxx.tlb注册失败。 HRESULT -2147024703 组件的ProgID和GUID在registry中设置,但该组件不出现在自动化服务器列表中 vsdrfDoNotregister 编译期间没有警告 安装工作,但当然TLB没有注册 vsdrfCOM 编译时警告:警告:无法为名为“xxx.tlb”的文件创build注册信息 types库在安装过程中未被注册 正确的设置应该是vsdrfCOM,如下所述: 问:任何人都可以告诉vsdrfCOM在Visual Studio的安装项目中的含义吗? 当我在安装项目中检查添加文件的属性中的“注册”属性时可用。 答:这意味着Visual Studio将在构build时提取COM注册数据,并将其放入MSI文件(主要是MSI文件的registry表,还有类表)。 所以当你安装它的时候,你的代码不需要自行注册,因为文件被复制到磁盘并且registry项被创build。 它还将通过向MSI的TypeLib表添加条目来创buildtypes库注册。 许多困难似乎是Vista特有的。 尤其是,使用REGCAP实用程序从.TLB文件生成.REG文件在Vista中不起作用。 如果不是这样的话,那么这个build议可能是有用的 。 相反,它完全可以产生空的.REG文件。 我已经尝试了这个StackOverflow后的所有build议。 这篇文章对技术问题有很好的描述: “引用”对话框中的条目来自HKCR \ TypeLibregistry项,而不是来自HKCR \ CLSID。 如果你的程序集没有显示在引用对话框中,但编译后的DLL仍然可以使用你的COM程序集,这意味着你的程序集正确地注册了类和接口,但是types库本身不是。 这个问题 任何人都有如何使安装注册组件和types库的想法? 我无法访问Windows XP计算机。 […]