Tag: replace

以多列replace值

我是新来的vba,所以忍受着我。 我需要replace工作表中多个列的值。 有大约50个值需要匹配和replace,如果存在的话。 例如:我想在列C和F中查找是否存在任何列出的值,然后将其replace为另一个文本。 每个search值都有一个独特的替代。 优选地,如果string可以用相同的查找来search和replace两个列。 没有每个专栏的几个陈述。 这是我试图使用的: Sub reppp() Columns("C:C").Replace What:="Search1", Replacement:="Text1", SearchOrder:=xlByColumns Columns("F:F").Replace What:="Search1", Replacement:="Text1", SearchOrder:=xlByColumns Columns("C:C").Replace What:="Search2", Replacement:="Text2", SearchOrder:=xlByColumns Columns("F:F").Replace What:="Search2", Replacement:="Text2", SearchOrder:=xlByColumns End Sub 因为这是我需要更改/添加每个“replace”2条目。 我也得到需要这种治疗regulary的新工作表。 将这些图纸转换为我的规格最简单的方法是什么? 有没有办法在单独的工作表中声明search和replace,并以某种方式调用该文档并运行macros?

如何使用此VBA代码的特定列?

任何人都可以帮我解决以下问题吗? Sub UpdatePartial() With ActiveSheet.UsedRange .Replace "A1", "System", xlPart .Replace "A2", "System", xlPart .Replace "A3", "System", xlPart .Replace "B1", "ACC", xlPart .Replace "B2", "ACC", xlPart End With End Sub 如何将其应用于特定的列像列A或B或C ? 以上代码在整个工作表中search需要很长时间。 当select100,000行时,它也会提供太长的select。

VBA Excelreplace编译错误:“编译错误:错误的参数数量或无效的属性分配”

VBA Excel编译错误 编译我的代码时遇到了麻烦 Dim OriginalText As String Dim CorrectedText As String OriginalText = Range("A5").Value CorrectedText = Replace(OriginalText, "a", "o") Range("A5").Offset(, 1).Value = CorrectedText 在单元格A5中,我有Micrasaft这个词,我想replace成微软,但是它不是编译的。 我得到这个错误“编译错误:错误的参数数量或无效的属性分配” 你能帮我么?

限制查找和replace/ SUBSTITUTE到也可能出现在文字中的特定文本

我有一个列地址的邮件列表。 有重复,但不是确切的 – 有些logging有ST而其他有STREET 。 我正在寻求正式的公约,只是用STREET取代所有的ST 。 当ST出现在“STONE”这个单词中时,我无法限制查找和replace,甚至是SUBSTITUTE函数。 有什么方法可以指定它应该只有ST ? 我曾尝试将数据复制到另一列,并用“ – ”replace所有的“空格”,如果ST出现在文本string的中间,这将起作用。 但是,如果发生在最后,结果就是“-ST”。 如果我试图自动修正“-ST”,它也会将诸如“-Stone-Field”的地址改变为“-Streetone-Field”。 我也尝试过使用空格前后search,所以“ST”,以及单元格末尾的相同问题(因为我只需要search“ST”)。

总结替代,忽略和dynamic范围

我接近解决我的问题与“巴里胡迪尼”给出的答案,但我遇到了问题,将其结合我的需要。 =SUMPRODUCT(VALUE(0&SUBSTITUTE(A1:A8,"*",""))) 编辑#3 – @Rory来解决我的问题很好的答案。 但是我没有想过的是,如果你在单元格中input一个非数字值,那么公式返回一个错误。 所以我真的想调整下面的公式忽略字母“x” ,或非数值(如果这更容易): – ActiveCell.FormulaR1C1 = "=SUMPRODUCT(VALUE(0&SUBSTITUTE(INDIRECT(""R10C:R[-1]C"",FALSE),""s"","""")))" Dim Cell As Range For Each Cell In Range("all_cells") Cell.Formula = Range("one_cell").Formula Next 我现在要做的是编写一个VBA脚本来总结一个dynamic范围,并且包含一个“S”后面的值,但是不会失败或者返回任何其他字母上的错误。 最重要的是字母“x”。 之后,第一个公式设置,我想自动填充该公式的权利; 停在一个已知的列上。 结束编辑 为了历史和其他谷歌search的缘故,这里是我在使用“s”和“x”之前所使用的原始代码。 ActiveCell.FormulaR1C1 = _ "=SUM(INDIRECT(ADDRESS(10,COLUMN())&"":""&ADDRESS(ROW()-1,COLUMN())))" 这样做基本上是从一组行(第10行)中总结出来的,然后停止使用此公式的单元格之前的行的摘要。 我想要达到的例子:“3 + 4 S +2 + x = 9”; 而不是“= 5”或“##”

