【问题标题】:Delete Method's return value in Excel VBAExcel VBA中删除方法的返回值
【发布时间】:2016-05-17 07:07:20
【问题描述】:

根据 Microsoft Developer Network,Range.DeleteWorksheet.Delete 方法都将返回一个值。但是,通过使用MsgBox 函数,我只能查看Worksheet.Delete 方法的返回值,而Range.Delete 方法却没有运气。 我使用的代码是MsgBox Worksheets("Sheet1").Delete

以下是来自 MSDN 的两篇文章,供您参考: https://msdn.microsoft.com/en-us/library/office/ff837404.aspx https://msdn.microsoft.com/en-us/library/office/ff834641.aspx

【问题讨论】:

  • 如果您需要代码方面的帮助,您需要发布不起作用的代码。通过编辑您的问题来做到这一点。请阅读How do I Ask a Good QuestionHow to create a Minimal, Complete, and Verifiable example 的帮助主题
  • 您的Worksheets 示例为我返回TrueMsgBox ActiveSheet.Range("a2").Delete 也是如此。
  • 我使用了 MsgBox Range("A1").Delete 并返回错误。我尝试了 MsgBox ActiveSheet.Range("a2").Delete 并且它有效。但我还有另一个问题。为什么在这种情况下需要 ActiveSheet? Range("A2") = 16 可以不跟随 ActiveSheet。
  • 您能粘贴您的代码和相关范围的值吗?

标签: vba excel


【解决方案1】:

这是一个使用 Range 方法的示例,它确实返回了值:

MsgBox ActiveSheet.Range("A1").Delete

HTH

【讨论】:

  • 我使用了 MsgBox Range("A1").Delete 并返回错误。我尝试了 MsgBox ActiveSheet.Range("a2").Delete 并且它有效。但我还有另一个问题。为什么在这种情况下需要 ActiveSheet? Range("A2") = 16 可以不跟随 ActiveSheet。
  • 好问题。对我来说MsgBox Range("A1").Delete 在消息框中给出“True”。什么是错误,你在单元格中有什么?如果我有一个活跃的图表,而不是一个工作表,那么我会收到一个错误。您的工作表是否受到保护?
  • 嗨 ib11,我在 iMac 上使用 Excel,但代码 MsgBox Range("A1").Delete 出现错误。但是,当我在 Windows Excel 2013 上使用相同的代码时,我可以得到一个“真”。问题解决了。
  • 编译错误:预期函数或变量 (ThisWorkbook 6:18)
  • 嗯。我不知道 iMac,但尝试在 Delete 之后添加 (),如下所示:MsgBox Range("A1").Delete()
猜你喜欢
  • 1970-01-01
  • 2013-01-27
  • 2015-08-27
  • 1970-01-01
  • 2022-01-02
  • 2021-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多