首页 > 解决方案 > “End with”和“Next”的正确位置是什么

问题描述

这是对上一个问题的跟进。我正在尝试创建一个复制/粘贴宏,其中涉及一个选项卡上的下拉菜单和另一个选项卡上的 sumifs。我希望宏(按顺序) 1 在下拉选项卡上插入一个值并让公式计算。2 转到另一个选项卡将相应的行粘贴为值。3 对下一个下拉值重复 1-2

以/下一个结尾是否在正确的位置让宏执行我需要的操作?

Sub Copy_Paste()
Sheets("MS Wall Summary Weekly View").Activate
    Dim vRws As Long, vRng As Range
    Dim d As Range, d8 As Range, Wst As Worksheet
    Dim vRng2 As Range, vRws2 As Long, i As Long

Set Wst = Worksheets("MS Wall Summary Weekly View")
Set d8 = Wst.Range("D8")

With Wst
   vRws = .Cells(.Rows.Count, "A").End(xlUp).Row
    Set vRng = Range(.Cells(2, "A"), .Cells(vRws, "A"))

For Each d In vRng.Cells

d8 = d
Sheets("Email").Activate
With ActiveSheet
    vRws2 = .Cells(.Rows.Count, "U").End(xlUp).Row
    For i = 8 To vRws2
        Set vRng2 = .Range(.Cells(i, "U"), .Cells(i, "AC"))
            vRng2.Copy
                vRng2.PasteSpecial Paste:=xlPasteValues

Next d
   Next i
End With
End With

第一张图片对应于宏的第一部分。下拉菜单是 Col. A,它被插入 D8 在此处输入图像描述

第二张图片在“电子邮件标签”上。sumifs 基于第一个选项卡中的单元格 D8。我想要从 U8:AC8 开始的一行粘贴为一个值。

在此处输入图像描述

标签: excelvba

解决方案


推荐阅读