查找/replace有条件格式化的单元格

我一直在使用条件格式formula =OR(B2=B1,B2=B3)来突出显示连续的重复项。 然后,我使用格式画家将公式复制到我的Excel表中的所有列。 我已经设置了一个button,其中包括将工作簿复制到新的工作簿中。 我现在想在这个macros中包含上面的公式。 我的最终目标是用星号(*)replace用这个公式find的所有单元格。 我首先试图把公式推入macros观,作为一个起点 – For Each sh In Destwb.Worksheets With sh.UsedRange.FormatConditions _ .Add(Type:=xlExpression, Formula1:="=OR(B2=B1,B2=B3)") .Interior.Color = RGB(198, 239, 206) End With Next sh 但是这只是一堆看似随机突出的单元格。 我不确定我哪里出了问题。 即使B列的亮点都是错误的。 B1中的标题可以影响这个吗? 当我正常使用CF时不会。 如何将CF扩展到所有列中? 最后,我怎样才能将格式化的单元格replace成这个公式? 还是有更快更简单的方法来达到这个最终目标? 我没有意识到我可以用这种方式添加自定义文本。 这让我感动了好几步。 考虑到巴林蒂的build议,我试过一个解决方法。 我正在做出一些结果是错误的假设。 我已经能够将CFinput到我原始工作簿中的数据arrays中。 这并不像把它放在表格中那么简单,而是通过手动select每一列中的范围并input我使之工作的CF。 我也不确定格式是否会传递到新工作表,因为我已经使用了“粘贴特殊”命令将数组公式转换为新工作表中的值。 不过,它的格式是非常方便的。 这不是我的完美解决scheme,但它似乎工作到目前为止。 我仍然需要testing当更改date和获取更新的数据时会发生什么。 知道我是否可以将这个格式化到我的macros中仍然很有趣。 有小费吗?

将字母replace为其他字符时出错

为什么这个代码不能正常工作? 任务是只有在第一个出现的时候才从正确的位置replace(str。和strasse)。 在testing中,它什么都不做。 我猜这个错误是在这一行: x.Value = StrReverse(Replace(StrReverse(x.Value), strArr(b), "straße", 1, 1))这里是错误。 Sub strreplace() Dim strArr As Variant Dim b As Byte Dim x As Range strArr = Array("str.", "strasse", """") For Each x In Selection.Cells For b = 0 To UBound(strArr) x.Value = StrReverse(Replace(StrReverse(x.Value), strArr(b), "straße", 1, 1)) Next b Next x End Sub 我testing的第二个代码是: […]

findreplacevbscript excel特定的单元格

我想利用查找replaceExcel中的特定单元格上的Vbscript函数。 我目前的代码是: Dim myxl Dim mywb Dim mysh Set myxl = CreateObject("Excel.Application") myxl.Visible = True myxl.DisplayAlerts = False myxl.EnableEvents = False '20160412 BM open the workbook Set mywb = myxl.Workbooks.Open(mysrcfile, True, False, , , , , , , True) '20160523 BM open the sheet Set mysh = mywb.WorkSheets("General") 'The parameters in the following order for: […]

EXCEL VBA评估和replace

我需要使评估工作replacefunction。 代码应该是什么都不代替“-0700”。 下面的代码与列C中的数据一起提供: Set sh = ThisWorkbook.Sheets(1) Set rangc = sh.Range("c2:c10") For Each area In rangc.Areas area.Value = Evaluate("IF(ROW(" & area.Address & ")," & Replace(area.Address, " -0700", "") & ")") Next area – 这是工作表中的数据: ColumnC(original data) -0700 sdfg -0700 how -0700 saf 2016-10-16 10:13:41 -0700 ColumnC(After code is run) -700 sdfg -0700 how -0700 saf […]

如果单元格值=“N / A”,则复制并粘贴值

我想复制和粘贴值的单元格范围,但只有当它们的值=“N / A”。 我想离开公式,因为他们在所有不是=“N / A”的单元格中。 在上下文中,我有数百个VLOOKUP。 例: =IFERROR(VLOOKUP("L0"&MID(G$4,1,1)&"A0"&MID(G$4,1,1)&MID(G$4,3,2)&"-0"&$B6,Sheet1!$C:$D,2,FALSE),"N/A") 这可能与VBA?