Tag: replace

有条件的基础上是否replace发生

我想知道是否发生replace。 我想要做的是: bool SomethingWasReplaced = ActiveWorkbook.Worksheets(i).Cells.Replace What:="foo", Replacement:="bar", _ LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False If SomethingWasReplaced Then … 我的互联网search没有透露一种方法来做到这一点。 我怎样才能达到我想要的?

用编号replace项目符号

我有以下文字: 这是用户消息 消息一 消息二 消息三 我想用数字replace所有的子弹: 这是用户消息 消息一 消息二 消息三 此文本仅在Excel文件的一个单元格中可用。 任何人都可以build议一个公式这样做?

非常奇怪的查找/replace行为

我有一个存储在Windows-1251代码页的Firebird数据库,并使用IBExpert进行pipe理。 我必须使用SQL获取一些结算信息,编辑它,然后将其发送到客户端。 我将查询结果导出为.csv(逗号分隔值)格式,然后使用Microsoft Excel 2010将一堆csvs处理成漂亮的xls(带有边框,字体等)。我不知道为什么,但是IBExpert放置了一个奇怪的在几十年(64731而不是64731)之间的数字值中随处可见。 来自VBA的Asc()方法告诉我这是ASCII代码页中的#160符号。 现在,我所做的最奇怪的观察:如果您手动复制这个符号,并使用Excel的查找/replacefunction从任何地方删除它,一切都OK。 如果你在任何文本编辑器(如旧的记事本)做同样的事情,一切都还好。 但是,当您尝试使用VBA自动更换时,一切都变得非常非常错误。 不pipe你是从csv本身手动复制#160还是使用Chr(160)生成它,如果你试图删除所有这些,VBA也会删除一半的逗号。 逗号我的意思是一般已知的符号#44,你可以谷歌“ascii”图片,并检查出来。 我必须再次标记,replace影响一半的逗号,但是他们实际上是相同的符号,我再次检查了两次。 你可以在下面find一个csv的链接,所以你可以放心,我不是疯了。 这里是你可以用来重现魔法的代码 Sub test() Worksheets(1).UsedRange.Replace What:=Chr(160), Replacement:="" End Sub 我会非常感谢能澄清这种现象的人,因为我不能相信VBA就是那种越野车,我想我错过了某个地方 更新:伙计们,我非常抱歉。 我很愚蠢,我上传了错误的csv。 这是正确的

不包括来自同一行的组员的连接

是否有可能在图像中创build“群集”列? 需要连接所有常见“整体”值的“单位”值,但不要将其本身包含为串联的值。 我可以请帮助创build“群集”列吗? 除了结果行的单位外,每个“簇”都具有相同总体中的所有单位: Overall Unit Cluster Overall1 UnitA1 {UnitA2, UnitA3} Overall1 UnitA2 {UnitA1, UnitA3} Overall1 UnitA3 {UnitA1, UnitA2} Overall2 UnitA4 {UnitA5} Overall2 UnitA5 {UnitA4} Overall3 UnitB62 {UnitB63, UnitB64, UnitB65} Overall3 UnitB63 {UnitB62, UnitB64, UnitB65} Overall3 UnitB64 {UnitB62, UnitB63, UnitB65} Overall3 UnitB65 {UnitB62, UnitB63, UnitB64} 认为这可能是一个两步的过程,然后连接,也许search和replace?

VBA发现不工作

