Tag: types

Excel VBAerror handling程序不工作'运行时错误13:types不匹配'

我正在运行下面的Excel文件,其中包含大约10个工作表,每个工作表都包含一个链接到相同数据源的数据透视表。 在我的数据(即“市场(SC)”,“市场(AN)”,“地区(SC)”,“地区(AN)”)中,我有两个版本的“市场”和“地区”以便能够轻松地在它们之间切换。 我设置了代码,首先将相应的切片器放到前面(它们叠加以便隐藏另一个切片器),然后遍历每个枢轴表并交换其他的“市场”和“区域”字段(保持相同的位置等) )。 由于我使用属性“.SourceName”来标识字段,当“值”数据透视字段与我的string进行比较时,循环运行时发生错误。 我已经把“On Error Goto next_fld”放在这里,告诉它跳到下一个字段,但是这只适用于10个工作表中的8个 – 对于另外两个,我得到错误“运行时错误” 13“types不匹配”,debugging屏幕突出显示“***”行。 如果我使用“On Error Resume Next”,它假定If语句为True,并执行大量不需要的操作(混淆各种数据透视表)。 我是自学成才,并没有完全理解error handling程序,但从我遇到的资源来解决这个错误,处理程序应该照顾(这适用于8/10工作表)。 这是我的代码: Sub SwapMktRegFields() Dim ws As Worksheet, shp As Shape Dim i As Integer Dim target As String, repl As String target = Sheet5.Range("E3").value 'Identify current field, use other as repl(acement) Select Case target 'AN slicers selected […]

Excel的VB – 列读入一维数组,执行操作,写回命名的范围?

我有一个包含大约60,000条logging的数据集。 拖欠date字段恰好位于处理货币值的字段之后,有时用户偶然在拖欠date字段中input货币值。 此外,他们有时以stringforms(2011年8月2日)或拖欠天数(135或135天)inputdate。 最常用的input方法是以mm / dd / yy格式(08/02/11)。 不幸的是,这个系统的程序员拒绝花时间为这个领域创buildvalidation,所以在获得数据之后,我必须尽可能多地执行validation。 通常情况下,我会用一些简单的公式来处理这个问题,然而,用户input数据有19种不同的方式,我需要能够快速处理每个数据。 将列加载到数组似乎是最好的select。 我的想法是将列加载到一个数组中,循环遍历它,处理所有的入口选项(或删除那些完全搞砸的),然后把它写回到工作表中。 我知道数据types是下面的数组的第一个问题,但我只在Excel VB中使用过一次数组,我不太确定我做错了什么。 第三行代码是第一个问题。 谢谢你的帮助。 每项BRETTDJ的评论工作代码 'Perform housekeeping on delinquency date Dim delinquency() delinquency = Application.Transpose(Range("AH1:AH" & importwsRowCount)) For i = LBound(delinquency) To UBound(delinquency) If InStr(delinquency(i), ".") Then delinquency(i) = Empty Debug.Print "Emptied an array element at row " & i + 1 End […]

Excel,VB – 将8位数字的date序列化为mm / dd / yy

问题 我想在一个数组中将一个8位数字转换成一个date。 条目的示例是12282009或12202007.该字段中还有其他格式错误的条目,包括以stringformsinput的date。 我希望8位数字的格式分别为12/28/09或12/20/07。 我在下面的第三行到最后一行不断出现types不匹配错误。 我该怎么做呢?? 码 Dim del() ReDim del(1 To importwsRowCount, 1 To 1) del = Range("AH1:AH" & importwsRowCount).Value Dim delChars As Long Dim delType As String For i = LBound(del, 1) To UBound(del, 1) delChars = Len(del(i, 1)) 'Determine length of entry If IsNumeric(del(i, 1)) = True Then 'Determine datatype of entry […]

dbf到xls – 第一个非标题行不写

我想使用python将.dbf文件转换为.xls。 我已经引用这个片段 ,但是我不能得到第一个非标题行写入使用此代码: from xlwt import Workbook, easyxf import dbfpy.dbf dbf = dbfpy.dbf.Dbf("C:\\Temp\\Owner.dbf") book = Workbook() sheet1 = book.add_sheet('Sheet 1') header_style = easyxf('font: name Arial, bold True, height 200;') for (i, name) in enumerate(dbf.fieldNames): sheet1.write(0, i, name, header_style) for row in range(1, len(dbf)): for col in range(len(dbf.fieldNames)): sheet1.row(row).write(col, dbf[row][col]) book.save("C:\\Temp\\Owner.xls") 我怎样才能得到第一个非标题行写? 谢谢

如何轻松将具有奇怪date格式的CSV转换为指定的格式?

