Mrnheklc
Thành viên mới
- Tham gia
- 21/11/22
- Bài viết
- 3
- Được thích
- -4
Xin chào các Anh chị trong diễn đàn, mình thành viên mới của Diễn đàn. Sau 1 ngày tìm hiểu trên youtube về vấn đề VBA trong excel. Mình đã chạy được 1 code VBA rất hữu ích cho công việc hiện tại nhưng nó vẫn còn có 1 vài vấn đề mình muốn các cao nhân chỉ dẫn thêm cho mình.
Mọi người cho mình hỏi : Nếu chạy theo code mình đang áp dụng thì muốn xoá 2 dòng có bôi màu chữ kia thì làm thế nào ạ? Và nên viết thêm code ở vị trí nào nữa ạ.
Nếu ko thể viết chèn vào code kia thì các cao nhân có code xoá 2 dòng sát nhau tại nhiều hàng và đẩy các dòng dưới sát lên dòng cuối cùng thì cho mình xin với ạ. Vì mình phải tổng hợp nhiều sheet vào 1 file và chỉ cần lấy các thông số kia thôi ạ. ko cần 2 dòng "min" và "max ạ.
-
Xin Cảm ơn diễn đàn nhiều!!!!
Mọi người cho mình hỏi : Nếu chạy theo code mình đang áp dụng thì muốn xoá 2 dòng có bôi màu chữ kia thì làm thế nào ạ? Và nên viết thêm code ở vị trí nào nữa ạ.
Nếu ko thể viết chèn vào code kia thì các cao nhân có code xoá 2 dòng sát nhau tại nhiều hàng và đẩy các dòng dưới sát lên dòng cuối cùng thì cho mình xin với ạ. Vì mình phải tổng hợp nhiều sheet vào 1 file và chỉ cần lấy các thông số kia thôi ạ. ko cần 2 dòng "min" và "max ạ.
Mã:
Sub CopyDuLieu()
Dim wbOutput, wbInput As Workbook
Dim selectFiles As Variant
Dim iFileNum As Integer
Dim iLastRowInput, iLastRowOutput As Long
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim tieude As Integer
tieude = 0
'B1:
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "Ket_Qua" & ".xlsx"
Set wbOutput = ActiveWorkbook
'B2:
selectFiles = Application.GetOpenFilename(Filefilter:="Excel File (*.xls*),*.xlsx*", MultiSelect:=True)
'B3:
For iFileNum = 1 To UBound(selectFiles)
Set wbInput = Workbooks.Open(selectFiles(iFileNum))
iSheetNum = wbInput.Worksheets.Count
'B4:
For i = 1 To iSheetNum
If wbInput.Sheets(i).Range(Left(ThisWorkbook.Sheets(1).Cells(7, 4), 2)) <> "" Then
'B5:
iLastRowInput = wbInput.Sheets(i).Range(ThisWorkbook.Sheets(1).Cells(9, 4) & Rows.Count).End(xlUp).Row
iLastRowOutput = wbOutput.Sheets(1).Range(ThisWorkbook.Sheets(1).Cells(9, 4) & Rows.Count).End(xlUp).Row
'B6:
If tieude = 0 Then
'B7:
wbInput.Sheets(i).Range(ThisWorkbook.Sheets(1).Cells(11, 4) & ":" & _
ThisWorkbook.Sheets(1).Cells(9, 5) & iLastRowInput).Copy _
Destination:=wbOutput.Sheets(1).Range(ThisWorkbook.Sheets(1).Cells(9, 4) & iLastRowOutput + 1)
Else
'B8:
wbInput.Sheets(i).Range(ThisWorkbook.Sheets(1).Cells(9, 4) & ThisWorkbook.Sheets(1).Cells(10, 5) + 1 & ":" & _
ThisWorkbook.Sheets(1).Cells(9, 5) & iLastRowInput).Copy _
Destination:=wbOutput.Sheets(1).Range(ThisWorkbook.Sheets(1).Cells(9, 4) & iLastRowOutput + 1)
End If
tieude = 1
End If
Next
wbInput.Close
Next
MsgBox "Done!!!:)"
Application.DisplayAlerts = True
End Sub
Xin Cảm ơn diễn đàn nhiều!!!!
File đính kèm
Lần chỉnh sửa cuối: