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_Excel Tables - Fatal编程技术网

使用另一个表中的新值更新Excel表

使用另一个表中的新值更新Excel表,excel,vba,excel-tables,Excel,Vba,Excel Tables,我们有这样的表A: Name Website Description Freelensia https://www.example.com "Interpreter reservation platform" フリレンシア https://www.example.com/ja "通訳予約プラットフォーム" "Phi Liên Á" https://www.example.com/vi "Nền tảng đặt hẹn với phiên dịch viên trực tuyến" 非連亜

我们有这样的表A:

Name Website Description
Freelensia https://www.example.com  "Interpreter reservation platform"
フリレンシア https://www.example.com/ja "通訳予約プラットフォーム" 
"Phi Liên Á" https://www.example.com/vi "Nền tảng đặt hẹn với phiên dịch viên trực tuyến"
非連亜 https://www.example.com/zh "口譯預約平台"
Name Website Description
Freelensia [blank] "Reserve interpreters online"
フリレンシア [blank] "オンラインで通訳者を予約する" 
"Phi Liên Á" [blank] "Đặt lịch trực tuyến với phiên dịch viên"
其中Name是此表的唯一IDKey

现在,我们偶尔会用表B中的新值批量更新表a,如下所示:

Name Website Description
Freelensia https://www.example.com  "Interpreter reservation platform"
フリレンシア https://www.example.com/ja "通訳予約プラットフォーム" 
"Phi Liên Á" https://www.example.com/vi "Nền tảng đặt hẹn với phiên dịch viên trực tuyến"
非連亜 https://www.example.com/zh "口譯預約平台"
Name Website Description
Freelensia [blank] "Reserve interpreters online"
フリレンシア [blank] "オンラインで通訳者を予約する" 
"Phi Liên Á" [blank] "Đặt lịch trực tuyến với phiên dịch viên"
  • 名称将是相同的
  • 具有空白值的单元格将被视为无更改
  • 仅包含有新值的行。你可以看到第四个(ID)=非連亜) 表A的行不在表B中,因为此处没有要更新的新值
是否有一个宏执行类似的操作


真正的表A大约有2000行和20列。

假设表B在表2中,表A在表1中

Sub test()
    Sheets("Sheet2").Range("TableB").Copy
    Sheets("Sheet1").Range("TableA").PasteSpecial Paste:=xlPasteValues, _
                                                  Operation:=xlNone, SkipBlanks:=True, Transpose:=False
End Sub

分享您编写的一些代码,并描述您遇到的问题。感谢Imran,这看起来很有希望,尤其是SkipBlanks属性。但是,如果这两个表的大小不相同,该怎么办?表A是主表,因此它将包含所有行(数千行),而表B仅用于更新目的,它最多可能有5-6行。我认为,这个宏不起作用。从您给出的示例中,我只能计算出未更改的单元格将为空白,表大小将相同。您能给出两个表的适当屏幕截图吗?