这似乎相对简单。我正在尝试获取工作表中列的计数函数的值/结果(下面的代码中的“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 ... General
中的格式后, 使用 Text to Columns
, 格式化范围如 Custom
并选择###.0。 关于excel - 在同一工作簿中将函数值从一张表计算到另一张表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60129860/