Tag: string

问题与excel的application.evaluate命令在vba中

我遇到了一些Excel代码问题,我无法解决问题。 好吧,我在excel vba,office 2007中使用application.evaluate命令。 如果我有Evaluate("SIN(45)")它返回一个很好的预测数字。 但是,如果我做Evaluate("eq")的代码崩溃。 eq是我从Excel中读取的一个等式。 该方程是: 3*x^2+5*x+1 。 它作为一个string传入。 为了确保发生这种情况,我把它放在另一个我定义为string的variables中。 我使用Excel的replace函数replace等式中的x。 equation = Replace(equation, "x", temp) 。 但是,当我到评估代码分解,我不知道为什么。 Total = Total + Evaluate("equation") 。 任何帮助是极大的赞赏

VBA excel,比较两个工作簿中的string

在excel文件中我再次遇到混合格式数据的问题。 我已经得到名为“用户名”列的文件。 我要解决的最大问题是,这一栏里的数据是由混合格式的姓氏和名字组成的。 例如: “用户名” 约翰·史密斯 卡特迈克 加菲猫汤姆 等等… 我有第二个文件包含正确格式的数据,我有3列:“姓”,“名”和“ID”。 我需要做的是将与第二个文件中的人匹配的Id复制到第一个文件。 我的想法是循环“用户名”列,并使用InStr函数与首先“姓氏”列进行比较,如果匹配与“名字”列比较。 然后,如果有匹配,我会将Id复制到第一个文件中的列“B”。 但事实certificate,我在VBA中太弱了。 这是我写的。 它根本不起作用,但也许会帮助你理解我的问题是什么: Option Explicit Sub FindID() Dim rLastCell, rFirstCell, rUserCell As Range Dim LastCell, FirstCell, UserCell As Range Dim file As Workbook Dim i As Long 'open file to compare Set file = Workbooks.Open(Filename:=ThisWorkbook.Path & "\gooddata.xls") 'set last used cell Set […]

从列数据中删除一个string的开始部分

我有一个Excel文件,其中有10列的数据从以下开始: Text1 | Text4 | Text7 Text2 | Text5 | Text8 Text3 | Text6 | Text9 对于我的要求,我必须从所有这些单元格中删除部分Text 。 这是如何在Excel中完成的? 我是这个完整的新手。

公式来查看姓氏是否在单元格内重复并输出简化的string

我有一个数千个项目的清单,其中包含几个不同的名字,如下所示: Mr P Thompson & Mrs S Thompson & Mr A Thompson Mr C Guy-Johnson & Mrs A Guye-Johnson & Miss J Guye-Johnson Mrs Fuller & Ms D Fuller & Dr KU Fuller Dr V Patel & Dr OO Patel Mr B Burden & Mr MP Wood & Ms C Pollock Mr PW Philips & […]

修改/更改单元格Excel VBA的第N个元素

我正在创build一个macros观扭转单元值的大写,来解释更好。 原始值 – hh3crd220 xmi4Idc200 TEst02NoW 输出 – HH3CRD220 XMI4iDC200 teST02nOw 我认为必须已经有macros可以做这项工作,但我自己编写一个,一切正常工作,除了改变第n个值, 中期不工作,因为它只会提取的价值,我试图字符,但只会格式化元素,我想像character.value或mid.value函数的工作。 Sub CapsChange() Dim letr As String Dim Val1 As String Dim sr As Range lastrow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row Set sr = Range("A1:A" & lastrow) For Each r In sr Fval = r.Value Val1 = Left(r.Value, 1) If Val1 <> UCase(Val1) Then For […]

VBA比较string(检查string是否包含string2)

我在比较两个string时遇到问题。 该方法似乎并不工作。 我已经尝试了以下function: 方法: If StrComp(logic_string, RSTA_ISIN_clean) Then rng.Offset(0, 16) = "OK(ISIN in RSTA)" rng.Offset(0, 16).Interior.Color = 5296274 Else rng.Offset(0, 16) = "NG(ISIN not RSTA or check RSTA)" rng.Offset(0, 16).Interior.Color = 255 End If 方法: If InStr(1, RSTA_ISIN_clean, logic_string, vbTextCompare) Then rng.Offset(0, 16) = "OK(ISIN in RSTA)" rng.Offset(0, 16).Interior.Color = 5296274 Else rng.Offset(0, 16) = […]

当我复制并粘贴到记事本从Excel中每个引号后加引号

我有以下文本存储在工作表中的单元格中 <tr onmouseover="this.style.backgroundColor='#74eb61';" onmouseout="this.style.backgroundColor='#e8e8e8';"> 现在,当我复制并粘贴到记事本,我得到每个报价后额外的引号,所以它就像下面的string <tr onmouseover=""this.style.backgroundColor='#74eb61';"" onmouseout=""this.style.backgroundColor='#e8e8e8';""> 您可以通过以下方式重新创build: 复制这个文本: <!– CSS goes in the document HEAD or added to your external stylesheet –> <style type="text/css"> table.hovertable { font-family: verdana,arial,sans-serif; font-size:11px; color:#333333; border-width: 1px; border-color: #999999; border-collapse: collapse; } table.hovertable th { background-color:#009fe3; color:#FFFFFF; border-width: 1px; padding: 8px; border-style: solid; border-color: #a9c6c9; } table.hovertable tr […]

将公式插入单元格VBA Excel时运行时错误1004

试图将公式插入到VBA中的单元格时出现运行时错误1004。 在我的Excel表格中,我在A列中有一个date,在B列中每3列有一列股票行情,所以B,E,H等 在单元格C2中,我试图将B2中的值除以第2行中“FTSE”列标题下的值。 把这个公式直接运用到单元格中: =IFERROR(B2/(VLOOKUP($A2,$A$2:$GMQ$261,MATCH("FTSE",$B$1:$GMQ$1,0)+1,FALSE)),"") 我正在尝试使用vba来做到这一点。 这是我有的代码: Sub InsertFormula() Range("C2").Select ActiveCell.Formula = _ "=IFERROR(B2/(VLOOKUP($A2,$A$2:$GMQ$261,MATCH(""FTSE"",$B$1:$GMQ$1,0)+1,FALSE)),"")" End Sub

VBA范围和string混淆

认为我有一个范围和string之间的差异的问题。 试图让它search任何获胜者的范围内的单元格,然后吐出一个点值。 Sub it() Dim Round1 As Range Dim Round2 As Range Dim lngCnt As Long Dim Winner() As String Dim pointSum As Double ReDim Winner(1 To 4) Winner(1) = "Mohler" Winner(2) = "Scotter" Winner(3) = "DKGAY" Winner(4) = "Lassie" Set Round1 = Range("L3,L11,L22,L32").Text For Each Winner In Round1 lngCnt = lngCnt + 10 Winner(lngCnt) […]

Excel VBA上正确的案例:如何添加一个规则并在整个工作表中应用该function

我正在使用下面的VBA代码将现有的工作表转换为正确的情况: Sub Proper() Dim ws As Object Dim LCell As Range 'Move through each sheet in your spreadsheet For Each ws In ActiveWorkbook.Sheets 'Convert all constants and text values to proper case For Each LCell In Cells.SpecialCells(xlConstants, xlTextValues) LCell.Formula = StrConv(LCell.Formula, vbProperCase) Next Next ws End Sub 这工作正常,除了我需要添加一个额外的规则的function。 在首字母后,第一个字母应该大写。 这里是一个例子: 谷歌(Android)应该成为谷歌(Android) 。 有没有办法编辑上面的代码来添加这个规则,或者我必须通过If条件循环每个字符?