Nguyễn Thị Duyên
Nguyễn Thị Duyên
Thảo luận 11 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 234 lượt xem

viết giúp em đoạn code 1Copy chết dữ liệu khi chạy vong lặp file có

Chào thầy, thầy viết giúp em đoạn code

1.Copy chết dữ liệu khi chạy vong lặp file có công thức với ạ, em làm như file att nhưng nó vẫn copy và giữ nguyên công thức , vậy khi em thay đổi giá trị trong sheet mẫu, số liệu nó bị chạy sai ạ .

2. Em muốn tạo 1 sub xóa các sheet vừa xuất ra ở bước 1, còn lại giữ nguyên các sheet khác, nhưng chưa làm được

Nhờ thầy hỗ trợ em với ạ. Cảm ơn thầy nhiều ạ.

https://drive.google.com/file/d/1Ljmf...


Thảo luận 11 câu trả lời
Lượt xem 234 lượt xem
Vỗ tay vỗ tay
Nguyễn Thị Duyên 11:09 - Sep 20, 2021

Chào bạn bạn cho gitiho xin quyền truy cập 

Vỗ tay vỗ tay
Nguyễn Thị Duyên 11:09 - Sep 20, 2021

mình không xem được file do link bị giới hạn quyền truy cập.

Ở đây mình thấy có 1 vấn đề là bạn muốn tạo 1 sheet, sau đó lại xóa sheet đi. Quy trình này chưa được tối ưu cho lắm. Khi lập trình bạn nên làm rõ quy trình trước rồi mới thực hiện viết code sẽ tốt hơn.

Vỗ tay vỗ tay
Nguyễn Thị Duyên 08:09 - Sep 21, 2021

Em đã mở đường link, nhờ thầy hỗ trợ em với ạ

Vỗ tay vỗ tay
Nguyễn Thị Duyên 13:09 - Sep 21, 2021
Chào bạn link vẫn không vào được bạn nhé.
Vỗ tay vỗ tay
Nguyễn Thị Duyên 08:09 - Sep 22, 2021

Em đac att file qua mail, thầy xem giúp em với nhé

Vỗ tay vỗ tay
Nguyễn Thị Duyên 09:09 - Sep 22, 2021

Chào bạn với phần xoá sheets bạn làm như sau

Option Explicit
Sub XoaSheets()
  Dim Sh As Worksheet
  On Error Resume Next
  Application.DisplayAlerts = False
  For Each Sh In ThisWorkbook.Worksheets
     If (Sh.Name <> "Sheet1") Then
        Sh.Delete
     End If
 Next
 Application.DisplayAlerts = True
End Sub
Còn phần xuất dữ liệu bạn tham khảo

Vỗ tay vỗ tay
Nguyễn Thị Duyên 11:09 - Sep 22, 2021

cảm ơn thầy phần xóa sheet em làm được rồi, còn phần xuất dữ liệu hàng loạt sang sheet khác em cũng làm được rồi, tuy nhiên những sheet xuất ra đó nó vẫn chứa cả công thức như sheet mẫu, em muốn sheet xuất ra đó dữ liệu đã được copy chết luôn không có công thức nữa ạ, nhờ thấy viết giúp em đoạn code với ạ

Vỗ tay vỗ tay
Nguyễn Thị Duyên 14:09 - Sep 22, 2021

Choà bạn khi xuất bạn cần duyệt cách ô công thức và đưa nó về dạng value nhé.

sheet1.range("A1").value = sheet1.range("A1").value

Vỗ tay vỗ tay
Nguyễn Thị Duyên 11:09 - Sep 27, 2021

Thưa thầy khi em đưa câu lệnh này vào xuất ra nhiều sheet thì ok, nhưng khi đưa câu lệnh này để xuất ra nhiều file thì nó báo lỗi .nhờ Thầy xem giúp em em làm sai đoạn nào với ạ.

Sub BangluongCX()

Dim i As Integer

Application.DisplayAlerts = False

Application.ScreenUpdating = False

i = 7

With ThisWorkbook.Sheets("CX_total")

While (.Cells(i, 3) <> "")

    ThisWorkbook.Sheets("BL").Cells(8, 8) = .Cells(i, 3)

  ThisWorkbook.Sheets("BL").Copy

    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\Bang luong chu xe\" & .Cells(5, 1) & " - " & .Cells(i, 3) & ".xlsx"

    Activeworkboock.ThisWorkbook.Sheets("BL").Range("C14:C40").Value = Activeworkboock.ThisWorkbook.Sheets("BL").Range("C14:C40").Value

  ActiveWorkbook.Close  

i = i + 1

Wend

End With

Application.DisplayAlerts = True

Application.ScreenUpdating = True

MsgBox "Da hoan thanh"

End Sub

Vỗ tay vỗ tay
Nguyễn Thị Duyên 21:09 - Sep 28, 2021

Nhờ thầy đọc câu hỏi trên và trả lời giúp em với ạ

Vỗ tay vỗ tay
Nguyễn Thị Duyên 09:09 - Sep 29, 2021

Lỗi ở chỗ ActiveWorkbook rất khó kiểm soát là workbook nào.

Khi muốn đưa dữ liệu ra 1 workbook mới, bạn dùng biến để gán cho workbook mới (ví dụ là NewWorkbook) => phân biệt 2 workbook:

Thisworkbook là file ban đầu

NewWorkbook là file mới tạo

=> khi đó bạn làm việc theo biến NewWorkbook thay vì ActiveWorkbook nhé.

Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông