Code tách sheets

Liên hệ QC

vova2209

Thành viên tích cực
Tham gia
5/4/17
Bài viết
835
Được thích
112
Giới tính
Nam
Nghề nghiệp
Đường bộ
Chào anh chị! em có code Tách sheet dưới.. Tên sheet tách ra đang để cố định là (ShName = "K." & i). giờ em muốn khi chạy code sẽ hiện lên nhập tên mới sheet tách thì thay đổi như nào.. em xin chân thành cảm ơn!
Mã:
Sub TachSheet()
     Dim ShName As String
    Dim i As Long, NumSheet As Integer
    Dim Ws As Worksheet
    getSpeed True
    
    On Error GoTo Thoat
    NumSheet = Application.InputBox("Nh" & ChrW(7853) & "p s" & ChrW(7889) & " lu" & ChrW(7907) & "ng sheet c" & ChrW(7847) & "n copy!", "Tách sheets", , , , , , 1)
    If NumSheet = 0 Then Exit Sub
        Application.DisplayAlerts = False
            Set Ws = ActiveSheet
            Ws.Activate
            For i = 1 To NumSheet
                ShName = "K." & i
                Ws.Copy After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
                ActiveSheet.Name = ShName
            Next i
        Application.DisplayAlerts = True
Thoat:
    getSpeed False
End Sub
 
Thử này xem sao:
PHP:
ShName = Application.InputBox("Chu y khong trung", "Sheet Copy" & i, "K." & i, Type:=2)
Chỉnh lại hộ em chút, như này khi xuất ra 100 sheet thì phải đánh tay thành 100 lần rồi. vd nhập tên mới K. => kết quả tự chạy ra 1 100 sheet K1---K100
 
Upvote 0
Chỉnh lại hộ em chút, như này khi xuất ra 100 sheet thì phải đánh tay thành 100 lần rồi. vd nhập tên mới K. => kết quả tự chạy ra 1 100 sheet K1---K100

Mã:
Sub TachSheet()
     Dim ShName As String
    Dim i As Long, NumSheet As Integer, fShName As String
    Dim Ws As Worksheet
   getSpeed True
  
    On Error GoTo Thoat
    NumSheet = Application.InputBox("Nh" & ChrW(7853) & "p s" & ChrW(7889) & " lu" & ChrW(7907) & "ng sheet c" & ChrW(7847) & "n copy!", "Tách sheets", , , , , , 1)
    If NumSheet = 0 Then Exit Sub
        Application.DisplayAlerts = False
            Set Ws = ActiveSheet
            Ws.Activate
            fShName = Application.InputBox("Nhap tên sheet can copy", "Sheet Name", "K.", Type:=2)
            For i = 1 To NumSheet
              
                ShName = fShName & i
                Ws.Copy After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
                ActiveSheet.Name = ShName
                ActiveSheet.range("Z1")=ws.range("Z1")+i-1
            Next i
        Application.DisplayAlerts = True
Thoat:
   getSpeed False
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Mã:
Sub TachSheet()
     Dim ShName As String
    Dim i As Long, NumSheet As Integer, fShName As String
    Dim Ws As Worksheet
   getSpeed True
   
    On Error GoTo Thoat
    NumSheet = Application.InputBox("Nh" & ChrW(7853) & "p s" & ChrW(7889) & " lu" & ChrW(7907) & "ng sheet c" & ChrW(7847) & "n copy!", "Tách sheets", , , , , , 1)
    If NumSheet = 0 Then Exit Sub
        Application.DisplayAlerts = False
            Set Ws = ActiveSheet
            Ws.Activate
            fShName = Application.InputBox("Nhap tên sheet can copy", "Sheet Name", "K.", Type:=2)
            For i = 1 To NumSheet
               
                ShName = fShName & i
                Ws.Copy After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
                ActiveSheet.Name = ShName
            Next i
        Application.DisplayAlerts = True
Thoat:
   getSpeed False
End Sub
chạy ok rồi anh! hộ em thêm chút nữa
Cộng số i với 1 số cố định ở ô Z1 ở sheet tách:
Sheets gốc K ô Z1=11; K.1 ô Z1=11; K.2 ô Z1=12......K.10 ô Z1 = 20

Untitled.png
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom