tienhung2150
Thành viên mới

- Tham gia
- 13/1/17
- Bài viết
- 3
- Được thích
- 0
Sub DieuChinhChieuCaoDong1()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim chieuCao As Double
Dim soDong As Long
Dim kichThuocGiay As Double
Dim kichThuocrongGiay As Double
Dim leTren As Double
Dim leDuoi As Double
Dim letrai As Double
Dim lephai As Double
Dim firstRow As Long
Dim startRow As Long
Dim endRow As Long
Dim totalRows As Long
kichThuocrongGiay = 8.5
kichThuocGiay = 11
leTren = 0.75
leDuoi = 0.75
letrai = 0.75
lephai = 0.5
Set ws = ActiveSheet
chieuCaoDong1To6 = 0
For i = 1 To 6
chieuCaoDong1To6 = chieuCaoDong1To6 + ws.Rows(i).RowHeight / 73 ' Chuy?n don v? t? points sang inches
Next i
chieuCaoDong2To5 = 0
For i = 2 To 5
chieuCaoDong2To5 = chieuCaoDong2To5 + ws.Rows(i).RowHeight / 73 ' Chuy?n don v? t? points sang inches
Next i
tile = ws.PageSetup.Zoom / 100
MsgBox tile
' Tìm dòng cu?i cùng có giá tr? c?t T là 1
lastRow = ws.Cells(ws.Rows.count, "T").End(xlUp).Row
firstRow = ws.Cells(7, "T").End(xlDown).Row
' Tính s? dòng c?n di?u ch?nh
soDong = firstRow - 6 ' B? di 6 dòng t? 1 d?n 6
' Tính chi?u cao c?n d?t cho t?ng dòng
chieuCao = (kichThuocGiay - leTren - leDuoi - chieuCaoDong1To6 * tile) / soDong / tile
' Ði?u ch?nh chi?u cao cho các dòng t? 7 d?n firstRow
For i = 7 To firstRow
ws.Rows(i).RowHeight = chieuCao * 73 ' Ð?i don v? t? inches sang points
Next i
' Tìm dòng b?t d?u và dòng k?t thúc c?a m?i kho?ng có giá tr? c?t T
startRow = firstRow + 1
For i = firstRow + 1 To lastRow
If ws.Cells(i, "T").value <> "" Then
endRow = i
totalRows = endRow - startRow + 1
' Tính chi?u cao c?n d?t cho các dòng trong kho?ng này
chieuCao1 = (kichThuocGiay - leTren - leDuoi - chieuCaoDong2To5 * tile) / totalRows / tile
' Ði?u ch?nh chi?u cao cho các dòng trong kho?ng này
For j = startRow To endRow
ws.Rows(j).RowHeight = chieuCao1 * 73 ' Ð?i don v? t? inches sang points
Next j
startRow = i + 1
End If
Next i
End Sub
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim chieuCao As Double
Dim soDong As Long
Dim kichThuocGiay As Double
Dim kichThuocrongGiay As Double
Dim leTren As Double
Dim leDuoi As Double
Dim letrai As Double
Dim lephai As Double
Dim firstRow As Long
Dim startRow As Long
Dim endRow As Long
Dim totalRows As Long
kichThuocrongGiay = 8.5
kichThuocGiay = 11
leTren = 0.75
leDuoi = 0.75
letrai = 0.75
lephai = 0.5
Set ws = ActiveSheet
chieuCaoDong1To6 = 0
For i = 1 To 6
chieuCaoDong1To6 = chieuCaoDong1To6 + ws.Rows(i).RowHeight / 73 ' Chuy?n don v? t? points sang inches
Next i
chieuCaoDong2To5 = 0
For i = 2 To 5
chieuCaoDong2To5 = chieuCaoDong2To5 + ws.Rows(i).RowHeight / 73 ' Chuy?n don v? t? points sang inches
Next i
tile = ws.PageSetup.Zoom / 100
MsgBox tile
' Tìm dòng cu?i cùng có giá tr? c?t T là 1
lastRow = ws.Cells(ws.Rows.count, "T").End(xlUp).Row
firstRow = ws.Cells(7, "T").End(xlDown).Row
' Tính s? dòng c?n di?u ch?nh
soDong = firstRow - 6 ' B? di 6 dòng t? 1 d?n 6
' Tính chi?u cao c?n d?t cho t?ng dòng
chieuCao = (kichThuocGiay - leTren - leDuoi - chieuCaoDong1To6 * tile) / soDong / tile
' Ði?u ch?nh chi?u cao cho các dòng t? 7 d?n firstRow
For i = 7 To firstRow
ws.Rows(i).RowHeight = chieuCao * 73 ' Ð?i don v? t? inches sang points
Next i
' Tìm dòng b?t d?u và dòng k?t thúc c?a m?i kho?ng có giá tr? c?t T
startRow = firstRow + 1
For i = firstRow + 1 To lastRow
If ws.Cells(i, "T").value <> "" Then
endRow = i
totalRows = endRow - startRow + 1
' Tính chi?u cao c?n d?t cho các dòng trong kho?ng này
chieuCao1 = (kichThuocGiay - leTren - leDuoi - chieuCaoDong2To5 * tile) / totalRows / tile
' Ði?u ch?nh chi?u cao cho các dòng trong kho?ng này
For j = startRow To endRow
ws.Rows(j).RowHeight = chieuCao1 * 73 ' Ð?i don v? t? inches sang points
Next j
startRow = i + 1
End If
Next i
End Sub