首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不工作的ElseIf (Excel )

不工作的ElseIf (Excel )
EN

Stack Overflow用户
提问于 2015-11-17 13:59:35
回答 1查看 361关注 0票数 1

我在VBA中有以下代码-

代码语言:javascript
复制
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作为整数,那么我会得到一个溢出错误,但是如果我模糊为变量、字符串等等,那么什么也不会发生。它只执行复制,但不粘贴。

我想这就是我能提供的全部信息。有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-17 14:10:29

使用变量:

代码语言:javascript
复制
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

工作范围:

代码语言:javascript
复制
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 Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33758842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档