因为近期要做表格,用Excle的频率比较多,所以学习一下Excle的常用技巧,在此进行记录。
大片内容替换:如果我们在填表时,把某一项的很多列或行填错了,那么我们可以选择“替换”,来更快的更改。
把多个表格合为一个:首先把要合并的Excle表格放到一个文件夹里面,然后新建一个Excle表格,在sheet1右击–查看代码–然后粘贴复制以下代码即可。
Sub 遍历当前文件夹下工作薄()
t = Timer
Application.ScreenUpdating = False
ActiveSheet.Range("4:10000").ClearContents
Dim i, r, wk As Workbook, sh As Worksheet, rr
p = ThisWorkbook.Path & "\"
s = Dir(p & "*.xls*")
Do While s <> ""
If s <> ThisWorkbook.Name Then
Set wk = Workbooks.Open(p & s)
r = wk.Sheets(1).[J65536].End(xlUp).Row
For i = 4 To r
Set sh = wk.Sheets(1)
With ThisWorkbook.Worksheets("sheet1")
rr = ThisWorkbook.Worksheets("sheet1").[J65536].End(xlUp).Row + 1
For j = 1 To 60
Cells(rr, j).Value = sh.Cells(i, j)
Next j
End With
Next i
wk.Close False
End If
s = Dir
Loop
t1 = Timer - t
MsgBox ("所有工作薄收集完成,用时" & t1 & "秒")
Application.ScreenUpdating = True
End Sub
去掉Excle表格当中重复的行列:可以先对excle表格中的数据进行排序,排序完成后是相同的部分都放在了一起,然后再删除那些相同的部分。方法为:鼠标点击“A1单元格",然后按住SHIFT键点击最后一行单元格(全选表格)—排序和筛选—自定义排序—
主要关键字—(选择你想排序的内容)。
大片替换你想换的内容:还是先将内容进行排序,把你想要更换的内容排在一起,鼠标点击“A1单元格",然后按住SHIFT键点击最后一行单元格(全选表格)—排序和筛选—自定义排序—主要关键字—(选择你想排序的内容)。然后选择查找,输入* ,点击旁边的“格式”按钮。在弹出的“查找格式”对话框。选择“从单元格中选择格式”,并选择查找区域的任意一单元格(用shift)。 再次回到“查找与替换”对话框,点击”查找全部“对话框。 这个时候我们再次点击”你想要更换的数据“,进行替换。
以下为具体操作步骤。
[https://jingyan.baidu.com/article/64d05a025efa67de55f73bc2.html]
快速把空白部分填充:先选中空白部分,然后在最上面框框里面输入你想输入的内容,按Ctrl+enter即可实现选中部分的快速填充。
自动编写序号:第1行和第2行填写,1、2,选中1的位置,然后把鼠标放在格子的右下角,看到出来一个十字架,按住往下来,然后序列就出来了
https://jingyan.baidu.com/article/5553fa82936e9565a239348c.html
如果不行,就粘贴第二个代码
Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = Workbooks.Open(MyPath & "\" & MyName)
Num = Num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("A1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
另外还发现,如果在进行排序时,发现有的排序不了,说明之前的格式不对。按照某一列进行全部排序,可以把其前面第一行定义一个整体名字,例如学号,姓名,年龄等。