Excel 用其他列中的数据替换列中的可见单元格

Excel 用其他列中的数据替换列中的可见单元格,excel,vba,Excel,Vba,这是我的问题,我正在按类型“大”筛选列s,然后,我转到列T中的可见单元格,并用列V中的数据替换它。问题是数据波动,所以我不能让我的宏用列V替换所有的列T 我有用于过滤和可见行的代码,但我不知道如何完成宏代码,因此它将T列中的可见单元格替换为V列中的可见单元格。V列也有所不同,因此T4必须替换为V4,然后T27必须替换为V27等。。。这些都是任意的,可见细胞每周都可以切换 ActiveSheet.UsedRange.AutoFilter Field:=19, Criteria1:= _

这是我的问题,我正在按类型“大”筛选列s,然后,我转到列T中的可见单元格,并用列V中的数据替换它。问题是数据波动,所以我不能让我的宏用列V替换所有的列T

我有用于过滤和可见行的代码,但我不知道如何完成宏代码,因此它将T列中的可见单元格替换为V列中的可见单元格。V列也有所不同,因此T4必须替换为V4,然后T27必须替换为V27等。。。这些都是任意的,可见细胞每周都可以切换

    ActiveSheet.UsedRange.AutoFilter Field:=19, Criteria1:= _
    "Large"

    Dim sh As Worksheet, rng As Range, LstRw As Long

    Set sh = Sheets("Sheet1")
    With sh
    LstRw = .Cells(.Rows.Count, "A").End(xlUp).Row
    Set rng = .Range("A2:A" & LstRw).SpecialCells(xlCellTypeVisible)

为了满足需要,我最好的代码是什么?

请尝试下一个代码:

Sub testFilterReplaceVisCells()
  Dim sh As Worksheet, rng As Range, rngT As Range
  Dim LstRw As Long, rngArea As Range, cel As Range
  
  Set sh = Sheets("Sheet1")
  sh.UsedRange.AutoFilter field:=19, Criteria1:="Large"
  LstRw = sh.cells(rows.count, "A").End(xlUp).row
        
  Set rngT = sh.Range("T2:T" & LstRw).SpecialCells(xlCellTypeVisible)

    For Each rngArea In rngT.Areas
        For Each cel In rngArea.cells
            cel.value = sh.cells(cel.row, "V").value
        Next
    Next
End Sub

因此,用T列中的数据替换了V列中的可见数据,这与用VUps列中的可见数据替换T列中的可见数据正好相反。。。我误解了这个问题。我会在一分钟内调整它。。。适应了。是的,现在都修好了。谢谢你帮我,太棒了@LittleAuditorium:帮你没问题。但我不太明白问题出在哪里。。。关于变量声明的所有内容都已经在我的代码中了。您在尝试上述代码时遇到问题吗?如果是,您是否按原样进行测试?如果您试图修改它,请编辑您的问题,张贴修改后的代码,并解释什么错误和在哪一行。请在这里给我贴上标签。对不起,我真的弄明白了。我只是去掉了我在前面的评论中已经定义的变量。现在,完整的代码流完美地融入到我以前的代码中。再次感谢你的帮助