gpt4 book ai didi

vba - 使用 VBA 将单元格值复制到 Excel 中的另一个工作表

转载 作者:行者123 更新时间:2023-12-04 21:39:00 25 4
gpt4 key购买 nike

在我匹配另一个单元格中的字符串后,我有以下代码成功地将单元格 B、E 和 F 复制到工作表 2 中的单元格 B、C、D。问题是它复制了单元格,而不仅仅是其中的值(我不需要边框、颜色等)。

我遇到的另一个问题是,虽然它将数据复制到 B 列中的下一个空闲行,但它不会根据 C 和 D 列查找下一个空闲行。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim thisrow As Long
Dim lr As Long
If Target.Column = 7 Then
thisrow = Target.Row
If Target.Value = "FAULTY" Then
lr = Sheets("sheet2").Range("B" & Rows.Count).End(xlUp).Row + 1
Range("B" & ActiveCell.Row).Copy Sheets("sheet2").Range("B" & lr)
Range("D" & ActiveCell.Row).Copy Sheets("sheet2").Range("C" & lr)
Range("F" & ActiveCell.Row).Copy Sheets("sheet2").Range("D" & lr)
End If
End If

End Sub

最佳答案

您可以改用 .Value 运算符。此外,只需为下一个可用单元格的 C/D 范围设置一个单独的变量。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim thisrow As Long
Dim lr As Long
If Target.Column = 7 Then
thisrow = Target.Row
If Target.Value = "FAULTY" Then
lr = Sheets("sheet2").Range("B" & Rows.Count).End(xlUp).Row + 1
mr = Sheets("sheet2").Range("C" & Rows.Count).End(xlUp).Row + 1
nr = Sheets("sheet2").Range("D" & Rows.Count).End(xlUp).Row + 1
Sheets("sheet2").Range("B" & lr).Value = Range("B" & ActiveCell.Row).Value
Sheets("sheet2").Range("C" & mr).Value = Range("D" & ActiveCell.Row).Value
Sheets("sheet2").Range("D" & nr).Value = Range("F" & ActiveCell.Row).Value
End If
End If
End Sub

关于vba - 使用 VBA 将单元格值复制到 Excel 中的另一个工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23277857/

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