【问题标题】:ElseIf with Dim Not Working (Excel VBA)暗淡不工作的 ElseIf (Excel VBA)
【发布时间】:2015-11-17 13:59:35
【问题描述】:

我在 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

Else 被注释掉,直到我弄清楚第一步。

我在一张纸上有一个范围,我将其复制到另一张纸上。这是一个简单的功能。通常,复制的行只会覆盖目标工作表第 17 行中的任何内容。

“康耐视”是一个六位数,通常保持不变。然而,它偶尔会改变。当它确实发生变化时,我希望 Excel 能够识别并将数据粘贴到前一行下方的全新行中。

我相信我已经掌握了基础知识,除非有人有更好的方法(我不是 VBA 天才!)。

不过,目前我收到此代码的错误。我尝试将 Dim 设置为许多不同的变量类型。

如果我调暗为整数,则会出现溢出错误,但如果我调暗为变量、字符串等,则什么也不会发生。它只是执行复制而不是粘贴。

我想这就是我能提供的所有信息。有人可以帮忙吗?

【问题讨论】:

  • 你需要set cognex = ...
  • 康耐视的值是否存储在 Sheets("KGYield").Range("B82") 中?是这样,将该行更改为 Cognex = Sheets("KGYield").Range("B82").Value 并在 if 语句中将其更改为 If Sheets("Test").Range("A17") = Cognex Then
  • 感谢@Sous。这是一个非常简单的从康耐视引用报价的案例。亲爱的。
  • 很高兴我能帮上忙!对不起,我错过了所有那些甜蜜的互联网点:(
  • 你可以拿一些我个人的 Jamsandwich 积分 :)

标签: vba excel


【解决方案1】:

使用变量:

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 Sub

【讨论】:

  • 谢谢。我似乎通过简单地在 If 语句中去掉 Cognex 的引号来修复它。我有 Dimed Cognex 作为变体,它现在似乎正在工作。我对这段代码还有更多工作要做,所以如果我遇到任何问题,我会查看你的解决方案。另外,感谢您提醒我使用 With 语句!
  • @Jamsandwich :我刚刚看到你在我发表我的答案时解决了这个问题!无论如何,很高兴我能帮上忙!祝你接下来的挑战好运! ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-04
  • 2019-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多