我有一个工作簿,其中包含所有分支机构的所有发票清单,我们称之为“全部”,基本上我需要search是否在包含每个分支机构发票的另一个文件中find发票。 它实际上是在每个分支的文件中,每个文件按月分割,我需要在每张表格中检查,然后在单元格中插入一个值。 我们把这个叫做“0001”等等。 “所有”文件基本上包含一个分行号码的列,一个是发票号码,一个是发行人代码,另一个是在分行文件中是否发现。 分支文件除了分支号以外都包含相同的内容,最后一列说明发票是否在“全部”文件中。 有些情况下,发票在分支文件上,而不是在“所有文件”上,也可能出现在所有文件上,而不在分支文件上。 我试图做的是在VBA中插入一个循环,这样它将在所有文件的发票之后自动开票并打开特定分支文件,然后在每张表中search发票号码。 我还需要检查发行者是否是相同的,但是首先我尝试了这个代码,当它search它返回错误的单元格的值! 这里是代码: Dim sh As Worksheet Dim iLoop As Integer For iLoop = 7 To 1719 ' this is where the invoices are in an excel sheet iloopoffset = iLoop – 6 ' as you see above, the list of invoices starts at line 7, so I used […]

VBA:search一个值,replace不同列中的值,但同一行

在列BI中有零件号,在列C1中有序列号,在EI列中有每个零件/序列号组合的最近检验date。 我需要将检查date更新为另一个单元格中引用的新date。 我试图添加一个图像,但它不会让我。 我将尝试重新创build下面的Excel图像: 例: BCDE 部件号 ___________ 序列号 ________________ 检查date 75750-0001-0000 ___________ 0002 ______________________ 9/15/2014 更新信息: OPQ 部件号 ___________ 序列号 _______ 检查date 75750-0001-0000 ___________ 0004 _______________ 2015年8月24日 在O5有一个零件号码,在P5我有一个序列号,Q5我有该部分/序列的检查date。 我需要点击一个button,让检查date更新列表中的正确部分/序列号。 (实际的列表要大得多,所以手动操作会非常耗时)。 没有重复或类似的东西。 任何帮助将不胜感激。

使用replace将单元格转换为公式

我有一个Excel文件,其中有几张纸。 在每个“A1”单元中,我将公式保存为一个文本,格式为: %= TR('Sheet 1'!C1;'Sheet 1'!$ F $ 1:$ F $ 5;“Frq = D SDate =#1 EDate =#2 Curn = EUR CH = Fd”; $ B $ 1;'Sheet 1'!$ D $ 1;'Sheet 1'!$ E $ 1) 由于公式允许通过Add-In(xlam)连接到数据库(Thomson Reuters Eikon)并用于从此数据库检索数据,所以我特意将它们保存为这种格式。 如果我把它们全部放在没有%字符的文件中,那么它们会被立刻运行,并且会崩溃。 所以我想写VBA,在每个表中逐个删除字符( % ),因此等待一两分钟,直到上一页中的公式检索到数据。 我尝试了几种方法,但都没有工作。 首先,我试图用这个代码replace字符: Dim SearchValue As String Dim NewValue As String SearchValue = […]

使用通配符从string中删除less量字符

强调文本 我使用了string函数,但是如果圆括号中的数字数量不同,结果会变得不对。 我如何分类这个问题?

转换文件名的date

我无法将date转换为将保存Excel文档的格式。 即取出“/”和/或用“ – ”replace它们 Dim strDate Dim intLen Dim test Dim testArray strDate = Date test = CStr(strDate) testArray = Split(test) intLen = Len(test) For i = 0 To intLen if testArray(i) = "/" Then testArray(i) = "-" End If Next 'Replace test, "/", "_" For i = 0 To 3 Wscript.Echo testArray(i) Next objExcel.ActiveWorkBook.SaveAs […]

Excel基于variablesinput修剪文本

我有一个string,我想在一旦出现“。”后修剪。 看到“.IS”之后,“.IS”之前(和之后)的字符是可变的,直到下一次出现“。”。 唯一标准的是“.IS”,并且会有更多的字符出现在下面。 我需要这是在一个公式,所以新的数据被添加它会自动修剪。 例如: 11.34367.3729.IS3432.12 -> 11.34367.3729.IS3432 12.7232.372.123.IS280.1.5 -> 12.7232.372.123.IS280 836.823.135.IS289673.1.45 -> 836.823.135.IS289673