这是一个比编程更多的数据相关的问题,但我不知道还有什么地方可以发布。 如果它更适合其他地方,更改器可以自由移动它。 我试图导入银行导出的CSV到GNUcash,但GNUcash只采用特定的date格式,如YYYY-MM-DD(1999-05-16),而我的银行只出口YYYYMMDD(19990516)。 我不知道最简单/最方便的方法是转换文件使用。 写一个脚本和/或使用复杂的正则expression式似乎是过度的,但可能是必要的? 我试图将其加载到LibreOffice Calc和MS Excel中,但找不到任何转换选项; 使用自定义的YYYYMMDD格式格式化单元格会打破输出。 我希望有一个更简单的方法来解决这个问题。 如果没有,我可能只是写了这个脚本,并把它放在网上的地方。

VBA数据透视表

我正在尝试编写一些将在新选项卡中构build数据透视表的VBA。 当我运行代码时,创build数据透视表caching时出现“types不匹配”错误。 代码如下,任何帮助将不胜感激…希望重新审视它可以发现我失踪 Sub makeAPivotTable() Dim sSheet, sSheet2 As Worksheet 'sSheet is where the data is, sSheet2 is where the pivot will be built Dim cCache As PivotCache Dim ptTable As PivotTable Dim rRange As Range Dim rLastRow, cLastColumn As Long ' Insert the new sheet for the pivot table to reside Application.DisplayAlerts = False […]

运行时错误“13”:在macros中键入不匹配

我录制了一个macros来创build一个枢轴图。 数据源被定义为一个variables,因为数据不断变化。 macros运行良好的行数(至20号)。 但随着数据增加超过20号。 macros的显示 运行时错误13:types不匹配。 代码如下。 突出显示的部分显示错误 Dim s As Worksheet, t As String Dim i As Long, K As Long K = Sheets.Count For i = K To 1 Step -1 t = Sheets(i).Name If t = "COMPARISON" Then Application.DisplayAlerts = False Sheets(i).Delete Application.DisplayAlerts = True End If Next i Sheets.Add(After:=Sheets(Sheets.Count)).Name = "COMPARISON" […]

保存在Excel文件中的C#dynamic更改variablestypes

我使用Excel库将Dictionary<string, List<string>>转换为excel文件。 字典中的值保存为string,但实际上可以是双精度或string。 假设myDic是一个示例字典。 这是例如myDic [0]: [0] "\"Nm\""string [1] "1,0" string [2] "2,0" string [3] "3,2" string [4] "0,0" string [5] "0,0" string [6] "0,0" string [7] "0,0" string [8] "0,0" string [9] "0,0" string [10] "0,0" string 虽然保存到Excel我想要将值转换为数字,如果他们实际上是数字。 我用这个方法,但似乎是非常错误的: try { row.CreateCell(j).SetCellValue(Double.Parse(cellValue)); } catch (Exception e) { row.CreateCell(j).SetCellValue(cellValue); } 这是非常缓慢的,因为它在大多数单元上抛出exception。 此外,double值设置错误,我认为这是因为我的数字(德文数字)逗号例如1,0保存为10。 所以似乎有两个问题。 第一:如何dynamic和正确地转换单元格值的types。 第二:如何用逗号正确保存数字。 […]

从XLS到C#转换失败的date时间

我正在与VS2008 .NET3.5与Office 2003文档(.xls)。 我正在使用Microsoft.Office.Interop.Excel访问文档。 这工作正常我的目的,但每当我试图得到一个date失败。 我使用的方式是最常见的: object date= xlWorkSheet.get_Range("E" + i, "E" + i).Value2; double doubleDate = double.Parse(date); DateTime finallyDate = DateTime.FromOADate(doubleDate); 我保存的date是01/12/1961(意大利语是指12月1日,如果我打开excel,它告诉我1961年12月1日)。 当我运行我的应用程序时,碰巧double的值变成了15011.0,而finallyDate的值是2/4/1941,这是不正确的! 我怎么解决这个问题? 有什么办法来(也手动)转换15011号码? 谢谢!!

返回ExcelvariablesC#

我有一个Windows窗体应用程序与5个方法(每个基于用户单击button)。 在每种方法中,我想以同样的方式打开相同的Excel文件。 但是,在每种方法中,我想在工作表上select不同的范围。 我试图创build一个函数打开Excel文件,而不是重写5次… // method to open Excel and load a the workbook based on date selected. public Tuple<Microsoft.Office.Interop.Excel.Application, Workbook, Worksheet> openExcel() { Microsoft.Office.Interop.Excel.Application excelObj = new Microsoft.Office.Interop.Excel.Application(); string fileName = @"C:\Users\" + userName + @"\Documents\Visual Studio 2015\Projects\ProgramForMom\ProgramForMom\bin\Debug\Excel Files\" + frm2.year.Text + " Expenses"; Workbook wb = excelObj.Workbooks.Open(fileName, 0, false, 5, "", "", false, […]