【问题标题】:Excel vba type mismatch type 13Excel vba类型不匹配类型13
【发布时间】:2017-05-18 11:18:08
【问题描述】:

我创建了一个 sub 来检查列的值并清除特定范围的内容。但是在选择值时,我不断收到类型不匹配错误。我也尝试了以下四种方法。该工作表是从 sql server 源刷新的,它的数据类型是字符串。我将源中的数据更改为 int 但现在可以使用。任何帮助将不胜感激。

Sub abc()
    Dim var1 As String
    **var1 = Sheets(Sheet1).Cells(1, "A").Value
    var1 = Sheets(Sheet1).Cells(1, "A").Text
    var1 = Sheets(Sheet1).Range("A1").Value
    var1 = Sheets(Sheet1).Range("A1").Text**
End Sub

【问题讨论】:

  • Sheets("Sheet1") 假设 Sheet1 是它的名字。
  • 是的..你是对的。我在代码中还遗漏了什么?
  • 根据此处stackoverflow.com/questions/17359835/…,您可能应该使用Value2 而不是ValueText(绝对不是后者)。我不得不承认我从未使用过它,但也许应该改正我的方式。
  • 也试过了。仍然是同样的错误。真的很奇怪!
  • 不确定是什么问题 - 哪一行错误?您已经发布了基本相同行的四个版本,但您的问题涉及其他内容,因此您需要发布所有代码。

标签: vba excel


【解决方案1】:

尝试将 var1 类型从字符串更改为 Range 或变体。

【讨论】:

    【解决方案2】:

    感谢您提供的所有 cmets。修复了问题。在周围添加引号 更改了 var1 = Sheets(Sheet1).Range("A1").Value

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多