试图根据条件将列中单元格的值移动到另一个

时间:2018-10-18 15:19:43

标签: excel vba

我下面有这段代码,我正在尝试搜索column D,如果没有没有值,请在column c中输入值,然后将其放入{{ 1}}。

不幸的是,当我运行它时,它只会删除C列中的所有内容。

column D

1 个答案:

答案 0 :(得分:1)

将您的声明更改为

ws.Range("D" & i).Value = ws.Range("C" & i).Value

在这种情况下,遍历一个范围可能会更快一些。另外,切换ScreenUpdating可以从用户的角度使这个清洁器更干净

Option Explicit

Sub Alternative()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("copied")
Dim LRow As Long, MyCell As Range

LRow = ws.Range("C" & ws.Rows.Count).End(xlUp).Row

Application.ScreenUpdating = False
    For Each MyCell In ws.Range("C19:C" & LRow)
        If MyCell.Offset(, 1) = "" Then MyCell.Offset(, 1).Value = MyCell.Value
    Next MyCell
Application.ScreenUpdating = True

End Sub