首先,我对excel vba非常陌生。我有一些代码在一个工作簿中运行良好但在我需要的工作簿中不起作用。当使用 F8 时,它会跳过以If Cells(i, 4) = customername Then
开头的代码部分End If
。
我已经搜索了好几天试图在线找到答案。当我运行宏时,屏幕闪烁但数据消失。这是我试图使用的代码,任何帮助将不胜感激。
Sub CustomerReport()
Dim datasheet As Worksheet
Dim reportsheet As Worksheet
Dim customername As String
Dim finalrow As Integer
Dim i As Integer
Set datasheet = Sheet3
Set reportsheet = Sheet8
customername = reportsheet.Range("D6").Value
reportsheet.Range("C8:M500").ClearContents
datasheet.Select
finalrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 8 To finalrow
If Cells(i, 4) = customername Then
Range(Cells(i, 3), Cells(i, 13)).Copy
reportsheet.Select
Range("C200").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
datasheet.Select
End If
Next i
reportsheet.Select
Range("D6").Select
End Sub