Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用基于其他工作表中表格的单元格替换特定工作表的单元格_Excel_Vba - Fatal编程技术网

Excel 使用基于其他工作表中表格的单元格替换特定工作表的单元格

Excel 使用基于其他工作表中表格的单元格替换特定工作表的单元格,excel,vba,Excel,Vba,我如何改进下面的代码,以替换名为“Table1”(在工作表“DataMatch”中)的表中的单元格,但仅替换名为“data”的特定工作表中的单元格A1:B10。不要对其他纸张做任何操作。下面的代码不起作用 Sub replacecells1() Dim sht As Worksheet Dim fndList As Integer Dim rplcList As Integer Dim tbl As ListObject Dim myArray As Variant 'Cre

我如何改进下面的代码,以替换名为“Table1”(在工作表“DataMatch”中)的表中的单元格,但仅替换名为“data”的特定工作表中的单元格A1:B10。不要对其他纸张做任何操作。下面的代码不起作用

    Sub replacecells1()

    Dim sht As Worksheet
Dim fndList As Integer
Dim rplcList As Integer
Dim tbl As ListObject
Dim myArray As Variant

'Create variable to point to your table
  Set tbl = Worksheets("DataMatch").ListObjects("Table1")

'Create an Array out of the Table's Data
  Set TempArray = tbl.DataBodyRange
  myArray = Application.Transpose(TempArray)

'Designate Columns for Find/Replace data
  fndList = 1
  rplcList = 2

'Loop through each item in Array lists
For x = LBound(myArray, 1) To UBound(myArray, 2)

      Sheets("Data").Range("A1:B10").Replace What:=myArray(fndList, x), Replacement:=myArray(rplcList, x), _
            LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
            SearchFormat:=False, ReplaceFormat:=False

  Next

End Sub
我的“数据”表是(必须更换的地方):

我的“匹配数据”表(见表1)是:


您只需用以下代码替换myArray循环中的所有内容,即可仅替换
数据工作表中
范围(A1:B10)
中的信息

 For x = LBound(myArray, 1) To UBound(myArray, 2)

      Sheets("Data").Range("A1:B10").Replace What:=myArray(fndList, x), Replacement:=myArray(rplcList, x), _
            LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
            SearchFormat:=False, ReplaceFormat:=False

  Next 

如果我正确理解您的问题,请为每个sht替换
中的所有内容
。。。下一页带有
图纸(“数据”)。范围(“A1:B10”)。替换。。。以及其他现有的替换参数
,感谢您的回复。我更新了上面的代码-请看一看。但我有一个错误:下标排列不整齐。你能检查一下是否出了问题吗?你错过了我评论的最后一部分<代码>。。。和其他现有的替换参数
(或者可能不清楚)。换句话说,您最初在那里使用的replace语句,将这些参数添加到我针对
Sheets(“Data”).Range(“A1:B10”)
给您的replace语句中。。很抱歉你能编辑我上面的代码并提出一个答案吗?很多Thankstill给了我超出范围的脚本,我编辑了我的第一个代码,让你看看我遗漏了什么。参见编辑,我以为你最初写的工作表名称是“数据”。我将其更改为“DataMatch”,DataMatch是表1中的表(替换中使用的数据);数据是我真正想要使用命令replace的工作表。请在顶部查看我的更新代码。缺少某些内容,对吗?表中有多少列?你能发布你表格的截图吗?我在我的问题中添加了一些图片,包括我想更改的表格和包含表格1的表格。再次感谢!