vba excel counta
Cells(4, x) = Application.WorksheetFunction.COUNTA(Workbooks(""DB_Report.xls"").Sheets(x).Range(A:A))
我正在尝试使上述function正常工作。
我正在从工作簿DB_report.xls
调用脚本
这将创build一个新的工作簿(“月”),并开始填写值。
我想要去的是在哪里
单元格4,1
在几个月内具有来自DB_report的工作表1的计数
单元格4,2
在几个月内具有来自DB_report的工作表2的计数
任何人都可以改写上面的行,所以当“月份是活动工作表,我可以从DB_Report调用计数
这之前的行是
NameSH = Workbooks("DB_Report.xls").Sheets(x).Name and this works fine and returns the name of work sheet x
谢谢
亚伦
好了一点进一步的解释
我想要做的步骤是这样的
(1)cell(x,y)= counta(范围A:A,在工作表的工作表(“DB_Report”))(DB_report.xls)
现在我明白了
单元格(4,x)= Application.WorksheetFunction.COUNTA(sheet(3).range(a:A)
将在活跃的工作表中使用。 因此,如果活动工作表是工作表1,则会计算同一工作簿中工作表3中单元格的数目。 我想知道函数中的表格和单元格是否也可以通过名称来引用工作簿。
当然,我可以swqap预订“DB_Report”保存值variables,然后交换回书“月”,并将其复制到单元格。
(y).cells(a,b)= Application.WorksheetFunction.COUNTA(sheet(3).range(a:A)
而在工作簿“月”
所以我真正需要的是如何在函数中引用工作簿,工作表和单元格?
我不认为这正是你想要做的,但是它接近并且更加一般化。 它计算了DB_Report.xls
的工作表,并使用它来指定months.xls
的单元months.xls
如果从DB_Report.xls
运行macros,则不需要指定有关该工作簿或工作表的任何内容。
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
这将需要任何错误检查或validation,你需要把它。
您好,欢迎您的意见,但我最后解决了什么问题。
这很简单,我只是想念一些格式
下面的行可以正常工作
cell(x,y)= Application.WorksheetFunction.CountA(Workbooks(“DB_Report.xls”)。Sheets(x).Range(“A:A”))