如何用VBA语言将多个EXCEL表中不同sheet表汇总到一个excel的不同sheet表中
1、打开需要汇总分析的Excel表格,选择Excel表格上方的“开发工具”选项。
2、然后点击“宏”按钮进行程序编写。
3、然后输入汇总程序的名称,点击编辑按钮。
4、写入程序代码,这里利用的是Do loop until和IF then 语句。汇总的要求为筛选出表格中男性、本科学历、在岗人员的名单。
5、在开发工具选项中选择插入一个按钮控件。
6、选中插入的按钮控件,单击鼠标右键选择“指定宏”选项。
7、将编写的汇总程序制定至按钮控件上,然后点击确定按钮。
8、点击按钮控件即可利用ExcelVBA程序完成对表格的汇总分析。
推荐于2017-08-30 · 知道合伙人金融证券行家
一:看上图,打开工作表,-开发工具-VB工具-双击模块1-复制代码-保存!
代码如下:
Sub 合并当前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
X = Range("A65536").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(X, 1)
End If
Next
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
End Sub
按照上图操作,完成即可!
Sub ImpotData()
Dim a As Long 'progress dispaly
Application.ScreenUpdating = False
Application.ShowWindowsInTaskbar = False
On Error Resume Next
Dim DataPath As String, DataFileName As String, DataFileNameCut As String, DataFileNameShort As String, localName As String, Char1 As String, Char2 As String
Dim ColumnsCount As Long, RowsCount As Long, JumperCount As Long
FileNo = FreeFile()
DataPath = InputBox("input the data path", "path", "")
If DataPath = "" Then
End
Else
DataPath = DataPath & "\"
End If
DataFileName = Dir(DataPath)
DataFileNameCut = Left(DataFileName, Len(DataFileName) - 4)
localName = ThisWorkbook.Name
ColumnsCount = 1
RowsCount = 4
Range("J1") = DataPath
If DataPath <> "" Then
While Len(DataFileName) <> 0
Open DataPath & DataFileName For Input As #FileNo
While Not EOF(FileNo)
Line Input #FileNo, Char1
'此处写入数据写入sheet中的位置,如; cell(RowsCount,1)=Char1
End If
RowsCount = RowsCount + 1
Wend
Close #FileNo
ColumnsCount = ColumnsCount + 3
DataFileName = Dir
End If
a = a + 1
Wend
End If
Application.ScreenUpdating = True
Application.ShowWindowsInTaskbar = True
End Sub