excel - 在同一工作簿中将函数值从一张表计算到另一张表

标签 excel vba function count

这似乎相对简单。我正在尝试获取工作表中列的计数函数的值/结果(下面的代码中的“MASTER”),并将该值显示在同一工作簿中单独工作表的范围内(“放置”) .

如果我在同一张表中显示值(例如 MASTER 到 MASTER),则下面的代码有效,但是当我尝试下面的代码时,A1 中的“放置”显示 0 而不是实际值 30。

Sub countdataincolums()

Dim master, placement
Set master = ActiveWorkbook.Sheets("MASTER")
Set placement = ActiveWorkbook.Sheets("Placement")

placement.Range("A1").Value = WorksheetFunction.Count(master.Range("E2:E40"))

End Sub

任何意见是极大的赞赏!

最佳答案

你的问题是下一个:
代码本身有效!不是最漂亮的代码,但它应该可以工作。

  • 尝试以这种方式更改变量声明:
    Dim master As Worksheet, placement As Worksheet
    这不会解决您的问题,但可以让您免于其他麻烦...
  • Count函数计数数字和CountA计算字符串。即使您可以在单元格中看到数字,它也是 VBA 的字符串 如果它的格式是 Text .因此,如果您在该特定列中输入任何新数字,格式为 General , Excel 会有很好的猜测和Count函数将正常工作,除非特定列已格式化为 Text , 使用 Text to Columns .如果要计算该特定范围内的所有内容,可以将列 E:E 格式化为文本,但使用 Text to Column (来自数据选项卡)并使用 CountA .它也会计算数字和字符串。
  • 为了切换回 Count功能使用,必须再次使用Text to Column (在范围选择之后),完全相同,但是在第二个Next之后,选择General ...
  • 直到现在我才注意到你关于第一个数字缺少零的评论。如果你想看到像 23.0 这样的 23,在更改 General 中的格式后, 使用 Text to Columns , 格式化范围如 Custom并选择###.0。
  • 关于excel - 在同一工作簿中将函数值从一张表计算到另一张表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60129860/

    相关文章:

    excel - 如何使用 BTEQ 导入将数据从 excel 文件导入 teradata 表?

    excel - 不同表的动态范围总和

    jquery - 切换功能的更好方法

    excel - 问: How to clear cells after archiving?

    Excel Sumproduct 与 If 或 count?

    excel - 通过 VBA 从剪贴板粘贴到 Word 标题的图像既不列为 InlineShape 也不列为 Shape

    javascript - 异步等待函数的奇怪行为

    function - 在fortran中的另一个函数内定义函数时出错

    java - 如何使用 Selenium WebDriver TestNG 数据提供程序方法从 Excel 工作表读取特定值?

    VBA - 如果> 2标记最接近当前日期的日期,则计算重复值