Excel 使用vba将值从图纸1复制到图纸2并粘贴到所需位置的步骤

Excel 使用vba将值从图纸1复制到图纸2并粘贴到所需位置的步骤,excel,vba,Excel,Vba,我的目标是从第1页“B5”中的单元格复制值,并将其粘贴到第2页“C11”中。如果代码工作不正常 Sub SCMPROCUREMENT() ' SUPPLY CHAIN MANAGEMENT PROCUREMENT Worksheets("Sheet1").Select Range("B5:B100000").Select finalrow = Cells(Rows.Count, 2).End(xlUp).Row For x = 5 To finalrow If Worksheet

我的目标是从第1页“B5”中的单元格复制值,并将其粘贴到第2页“C11”中。如果代码工作不正常

Sub SCMPROCUREMENT()

' SUPPLY CHAIN MANAGEMENT PROCUREMENT


Worksheets("Sheet1").Select


Range("B5:B100000").Select

finalrow = Cells(Rows.Count, 2).End(xlUp).Row

For x = 5 To finalrow

If Worksheets("sheet1").Cells(x, 2).Font.Bold = False Then

Worksheets("sheet1").Select

Cells(x, 2).Select

Selection.Copy

ThisWorkbook.Worksheets("Sheet2").Range("C11").Select


ActiveSheet.Paste


End If
Next x

End Sub
a) 您的ThisWorkbook.Worksheets(“Sheet2”).Range(“C11”)不是这样工作的

b) 第二个列表需要一个计数器,否则将继续覆盖C11

Sub SCMPROCUREMENT()

    ' SUPPLY CHAIN MANAGEMENT PROCUREMENT

    Dim count As Integer

    For x = 5 To Worksheets("Sheet1").Cells(Rows.count, 2).End(xlUp).Row

        If Worksheets("Sheet1").Cells(x, 2).Font.Bold = False Then

            Worksheets("Sheet1").Cells(x, 2).Copy

            Worksheets("Sheet2").Cells(11 + count, 3).Select
            ActiveSheet.Paste

            count = count + 1

        End If
    Next x

End Sub

1.
你为什么说它工作不正常<代码>2。您能指出准确的错误行吗<代码>3。您是否尝试过使用
F8
在调试模式下单步执行代码?如果您能回答这3个问题,那么它将帮助我们帮助您=)先生,在运行您建议的宏之后,会闪烁一条消息。行工作表(“Sheet2”).单元格(11+计数,3)的“选择范围类方法失败”。选择。能修好吗?谢谢Amit OjhaSir,在运行您建议的宏之后,会闪烁一条消息。行工作表(“Sheet2”).单元格(11+计数,3)的“选择范围类方法失败”。选择。它可以通过使用-Worksheets(“Sheet2”)来修复。选择单元格(11+计数,3)。选择-谢谢Amit OjhaGlad,它为您工作了。通过适当地标记答案,你表明问题已经解决,因此没有其他人认为他必须来这里帮忙。
Sub SCMPROCUREMENT()

    ' SUPPLY CHAIN MANAGEMENT PROCUREMENT

    Application.ScreenUpdating = False

    Dim count As Integer

    With Worksheets("Sheet1")

        For x = 5 To .Cells(Rows.count, 2).End(xlUp).Row

            If .Cells(x, 2).Font.Bold = False Then

                .Cells(x, 2).Copy Worksheets("Sheet2").Cells(11 + count, 3)
                count = count + 1
            End If
        Next x

    End With

    Application.ScreenUpdating = True

End Sub