kobebryant
Thành viên thường trực




- Tham gia
- 7/8/09
- Bài viết
- 248
- Được thích
- 28
Xin chào mọi người do trước đây thấy có 1 cao thủ post hàm mình thấy ứng dụng hay wá nên đem về áp dụng vào file của mình. Chẳng là mình chẳng biết gì về VBA rồi ngồi xem các clip dạy VBA đơn giản từ macro nên biến hóa tí cho phù hợp với mục đích của mình. Nhưng trình độ mầm non nên bế tắc 3-4 ngày nay ko mò nổi xin các cao thủ chỉ giúp:
4 Hàm này mình thực hiện lần lượt trên 4 sheet thì nó chạy ok, nhưng khi mình đứng ở sheet khác tạo cái 4 nút gán 4 hàm này vào thì nó báo lỗi ở chỗ em in đậm Hàm 1. Mong các cao thủ giúp em gắn 4 hàm lên 1 cái nút.
Hàm 1: Ở hàm này chỗ điều kiện If mình chỉ muốn những chỗ chữ nghiêng thực thi thôi (có 1 chỗ có Conditional Formatting nó bị thay đổi luôn)
Hàm 2: tương tự hàm 1, ko biết mình khai báo biến giống hàm 1 có bị gì ko
Hàm 3:
Hàm 4: tương tự hàm 3
4 Hàm này mình thực hiện lần lượt trên 4 sheet thì nó chạy ok, nhưng khi mình đứng ở sheet khác tạo cái 4 nút gán 4 hàm này vào thì nó báo lỗi ở chỗ em in đậm Hàm 1. Mong các cao thủ giúp em gắn 4 hàm lên 1 cái nút.
Hàm 1: Ở hàm này chỗ điều kiện If mình chỉ muốn những chỗ chữ nghiêng thực thi thôi (có 1 chỗ có Conditional Formatting nó bị thay đổi luôn)
Mã:
Sub chuyenDKCDPS()
Dim ldcuoi As Long, lddau As Long, sh As Worksheet, li As Long, clls As Range
Set sh = Sheets("CD SPS")
ldcuoi = sh.[F65000].End(xlUp).Row: lddau = sh.[F1].End(xlDown).Row
[B]For Each clls In sh.Range(Cells(lddau, 6), Cells(ldcuoi, 6))[/B]
If clls.Font.Italic = True Then
clls.Value = clls.Offset(0, 8).Value
End If
Next clls
End Sub
Hàm 2: tương tự hàm 1, ko biết mình khai báo biến giống hàm 1 có bị gì ko
Mã:
Sub chuyenCKCDPS()
Dim ldcuoi As Long, lddau As Long, sh As Worksheet, li As Long, clls As Range
Set sh = Sheets("CD SPS")
ldcuoi = sh.[g65000].End(xlUp).Row: lddau = sh.[g1].End(xlDown).Row
For Each clls In sh.Range(Cells(lddau, 7), Cells(ldcuoi, 7))
If clls.Font.Italic = True Then
clls.Value = clls.Offset(0, 8).Value
End If
Next clls
End Sub
Hàm 3:
Mã:
Sub chuyenKQKD()
Dim Vung As Range, I As Long
Set sh = Sheets("KQKD")
On Error Resume Next
sh.Range([E8], [E5000].End(xlUp)).SpecialCells(2).ClearContents
Set Vung = sh.Range([E8], [E5000].End(xlUp))
For I = 1 To Vung.Rows.Count
If Vung(I) = "" And Vung(I).Offset(, -1) <> 0 Then Vung(I) = Vung(I).Offset(, -1)
Next
End Sub
Hàm 4: tương tự hàm 3
Mã:
Sub chuyenLCTT()
Dim Vung As Range, I As Long, sh2 As Worksheet
Set sh2 = Sheets("LCTT")
On Error Resume Next
sh2.Range([E8], [E5000].End(xlUp)).SpecialCells(2).ClearContents
Set Vung = sh2.Range([E8], [E5000].End(xlUp))
For I = 1 To Vung.Rows.Count
If Vung(I) = "" And Vung(I).Offset(, -1) <> 0 Then Vung(I) = Vung(I).Offset(, -1)
Next
End Sub
File đính kèm
Lần chỉnh sửa cuối: