Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 计算行数和拷贝数_Excel_Vba_Count_Macros_Paste - Fatal编程技术网

Excel 计算行数和拷贝数

Excel 计算行数和拷贝数,excel,vba,count,macros,paste,Excel,Vba,Count,Macros,Paste,我有一个excel工作簿,其中有多张表格,表格范围从A到L。我想计算行数并将结果粘贴到摘要表中 例如: 表2有3行。我想将行数复制到sheet1 C3中 表3有9行。我想将行数复制到sheet1 C4中 表4有5行。我想将行数复制到sheet1 C5中 我所有的床单都是如此。(我有3000多张) 我不熟悉excel中的宏,因此非常感谢您的帮助。不需要宏,只需要我们一个公式: =COUNTA(Sheet2!A:A)将Sheet2更改为C3、C4、C5中每个单元格的相应表格 简单地说……简单地说 =

我有一个excel工作簿,其中有多张表格,表格范围从A到L。我想计算行数并将结果粘贴到摘要表中

例如:

表2有3行。我想将行数复制到sheet1 C3中

表3有9行。我想将行数复制到sheet1 C4中

表4有5行。我想将行数复制到sheet1 C5中

我所有的床单都是如此。(我有3000多张)


我不熟悉excel中的宏,因此非常感谢您的帮助。

不需要宏,只需要我们一个公式:

=COUNTA(Sheet2!A:A)
将Sheet2更改为C3、C4、C5中每个单元格的相应表格

简单地说……简单地说

=C3中的COUNTA(Sheet2!A:A)

=C4中的COUNTA(表3!A:A)

=C5中的COUNTA(表4!A:A)

当您要计算行数时,假设每个工作表中的A列都有一个值,否则请使用不同的列!(将A:A更改为B:B或其他内容)

如果名称不是sheet1等。。。你可以

创建此定义的名称: “公式”选项卡>名称管理器>新建

  • 姓名:姓名
  • 范围:工作簿
  • 引用:=GET.WORKBOOK(1)和T(NOW())
  • 单击“确定”
然后把这个公式加到B上,而不是数字上

=索引(中间(SheetNames,FIND(“]),SheetNames)+1255),行(A$1:A1))


向下填充,现在您可以在c3和c3之外填充值了

无需宏,只需一个公式:

=COUNTA(Sheet2!A:A)
将Sheet2更改为C3、C4、C5中每个单元格的相应表格

简单地说……简单地说

=C3中的COUNTA(Sheet2!A:A)

=C4中的COUNTA(表3!A:A)

=C5中的COUNTA(表4!A:A)

当您要计算行数时,假设每个工作表中的A列都有一个值,否则请使用不同的列!(将A:A更改为B:B或其他内容)

如果名称不是sheet1等。。。你可以

创建此定义的名称: “公式”选项卡>名称管理器>新建

  • 姓名:姓名
  • 范围:工作簿
  • 引用:=GET.WORKBOOK(1)和T(NOW())
  • 单击“确定”
然后把这个公式加到B上,而不是数字上

=索引(中间(SheetNames,FIND(“]),SheetNames)+1255),行(A$1:A1))


“向下填充”,现在您可以在c3和更高版本中填充值了。希望这个简单的宏有助于:

Sub coutndisplay()

    Dim count As Integer

    ' Create an object for sheet 1
    Set sh1 = ThisWorkbook.Sheets(1)

    ' Get the number of sheets in the workbook
    count = ThisWorkbook.Sheets.count

    For i = 2 To count

        ' Populate the number of rows in sheet 1 starting from C3
        ' C3 populate the number of rows in sheet 2 and it goes on
        sh1.Cells(i + 1, 3) = ThisWorkbook.Sheets(i).UsedRange.Rows.count
    Next i

End Sub

希望这个简单的宏有助于:

Sub coutndisplay()

    Dim count As Integer

    ' Create an object for sheet 1
    Set sh1 = ThisWorkbook.Sheets(1)

    ' Get the number of sheets in the workbook
    count = ThisWorkbook.Sheets.count

    For i = 2 To count

        ' Populate the number of rows in sheet 1 starting from C3
        ' C3 populate the number of rows in sheet 2 and it goes on
        sh1.Cells(i + 1, 3) = ThisWorkbook.Sheets(i).UsedRange.Rows.count
    Next i

End Sub

欢迎来到堆栈溢出。所以这不是一个“为我编写代码”的网站,也不是一个“教我编写代码”的网站。这是一个致力于帮助查找现有代码中的错误并克服这些问题的网站。欢迎使用堆栈溢出。所以这不是一个“为我编写代码”的网站,也不是一个“教我编写代码”的网站。这是一个专门帮助查找现有代码中的错误并克服这些问题的网站。
(我有3000多张)
,这需要一点时间。:)假设每3000*10/60公式10秒=500分钟或8 1/3小时。我会得到一个表单列表,有许多网站将展示如何使用命名范围来实现这一点。然后在将引用的COUNTA中使用间接,以便可以填写公式。只是一个观察。我喜欢这种方法。然后我会在a中使用公式,例如=“=CountA(Sheet”&B3000&“!a:a)”,在B中使用填充序列放置1-3000。。然后导出所有要粘贴的值。。。几秒钟内完成;但你的观点是正确的。我的方法显然不是动态的。如果工作表的名称都是
sheet
和一些数字,并且在recalc上速度更快,那么这些都是假设。该死。。。Excel专家我正在证明我不是……但我会继续学习@ScottCranerThank获取您的评论。我设法让它在第一个单元格中使用:=COUNTIF('30146A000A'!A3:A2001,“&”“)工作,因为工作表没有命名为“Sheet1”等,所以我必须键入名称(在本例中为“30146A000A”)我试过使用=COUNTIF(第(2)页!A3:A2001,“&”),但没有成功。
(我有3000多张)
这需要一点时间。:)让我们假设每个公式3000*10/60=500分钟或8 1/3小时10秒。我会得到一个表格列表,有许多网站会显示如何使用命名范围进行此操作。然后在计数器内部使用间接引用,以便填充公式。只是一个观察。我喜欢t然后我会用一个公式,比如=“=CountA(Sheet”&B3000&”!a:a)在B中,使用填充系列放置1-3000。。然后导出所有要粘贴的值。。。几秒钟内完成;但你的观点是正确的。我的方法显然不是动态的。如果工作表的名称都是
sheet
和一些数字,并且在recalc上速度更快,那么这些都是假设。该死。。。Excel专家我正在证明我不是……但我会继续学习@ScottCranerThank获取您的评论。我设法让它在第一个单元格中使用:=COUNTIF('30146A000A'!A3:A2001,“&”“)工作,因为工作表没有命名为“Sheet1”等,所以我必须键入名称(在本例中为“30146A000A”)我试过使用=COUNTIF(第(2)页!A3:A2001,“&”),但没有成功。