Form xuất các sheet thành file mới (fdf; xls; csv) (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Thuyanhanoi

Thành viên thường trực
Tham gia
15/10/12
Bài viết
304
Được thích
154
Nghề nghiệp
Nhân viên
Mong mọi người giúp đỡ hoàn thiên Form để xuất các sheet lưu thành file với định dạng được chọn trong form
như em đã làm trong file đính kem
 

File đính kèm

Xin lỗi nhé, mình gõ nhầm: (File pdf ), trong form mình đã tạo sẵn chỉ việc chon định dạng cần xuất file. Mong các bạn nghiên cứu giúp mình!.
 
Upvote 0
Mong mọi người giúp đỡ hoàn thiên Form để xuất các sheet lưu thành file với định dạng được chọn trong form
như em đã làm trong file đính kem
1 đoạn code chỉ cho phép xuất 1 loại File, vì vậy bạn cần loại nào thì nên cụ thể, khi các thành viên giúp cho bạn, dựa vào code có sẳn để ứng biến vào nhu cầu của bạn.

Khi nào xử không được thì lại hỏi tiếp.
 
Upvote 0
1 đoạn code chỉ cho phép xuất 1 loại File, vì vậy bạn cần loại nào thì nên cụ thể, khi các thành viên giúp cho bạn, dựa vào code có sẳn để ứng biến vào nhu cầu của bạn.

Khi nào xử không được thì lại hỏi tiếp.
Trên form của e
1 đoạn code chỉ cho phép xuất 1 loại File, vì vậy bạn cần loại nào thì nên cụ thể, khi các thành viên giúp cho bạn, dựa vào code có sẳn để ứng biến vào nhu cầu của bạn.

Khi nào xử không được thì lại hỏi tiếp.
Vâng! .Trong form em thiết kế với mục đich:
- Chon sheet cần xuất thành loại pdf hoặc excel thì chọn loại (format) để xuất file; mỗi lần chỉ xuất 1 sheet, tên file mới được nhập ở (file name) em đang làm nhưng chưa thành công.
Mong mọi người giúp!.
 
Upvote 0
Trên form của e

Vâng! .Trong form em thiết kế với mục đich:
- Chon sheet cần xuất thành loại pdf hoặc excel thì chọn loại (format) để xuất file; mỗi lần chỉ xuất 1 sheet, tên file mới được nhập ở (file name) em đang làm nhưng chưa thành công.
Mong mọi người giúp!.
Code viết sai nhiều quá.
Bạn thử code sau
Mã:
Sub Xuat_file()
    Dim NewFileName, Name As Name
    With ThisWorkbook.Sheets(ComboBox1.Text) ',
       .Copy
       With ActiveWorkbook
          .ActiveSheet.Unprotect "tsdaotao"
          For Each Name In .Names ', AccessModeAs = True  XlSaveAsccessMode = True,
             Name.Visible = True
             'Name.Delete
          Next
         
          NewFileName = TextBox2.Text & "\" & TextBox1.Text
          If ComboBox2.Text <> "file pdf" Then
            .SaveAs NewFileName, IIf(ComboBox2.Text = "File excel", 51, 6)
            .Close True
          Else
            .ActiveSheet.ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=NewFileName, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=True
            .Close False
          End If
       End With
    End With
    End
End Sub
 
Upvote 0
Code viết sai nhiều quá.
Bạn thử code sau
Mã:
Sub Xuat_file()
    Dim NewFileName, Name As Name
    With ThisWorkbook.Sheets(ComboBox1.Text) ',
       .Copy
       With ActiveWorkbook
          .ActiveSheet.Unprotect "tsdaotao"
          For Each Name In .Names ', AccessModeAs = True  XlSaveAsccessMode = True,
             Name.Visible = True
             'Name.Delete
          Next
       
          NewFileName = TextBox2.Text & "\" & TextBox1.Text
          If ComboBox2.Text <> "file pdf" Then
            .SaveAs NewFileName, IIf(ComboBox2.Text = "File excel", 51, 6)
            .Close True
          Else
            .ActiveSheet.ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=NewFileName, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=True
            .Close False
          End If
       End With
    End With
    End
End Sub
Mình cảm ơn bạn rất nhiều!. Code bạn sửa cho mình chạy rất tốt!.
 
Upvote 0
Code viết sai nhiều quá.
Bạn thử code sau
Mã:
Sub Xuat_file()
    Dim NewFileName, Name As Name
    With ThisWorkbook.Sheets(ComboBox1.Text) ',
       .Copy
       With ActiveWorkbook
          .ActiveSheet.Unprotect "tsdaotao"
          For Each Name In .Names ', AccessModeAs = True  XlSaveAsccessMode = True,
             Name.Visible = True
             'Name.Delete
          Next
      
          NewFileName = TextBox2.Text & "\" & TextBox1.Text
          If ComboBox2.Text <> "file pdf" Then
            .SaveAs NewFileName, IIf(ComboBox2.Text = "File excel", 51, 6)
            .Close True
          Else
            .ActiveSheet.ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=NewFileName, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=True
            .Close False
          End If
       End With
    End With
    End
End Sub
Mong bạn giúp mình thêm điều kiện này với!.
Khi xuất file excel hoặc pdf mà mình muốn xóa dữ liệu một vùng nào đó ở file mới được xuất ra Ví dụ khi chọn sheet "Ha_Noi" để xuất thì dữ liệu vùng [K1:M5] của file được xuất ra sẽ được xóa đi (clear).
Xin cảm ơn mọi sự trợ giúp!.
 
Upvote 0
Mong bạn giúp mình thêm điều kiện này với!.
Khi xuất file excel hoặc pdf mà mình muốn xóa dữ liệu một vùng nào đó ở file mới được xuất ra Ví dụ khi chọn sheet "Ha_Noi" để xuất thì dữ liệu vùng [K1:M5] của file được xuất ra sẽ được xóa đi (clear).
Xin cảm ơn mọi sự trợ giúp!.
Bạn thêm dòng:
.ActiveSheet.Range("K1:M5").Clear dưới dòng unprotect thui
 
Upvote 0
Bạn thêm dòng:
.ActiveSheet.Range("K1:M5").Clear dưới dòng unprotect thui
Mình cảm ơn bạn!.
Xin lỗi vì phần trước trình bày chưa hết, Mình muốn khi chọn sheet "Ha_Noi" để xuất thì vùng .Range("K1:M5").Clear. Nhưng Khi chọn sheet "Bac_Ninh" thì vùng .Range("F44:I48").Clear và ActiveSheet.Shapes("CheckBox1").Delete thì mình phải làm thế nào?
Ví dụ mình muốn thêm:
- Nếu chọn sheet "Ha_Noi" thì vùng .Range("K1:M5").Clear
- Nếu chọn sheet "Bac_Ninh" thì .Range("F44:I48").Clear và ActiveSheet.Shapes("CheckBox1").Delete
- Nếu chọn sheet "HCM" thì .Range("D4:G5").Clear và ActiveSheet.Shapes("TextBox 1").Delete
...
Mình cảm ơn sự giúp đỡ của các bạn
 
Upvote 0
Mình cảm ơn bạn!.
Xin lỗi vì phần trước trình bày chưa hết, Mình muốn khi chọn sheet "Ha_Noi" để xuất thì vùng .Range("K1:M5").Clear. Nhưng Khi chọn sheet "Bac_Ninh" thì vùng .Range("F44:I48").Clear và ActiveSheet.Shapes("CheckBox1").Delete thì mình phải làm thế nào?
Ví dụ mình muốn thêm:
- Nếu chọn sheet "Ha_Noi" thì vùng .Range("K1:M5").Clear
- Nếu chọn sheet "Bac_Ninh" thì .Range("F44:I48").Clear và ActiveSheet.Shapes("CheckBox1").Delete
- Nếu chọn sheet "HCM" thì .Range("D4:G5").Clear và ActiveSheet.Shapes("TextBox 1").Delete
...
Mình cảm ơn sự giúp đỡ của các bạn
Bạn thêm vài dòng lênh cho nó thui:
ví dụ: if .activesheet.name = "Hà Nội" then
.activesheet.range(...).clear
....
end if
 
Upvote 0
Bạn thêm vài dòng lênh cho nó thui:
ví dụ: if .activesheet.name = "Hà Nội" then
.activesheet.range(...).clear
....
end if
Cảm ơn bạn!. Mình đãm làm được rồi.
Mã:
            If ActiveSheet.Name = "Ha_Noi" Then
               .ActiveSheet.Range("K1:M5").Clear
            ElseIf .ActiveSheet.Name = "HCM" Then
               .ActiveSheet.Range("I1:K10").Clear
               .ActiveSheet.Shapes("TextBox 1").Delete
            Else
               .ActiveSheet.Range("M10:O14").Clear
            End If
 
Upvote 0
Cảm ơn bạn!. Mình đãm làm được rồi.
Mã:
            If ActiveSheet.Name = "Ha_Noi" Then
               .ActiveSheet.Range("K1:M5").Clear
            ElseIf .ActiveSheet.Name = "HCM" Then
               .ActiveSheet.Range("I1:K10").Clear
               .ActiveSheet.Shapes("TextBox 1").Delete
            Else
               .ActiveSheet.Range("M10:O14").Clear
            End If
nhờ bạn xem lại sao code lỗi k xuất dc vậy
 
Upvote 0
Web KT

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

Back
Top Bottom