excel之常用vba代碼

合併當前sheet表之前的所有sheet表,並保存到當前sheet表(並在結尾添加一行“abc”,並指定字體和大小)

Sub 合併sheet()

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

 Dim i As Integer
    i = Range("a65536").End(xlUp).Row
    Cells(i + 2, 1) = "abc"
    Cells(i + 2, 1).Font.Name = "微軟雅黑"
    Cells(i + 2, 1).font.Size = 6

End Sub
刪除所有隱藏的行和sheet表

Sub 刪除隱藏()
Dim i As Integer
Application.DisplayAlerts = False
For i = Sheets.Count To 1 Step -1
If Sheets(i).Visible = False Then
Sheets(i).Delete
Else
End If
Next i

ActiveWorkbook.Save

End Sub
刪除除了名爲‘Sheet1’表之外的所有sheet

Public Sub 刪除所有sheet()
Application.DisplayAlerts = False
    Dim i As Integer
     
    For i = Sheets.Count To 1 Step -1
        Debug.Print Sheets(i).Name
        If Sheets(i).Name <> "Sheet1" Then
            Sheets(i).Delete
        End If
    Next
Application.DisplayAlerts = True
End Sub
合併指定列所有的相鄰單元格內容相同的單元格

Sub 手動合併單元格()
Dim l%, i%
Application.DisplayAlerts = False
k% = InputBox("請輸入合併單元格所在列")
l = [A65536].End(xlUp).Row
For i = l To 2 Step -1
     If Cells(i, k) = Cells(i - 1, k) Then
     Range(Cells(i - 1, k), Cells(i, k)).Merge
     End If
Next
Application.DisplayAlerts = True
End Sub
###
自動合併第1,2列所有的相鄰單元格內容相同的單元格

 Sub 自動合併所有單元格()
 Dim l%, i%
 Application.DisplayAlerts = False
 For k = 1 To 2
 l = [A65536].End(xlUp).Row
 For i = l To 2 Step -1
     If Cells(i, k) = Cells(i - 1, k) And IsEmpty(Cells(i, k)) = False And IsEmpty(Cells(i - 1, k)) = False Then
     Range(Cells(i - 1, k), Cells(i, k)).Merge
     End If
 Next
 Next
 Application.DisplayAlerts = True
 End Sub
按順序執行設置的vba模塊

Sub 順序()
    Call 刪除隱藏
    Call 合併sheet
    Call 刪除所有sheet
End Sub

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章