Thien
Thành viên thường trực
- Tham gia
- 23/6/06
- Bài viết
- 352
- Được thích
- 113
Vì Data của bạn quá lộn xộn nên không muốn làm theo Advance Filter. Thôi thì dùng vòng lặp vậy.Thien đã viết:Các bác không hiểu ý mình rùi.
File của mình hiện tại khi muốn in sổ cái của TK nào thì chọn số TK rùi phải chọn Chọn Nonblanks sau khi chọn mã tài khoản tạI ô D2 để in ra giấy.
Nếu có nhiều TK phát sinh thì thao tác này được lặp lại nhiều lần. Nay mình muốn nhờ viết dủm 1 cái macro làm việc đó.
Nếu in ra từng sheet, tên mỗi sheet là số TK có số liệu phát sinh.
Đây là bài toán thật mình đang làm. Rất mong nhận được sự hỗ trợ từ GPE.
PS: Mr BeBe đâu rùi.
Cảm ơn nhiều.
Thien đã viết:Cảm ơn BeBe & Thunghi nhiều lắm.
Nhưng có điều giữ nguyên cấu trúc file của mình có được không.
Rất mong nhận được sự giúp đỡ.
Chân thành cảm ơn
Sub TaoNhieuSC()
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
.DisplayAlerts = False
End With
Dim i As Integer, Rows As Integer
S09.Visible = xlSheetVisible
Rows = S99.Cells(2, 3).Value
For i = 1 To Rows
With Application
.Calculation = xlCalculationAutomatic
End With
S03.Range("D2").Value = Range("Dmtk").Cells(i, 1).Value
With Application
.Calculation = xlCalculationManual
End With
'mo file socai cung folder
Workbooks.Open Filename:=ThisWorkbook.Path & "\socai.xls"
Call TaoSoCai
Next i
S03.Select
Selection.AutoFilter Field:=7
S09.Visible = xlSheetHidden
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
.DisplayAlerts = True
End With
S03.Select
Range("d2").Select
End Sub
Bạn xem thử thế nào.Sub TaoSoCai()
'Xoa tmp
Windows("insocai.xls").Activate
S09.Select
Cells.Select
Selection.ClearContents
Selection.ClearFormats
'copy socai va dan vao tmp
S03.Select
Selection.AutoFilter Field:=7, Criteria1:="<>"
Range("Socai").Select
Selection.Copy
S09.Select
Range("a1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'tao so moi & preview
S09.Copy After:=Sheets(2)
Sheets("tmp (2)").Select
'mosang va dat ten
Sheets("tmp (2)").Move Before:=Workbooks("socai.xls").Sheets(1)
Windows("socai.xls").Activate
Sheets("tmp (2)").Name = Sheets("tmp (2)").Range("D2").Value
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Cái này của NVSonPublic Sub Add_name()
Dim i As Long 'NVSON
For i = 1 To Range("rngName").Rows.Count
ActiveWorkbook.Names.Add Name:=Range("rngName").Cells(i, 1).Value, RefersTo:="=" & Range("rngReplace").Cells(i, 1).Value
Next i
End Sub
Public Sub ThayThe()
On Error Resume Next 'NVSON
Dim i As Long, StrText As String
Dim KQ
For i = 1 To ActiveWorkbook.Names.Count
Err.Clear
KQ = WorksheetFunction.Match(ActiveWorkbook.Names(i, 1, 1).NameLocal, Range("rngName"), 0)
If Err.Number = 0 Then
StrText = WorksheetFunction.Index(Range("rngReplace"), KQ, 1)
ActiveWorkbook.Names.Add Name:=ActiveWorkbook.Names(i, 1, 1).NameLocal, RefersTo:="=" & StrText
End If
Next i
End Sub
Sub Link_Paste_Names()
On Error GoTo thoat 'NVSON
Dim row1 As Integer, col1 As Integer
Dim i As Integer
row1 = ActiveCell.Row
col1 = ActiveCell.Column
For i = 1 To ActiveWorkbook.Names.Count
Cells(row1 + i - 1, col1) = ActiveWorkbook.Names(i, 1, 1).NameLocal
Cells(row1 + i - 1, col1 + 1) = Mid(ActiveWorkbook.Names(i, 1, 1).RefersTo, 2)
Cells(row1 + i - 1, col1 + 1).Select
Selection.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=ActiveWorkbook.Names(i, 1, 1).RefersTo
Next i
thoat:
End Sub