Tag: types

运行VBA代码以根据特定条件删除行时,键入不匹配错误

我试图根据一些特定的标准删除Excel工作表中的一些行。 在某些时候,它给出了以下types不匹配错误: 据我所知,从部分创build的工作表,错误发生在DO循环在 Or Len(Cells(r, 1)) = 5 _ Or Int(Right(Cells(r, 1), 4)) > 4000 _ Or Cells(r, 3) = 0 部分。 我应该怎么做来纠正错误? 另外,如果你能推荐我一个更快的运行代码的改进,我真的很感激它。 完整的代码如下: Sub delrows() Dim r, RowCount As Long r = 2 ActiveSheet.Columns(1).Select RowCount = UsedRange.Rows.Count userresponse = MsgBox("You have " & RowCount & " rows", vbOKOnly, "Info") Rows(RowCount).Delete Shift:=xlUp ' Trim […]

types与CDate不匹配

我有以下代码: minDate = CDate(Table.Cell(i, 4).Range.Text) 但是我得到了“types不匹配错误”。 Table.Cell(i, 4)是一个“dd.mm.yy”格式。

使用VSTO获取excel列的默认数据types

有没有办法使用VSTO c#获取由excel分配给它的列的默认数据types。

PHP创buildExcel文件,变音问题

你好我正在用PHP创build一个Excel文件。 在打印出一些数据之前,我正在设置标题: header('Content-type: application/vnd.ms-excel; charset=utf-8'); 然后我插入像这样的东西: echo '<table><tr><td>täääst</td></tr></table>'; 我的问题是ä没有显示在Excel文件中。 我也有一个错误,当我打开文件说: 您尝试打开的文件“filename.xls”采用与文件扩展名指定的格式不同的格式。 打开文件之前,validation该文件是否已损坏并且来自受信任的来源。 你想现在打开文件吗? 你能帮我吗? 先谢谢你。

在Chrome中运行时,ASP Classic中的ContentType不会创buildExcel电子表格

我有一个旧的ASP Classic应用程序运行在我公司的SaS项目中。 它所做的是在Excel电子表格中导出主要报告。 问题是:令人惊讶的是,它恰好在IE浏览器中正常工作。 所有的版本。 Chrome浏览器似乎越过Response.ContentType指令,并尝试将结果文件以.ASP文件格式保存…当然,这种情况变得非常糟糕。 到目前为止,我们所做的只是要求我们的同事和支持服务员简单地将他们的浏览器更改为旧的,不可靠的浏览器(例如IE)。 不过,我们刚刚把一个项目卖给了一个浏览器被官方locking为Google Chrome的客户端。 所以…我不知道如何解决这个问题。 我的ContentType指令是 Response.ContentType = "application/vnd.ms-excel" 下面继续,创build一个共同的html结构的表。 请帮助!! :d

当公式工作正常时,VBA返回“types不匹配”

我有一个macros应该返回列E中的值,如果它匹配列A,列B和列D中的值。下面的公式inputExcel的工作很好: =SUMPRODUCT(–(A1:A180="Category Name"),–(B1:B180="Specific Type"),–(D1:D180=2015),(E1:E180)) 但是下面的VBA程序返回一个“types不匹配的错误”。 该程序位于一个模块,而不是在特定的工作表下。 我已经validation了“表名称”范围也存在。 任何人都可以看到错误是什么? 为了logging,列a和b是文本,列d和e是数字。 Function LocateFirstCell() Dim FirstCell Dim ColA Dim ColB Dim ColD Dim ColE Dim Name As String Dim BOD As String Dim Year As Integer Set ColA = Worksheets("Sheet Name").Range("A1:A180") Set ColB = Worksheets("Sheet Name").Range("B1:B180") Set ColD = Worksheets("Sheet Name").Range("D1:D180") Set ColE = Worksheets("Sheet Name").Range("E1:E180") Name = […]

将TextBox.Value转换为VBA(Excel 2013)

我有TextBox到我的表单,用户可以在其中input一个值。 在VBA中,我需要将string的值转换为double。 我是这样做的: Private Sub UserForm_Initialize() '….some code Dim new_value As Double new_value = CDbl(TextBox6.Value) End sub 但是我得到下面的错误:

如何使用C#在Excel中为单元格设置本地化的短date格式?

