EXCEL VBA 如何将某工作表内复合条件的数据黏贴至其他不同工作表指定区域内?

请问如何做到通过筛选主表A列的数据,当主表A列的数据等于同工作簿其他工作表的名字的情况下,把A列之后的相关数据黏贴至同命工作表指定区域内,比如A1数据是2020-01,就把A1:H1的数据黏贴到2020-01工作表内。

以下代码测试可行:

Sub copyToTable()

Dim i As Integer, sht As Worksheet

For i = 1 To Sheet1.Range("A1").End(xlDown).Row '从第1行到最后一行

 For Each sht In ThisWorkbook.Sheets  '在所有表单中查找

  If sht.Name = Sheet1.Range("A" & i).Text Then

 ' 如果表单名字与该单元格内容相同(A列最好先行设为文本格式,否则2020-01会变成月份的样子或转化为数值,无法相等)

     Sheet1.Range("A" & i & ":H" & i).Copy  '复制

     sht.Range("A1").PasteSpecial xlPasteAll '粘到到对应表单的A1格

  End If

 Next sht

 Next i

End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-05-01
Sub AA()
Dim i, n
For i = 2 To Range("A65536").End(xlUp).Row
For n = 1 To Sheets.Count
If Sheets(n).Name = Cells(i, 1).Text Then
arr = Range(Cells(i, 1), Cells(i, "h"))
Sheets(n).Cells(Sheets(n).Range("A65536").End(xlUp).Row + 1, 1).Resize(1, 8) = arr ' Range("A" & i & ":H" & i).Copy Sheets(n).Cells(Sheets(n).Range("A65536").End(xlUp).Row + 1, 1)
End If
Next
Next
End Sub
第2个回答  2021-04-30
设置不同的变量,然后就可以进行对应的操作了
相似回答