我在VBA中有以下代码-
Sub KGBatch()
Dim Cognex As Variant
Cognex = Sheets("KGYield").Range("B82")
Sheets("KGYield").Range("B82:F82").Copy
If Sheets("Test").Range("A17") = "Cognex" Then
Sheets("Test").Range("A17").PasteSpecial xlPasteValues
'Else: Sheets("Test").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End If
End Sub在我找出第一步之前,其他部分将被注释掉。
我在一张纸上有一个范围,我正在把它复制到另一张纸上。这是一个简单的功能。通常,复制的行只会覆盖目标表第17行中的任何内容。
“‘Cognex”是一个六位数,通常保持不变。然而,它偶尔会发生变化。当它确实发生变化时,我希望Excel能够认识到这一点,并将数据粘贴到前一行下的一条全新行中。
我相信我已经基本解决了,除非有人有更好的方法(我不是VBA天才!)
但是,目前我在这段代码中遇到了错误。我试着把Dim作为许多不同的变量类型。
如果我以Dim作为整数,那么我会得到一个溢出错误,但是如果我模糊为变量、字符串等等,那么什么也不会发生。它只执行复制,但不粘贴。
我想这就是我能提供的全部信息。有人能帮忙吗?
发布于 2015-11-17 14:10:29
使用变量:
Sub KGBatch()
Dim Cognex As Double
Cognex = Sheets("KGYield").Range("B82").Value
Sheets("KGYield").Range("B82:F82").Copy
With Sheets("Test")
If .Range("A17").Value = Cognex Then
.Range("A17").PasteSpecial xlPasteValues
'Else: .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End If
End With
End Sub工作范围:
Sub KGBatch()
Dim Cognex As Range
Set Cognex = Sheets("KGYield").Range("B82")
Sheets("KGYield").Range("B82:F82").Copy
With Sheets("Test")
If .Range("A17").Value = Cognex.Value Then
.Range("A17").PasteSpecial xlPasteValues
'Else: .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End If
End With
End Subhttps://stackoverflow.com/questions/33758842
复制相似问题