vba excel计数
Posted
技术标签:
【中文标题】vba excel计数【英文标题】:vba excel counta 【发布时间】:2011-08-22 01:34:30 【问题描述】:Cells(4, x) = Application.WorksheetFunction.COUNTA(Workbooks(""DB_Report.xls"").Sheets(x).Range(A:A))
我正在尝试使上述功能正常工作。
我正在从工作簿DB_report.xls
调用脚本
这将创建一个新工作簿(“月”)并开始填写值。
我想要到达的是哪里
单元格4,1
以月为单位具有来自 DB_report 的工作表 1 的计数
单元格4,2
在几个月内具有来自 DB_report 的工作表 2 的计数
任何人都可以改写上面的行,这样当“几个月是活动工作表时,我可以从 DB_Report 调用 counta”
前一行是
NameSH = Workbooks("DB_Report.xls").Sheets(x).Name and this works fine and returns the name of work sheet x
谢谢
亚伦
好吧,再解释一下
我想做的步骤是这样的
选择工作簿月份.xls 选择表(1) 单元格 (x,y) = counta( 范围 A:A ,在工作表 (DB_report.xls) 的工作表("DB_Report") 中
现在我知道了
Cells(4, x) = Application.WorksheetFunction.COUNTA(sheet(3).range(a:A)
将在活动工作表中使用。因此,如果活动工作表是工作表 1,那么这将计算同一工作簿的工作表 3 中的单元格数量。我想知道函数中的引用工作表和单元格是否也可以按名称引用工作簿。
当然,我可以 swqap 预订“DB_Report”,将值保存到一个变量中,然后换回预订“Month”并将其复制到单元格中。
或者我可以做 workbook("month").sheet(y).cells(a,b) = Application.WorksheetFunction.COUNTA(sheet(3).range(a:A)
在工作簿“月”中
所以我真正需要的是如何在一个函数中引用工作簿、工作表和单元格?
【问题讨论】:
【参考方案1】:嗨,为 cmets 干杯,但我终于弄清楚了问题所在。
真的很简单,我只是缺少一些格式
下面的行正常工作
cell(x,y) = Application.WorksheetFunction.CountA(Workbooks("DB_Report.xls").Sheets(x).Range("A:A"))
【讨论】:
【参考方案2】:我不认为这正是您想要做的,但它很接近并且更概括了一些。它计算DB_Report.xls
中的工作表,并使用它来指定months.xls
中的单元格数
如果您从 DB_Report.xls
运行宏,则无需指定有关该工作簿或工作表的任何内容。
Sub counts()
Dim sheetcounts As Integer
Dim countas() As Integer
Dim index As Integer
Dim wksht As Worksheet
Dim newbook As Workbook
sheetcounts = ActiveWorkbook.Sheets.Count
ReDim countas(sheetcounts)
For Each wksht In ActiveWorkbook.Sheets
countas(index) = Application.WorksheetFunction.CountA(wksht.Range("A:A"))
index = index + 1
Next
Set newbook = Workbooks.Add
newbook.Activate
newbook.ActiveSheet.Range(Cells(4, 1), Cells(4, sheetcounts)) = countas
newbook.SaveAs ("months.xls")
End Sub
这将需要您进行任何错误检查或验证。
【讨论】:
以上是关于vba excel计数的主要内容,如果未能解决你的问题,请参考以下文章