使用C#和VSTO,可以使用以下代码设置Excel中单元格的types: worksheet.Cells[i, j].NumberFormat = magicString; 其中worksheet是Microsoft.Office.Interop.Excel.Worksheet类的对象, i是单元格的行号, j是单元格的列号, magicString是定义单元格types的一些string(注意: Excel调用格式的types,但下面我使用单词types )。 以下magicString定义了以下Exceltypes: string magicString = ""; – 定义“常规”Exceltypes; string magicString = "@"; – 定义“文本”Exceltypes; string magicString = "0%"; – 定义“百分比”Exceltypes。 当我想要设置“date”Exceltypes时,情况更加复杂。 复杂性与Excel的本地化和Windows系统的本地化有关。 所以,例如,我有一个俄语版本的Excel(尤其是所有types都使用俄语在Excel中编写) ,我的Windows系统具有以下短date格式:“dd.MM.yyyy”(可以find此设置在“控制面板”>“区域和语言”>“格式”中)。 我有一个Windows的英文版本,但是这绝对没有作用。 因此,如果我将在我的代码中使用下面的magicString ,单元格的types将被设置为短datetypes: string magicString = "ДД.ММ.ГГГГ"; – 定义“date”(或更确切地说,“短date”)Exceltypes; 正如你所看到的,这里的magicString是俄语字母(俄语 – 因为Excel是俄语)的组合和在Windows设置中设置的格式的组合。 如果,而不是这个magicString ,我使用等于“DD.MM.YYYY”(即英文字母)的magicString ,错误出现。 因此,如果我希望我的Excel加载项能够正确设置Excel的所有(英语,俄语,德语和其他所有版本)版本以及 Windows的所有本地化设置的“短date”types,能够使用一些通用的magicString ,这是独立于两个提到的因素。 作为一个选项,我可以使用下面的代码从Windows设置中读取短date格式: string shortDatePattern […]

进行search和replace时,保留Excel中单元格的数据types

一个webquery将从一个目录中的所有图像名称拉到excel成功 使用replace通过vbareplace“_lg.jpg”和“.jpg”在整个导入范围内工作正常 但是,在图像是“2496-6-4_lg.jpg”的情况下,删除“_lg.jpg”导致excel将新值解释为date6/3/2496,即使我首先将单元格格式化为文本 我已经在QueryTables.Add(Connection:=代码的一部分)内尝试了任何数量的设置更改它似乎像.PreserveFormatting = True .WebFormatting = xlWebFormattingNone .WebDisableDateRecognition = True 可能会影响最后的结果,但是改变它们中的任何一个都不会禁止将图像名称转换成当扩展名被删除时的date 另外我明确地遍历使用范围 For Each cell In Range("E2:E" & lastPhoto) cell.Select ActiveCell = ActiveCell.FormulaR1C1 Next cell 这强制他们的文本格式,因为每个单元格已被格式化为文本,但这些已经转换为date并没有帮助 所有这些都是为了比较从db查询输出的文本来查找缺失的图像名称 除了这些被误解的date之外,一切都很好 预先安排一个apostrohe不是一个好的解决scheme,因为它可能会打破用于比较的查找 有没有办法做一个searchreplace和保存结果值为文本,这显然是在删除扩展之前? 图像名称如何被拉入 With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://images.mysite.com/" & mfr, Destination:=Range("$E$2")) .Name = mfr .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True […]

多个运行时错误的问题:更新的代码 – 仍然有问题

谢谢大家的帮助到目前为止 – 非常感谢! 但是我仍然有问题 我是一个非常新的Excel用户,我相信答案会非常简单。 我经历了很多尝试,通过阅读现有的问题来解决这个问题,但是每次我只是得到一个不同的错误,并且无法解决问题。 正因为如此,我已经经历了许多代码尝试修复这些问题的迭代,因此欢迎关于如何继续的build议。 也道歉,如果我不格式/问我的问题适当。 背景 我有两个excel文件:wb1)一张带有公司名称和ID表的表(每周更改列表)wb2)带有多个选项卡的工作簿,其本质上就是模板。 对于在wb1中列出的每个公司,我需要将公司名称和ID复制到wb2中的相应单元格中,并另存为公司名称和date。 如上所述,我已经经历了许多迭代,并在下面得到了帮助,但是我仍然没有得到它的工作。 我得到的各种错误取决于我如何修改代码是运行时错误5,运行时错误438,编译错误,可能还有一些我没有写下来。 当前的问题: 如果macros保存在wb1中 – macros运行并创build第一个工作簿,但是然后我得到“系统错误&h800401a8(-2147221080) 如果macros保存在个人macros工作簿 – “脚本超出范围”。 它似乎打破了行Set tb1 = wb1.Sheets("Sheet1").ListObjects("Table1") 我会欢迎任何关于如何解决问题的build议,并提前致谢。 这是我的代码,因为它代表: Option Explicit Sub CreateStat() Dim CompanyName As String Dim CompanyID As String Dim Z As Long Dim wb1 As Workbook Dim wb2 As Workbook Dim tb1 As ListObject Dim […]