gpt4 book ai didi

vba - 将行值复制到另一个工作表

转载 作者:行者123 更新时间:2023-12-02 19:13:53 25 4
gpt4 key购买 nike

我现在好像有心理障碍。我想做的是将特定值添加到 E 列后,让 VBA 将一行(例如 A2:H2)(仅值是必须的)复制到另一个工作表中。我的代码目前缺少的功能是复制仅适用于另一张表中的行范围的值。

不知道还能做什么。代码如下:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 And Target.Cells.Count = 1 Then
If LCase(Target.Value) = "worker" Then
With Target.EntireRow
.Copy Sheets("worker").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
.Delete
End With
ElseIf LCase(Target.Value) = "worker2" Then
With Target.EntireRow
.Copy Sheets("worker2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
.Delete
End With
ElseIf LCase(Target.Value) = "worker3" Then
With Target.EntireRow
.Copy Sheets("worker3").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
.Delete
End With
End If
End If
End Sub

任何帮助都会很棒。

最佳答案

您可以使用偏移和调整大小来获取行中的范围

With Target
.Offset(, -4).Resize(1, 8).Copy
Sheets("worker").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
.EntireRow.Delete
End With

注意:

1) 我们现在使用的是 Target,而不是 Target.EntireRow

2) .Offset(, -4).Resize(1, 8) 为“A:H”,其中 E 列为目标列

关于vba - 将行值复制到另一个工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50659697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com