vc_đi chơi
Thành viên hoạt động



- Tham gia
- 21/9/19
- Bài viết
- 176
- Được thích
- 35
Private Sub OkInBB_All_Click()
Dim inStart As Long, inFinish As Long
Dim I As Long
Dim CotD As Range
Dim ws As Worksheet
On Error GoTo Thoat
Set ws = Sheet4
Ws.DisplayPageBreaks = False
inStart = TextBox1.Value
inFinish = TextBox2.Value
For I = inStart To inFinish
With ws
ActiveSheet.DisplayPageBreaks = False
.Range("H2").Value = I
Call CogianDong
For Each CotD In Range("D11:D15")
If CotD.Value = "0" Then
CotD.EntireRow.Hidden = True
End If
Next CotD
.PrintOut 'Vùng in Set
End With
Next I
Thoat:
Unload Me
ActiveSheet.DisplayPageBreaks = False
End Sub[code/]
Cám ơn anh! anh cho em hỏi copt đoạn code anh giúp vào code của Form đúng không ạ?Mã:Private Sub OkInBB_All_Click() Dim inStart As Long, inFinish As Long Dim I As Long Dim CotD As Range Dim ws As Worksheet On Error GoTo Thoat Set ws = Sheet4 Ws.DisplayPageBreaks = False inStart = TextBox1.Value inFinish = TextBox2.Value For I = inStart To inFinish With ws ActiveSheet.DisplayPageBreaks = False .Range("H2").Value = I Call CogianDong For Each CotD In Range("D11:D15") If CotD.Value = "0" Then CotD.EntireRow.Hidden = True End If Next CotD .PrintOut 'Vùng in Set End With Next I Thoat: Unload Me ActiveSheet.DisplayPageBreaks = False End Sub[code/]
Cám ơn anh! anh cho em hỏi copt đoạn code anh giúp vào code của Form đúng không ạ?
Em đã copy đoạn code anh giúp vào code của Form :
Private Sub OkInBB_All_Click()
Dim inStart As Long, inFinish As Long
Dim I As Long
Dim CotD As Range
Dim ws As Worksheet
On Error GoTo Thoat
Set ws = Sheet4
ws.DisplayPageBreaks = False
inStart = TextBox1.Value
inFinish = TextBox2.Value
For I = inStart To inFinish
With ws
ActiveSheet.DisplayPageBreaks = False
.Range("H2").Value = I
Call CogianDong
For Each CotD In Range("D11:D15")
If CotD.Value = "0" Then
CotD.EntireRow.Hidden = True
End If
Next CotD
.PrintOut 'Vùng in Set
End With
Next I
Thoat:
Unload Me
ActiveSheet.DisplayPageBreaks = False
End Sub
'***********************************************************************************************************************
'LUA CHON MÁY IN
Private Sub Printer_Properties_Click()
Call Shell("rundll32 printui.dll,PrintUIEntry /p /n """ & ComboBox1.Value & """", vbNormalFocus)
End Sub
Sub List_Printer()
Dim aPrinters As Object
Dim I As Long, N As Long
With CreateObject("WScript.Network")
Set aPrinters = .EnumPrinterConnections
For I = 1 To aPrinters.Count Step 2
ComboBox1.AddItem aPrinters.Item(I)
Next
End With
End Sub
Sub Get_Default_Printer()
Dim WSHshell As Object, RegKey As String, RegKeySplit As Variant
Dim RegDefault As String, MyPrinter As String
RegKey = _
"HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device"
Set WSHshell = CreateObject("WScript.Shell")
RegDefault = WSHshell.RegRead(RegKey)
Set WSHshell = Nothing
RegKeySplit = Split(RegDefault, ",")
MyPrinter = RegKeySplit(0)
ComboBox1.Text = MyPrinter
End Sub
Private Sub UserForm_Initialize()
Call List_Printer
Call Get_Default_Printer
End Sub
'***********************************************************************************************************************
Code chỉ ẩn trong vùng D11Em đã copy đoạn code anh giúp vào code của Form :
Nhưng khi in ra vẫn chưa ẩn dòng trống và tự động co dãn giống như khi Spin dữ liệu từ 1 đến 3Mã:Private Sub OkInBB_All_Click() Dim inStart As Long, inFinish As Long Dim I As Long Dim CotD As Range Dim ws As Worksheet On Error GoTo Thoat Set ws = Sheet4 ws.DisplayPageBreaks = False inStart = TextBox1.Value inFinish = TextBox2.Value For I = inStart To inFinish With ws ActiveSheet.DisplayPageBreaks = False .Range("H2").Value = I Call CogianDong For Each CotD In Range("D11:D15") If CotD.Value = "0" Then CotD.EntireRow.Hidden = True End If Next CotD .PrintOut 'Vùng in Set End With Next I Thoat: Unload Me ActiveSheet.DisplayPageBreaks = False End Sub '*********************************************************************************************************************** 'LUA CHON MÁY IN Private Sub Printer_Properties_Click() Call Shell("rundll32 printui.dll,PrintUIEntry /p /n """ & ComboBox1.Value & """", vbNormalFocus) End Sub Sub List_Printer() Dim aPrinters As Object Dim I As Long, N As Long With CreateObject("WScript.Network") Set aPrinters = .EnumPrinterConnections For I = 1 To aPrinters.Count Step 2 ComboBox1.AddItem aPrinters.Item(I) Next End With End Sub Sub Get_Default_Printer() Dim WSHshell As Object, RegKey As String, RegKeySplit As Variant Dim RegDefault As String, MyPrinter As String RegKey = _ "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device" Set WSHshell = CreateObject("WScript.Shell") RegDefault = WSHshell.RegRead(RegKey) Set WSHshell = Nothing RegKeySplit = Split(RegDefault, ",") MyPrinter = RegKeySplit(0) ComboBox1.Text = MyPrinter End Sub Private Sub UserForm_Initialize() Call List_Printer Call Get_Default_Printer End Sub '***********************************************************************************************************************
Anh xem giúp em ạ! kết quả em in ra, dòng trống vẫn hiện chưa bị ẩn.
Nếu có thể nhờ anh sửa luôn trên file em đính kèm mới ạ!
Cảm ơn anh!
View attachment 229649View attachment 229652
Cảm ơn bạn!Code chỉ ẩn trong vùng D1115 mà File của bạn là D8
12 sao nó chịu
Anh ơi khi dùng code của anh giúp thì những đoạn code ở sheet (Bang) và sheet (layDL) và code ở module "M_Cogian" có cần dùng đến nữa không ạ?Mã:Private Sub OkInBB_All_Click() Dim inStart As Long, inFinish As Long Dim I As Long Dim CotD As Range Dim ws As Worksheet On Error GoTo Thoat Set ws = Sheet4 Ws.DisplayPageBreaks = False inStart = TextBox1.Value inFinish = TextBox2.Value For I = inStart To inFinish With ws ActiveSheet.DisplayPageBreaks = False .Range("H2").Value = I Call CogianDong For Each CotD In Range("D11:D15") If CotD.Value = "0" Then CotD.EntireRow.Hidden = True End If Next CotD .PrintOut 'Vùng in Set End With Next I Thoat: Unload Me ActiveSheet.DisplayPageBreaks = False End Sub[code/]
@Nhất Chi Lan cho em hỏi:Code chỉ ẩn trong vùng D1115 mà File của bạn là D8
12 sao nó chịu