- Không Bold được cột

  • Thread starter Thread starter dmtdmtbb
  • Ngày gửi Ngày gửi
Liên hệ QC

dmtdmtbb

Biệt danh: xDelx
Tham gia
24/5/07
Bài viết
306
Được thích
438
Dim tmpd As String, tmpc As String
Dim i, j, k
......... For i = 1 To 1000
........... tmpd = "C" & i
. ..........Range(tmpd).Select
. ...............If ActiveCell.FormulaR1C1 = "" Then
. ...................Selection.Font.Bold = False
. ...............Else
. ....................For j = 1 To 10
. .....................k = i + j
. .......................tmpc = "C" & k
. .......................Range(tmpc).Select
. .....................Selection.Font.Bold = True
. ....................Next j
. ................End If
. ..........Next i
. Range("C1").Select
End Sub


- Tìm từ cột C nếu ô có dử liệu thì cho Bold và 10 cột tiếp theo, nhưng cái này chỉ Bold được dòng không Bold được cột.
- Vd : C1 có dử liệu thì Bold từ C1 --> c10

- Mấy bác giúp em cái này.
 
Lần chỉnh sửa cuối:
Chào bạn
Dựa vào sự mô tả của bạn, mình nghĩ bạn sử dụng đoạn code sau là có thể như mong muốn. Hy vọng đúng như yêu cầu của bạn
Mã:
Sub Bold_Col()
Dim i As Integer
For i = 1 To 1000
    If Cells(i, 3) = "" Then
        Cells(i, 3).Font.Bold = False
    Else
        Range(Cells(i, 3), Cells(i+10, 3)).Font.Bold = True 
    End If
Next i
Range("C1").Select
End Sub
TDN
 
Lần chỉnh sửa cuối:
Upvote 0
dmtdmtbb đã viết:
Dim tmpd As String, tmpc As String
Dim i, j, k
......... For i = 1 To 1000
........... tmpd = "C" & i
. ..........Range(tmpd).Select
. ...............If ActiveCell.FormulaR1C1 = "" Then
. ...................Selection.Font.Bold = False
. ...............Else
. ....................For j = 1 To 10
. .....................k = i + j
. .......................tmpc = "C" & k
. .......................Range(tmpc).Select
. .....................Selection.Font.Bold = True
. ....................Next j
. ................End If
. ..........Next i
. Range("C1").Select
End Sub


- Tìm từ cột C nếu ô có dử liệu thì cho Bold và 10 cột tiếp theo, nhưng cái này chỉ Bold được dòng không Bold được cột.
- Vd : C1 có dử liệu thì Bold từ C1 --> c10

- Mấy bác giúp em cái này.
Tất nhiên là những ô không có dữ liệu thì
. ...............If ActiveCell.FormulaR1C1 = "" Then
. ...................Selection.Font.Bold = False
Khi vòng lặp i gặp 1 ô trống thì nó sẽ Bold mười ô kế tiếp (i+1-->i+10)(theo vòng lặp j) mà không kể rằng rỗng hay không.
sau đó vòng lặp i lại tiếp tục, tức là nó lại xét các ô vừa Bold. Nếu có ô nào rỗng thì nó sẽ :

. ...............If ActiveCell.FormulaR1C1 = "" Then
. ...................Selection.Font.Bold = False

nên nhớ là i bao giờ cũng đi sau j

Thân!
 
Upvote 0
Mình xin phép chỉnh sơ đoạn code của tedaynui cho hoàn chỉnh hơn:
Sub Bold_Col()
Dim i As Integer
For i = 1 To 1000
If Cells(i, 3) = "" Then
Cells(i, 3).Font.Bold = False
Else
Range(Cells(i, 3), Cells(i + 9, 3)).Font.Bold = True
Exit For
End If
Next i
Range("C1").Select
End Sub

Range(Cells(i, 3), Cells(i + 9, 3)).Font.Bold = True
Nếu muốn bold cả 10 dòng lẫn 10 cột thì chỉnh số 3 thành số 12...
 
Lần chỉnh sửa cuối:
Upvote 0
voda đã viết:
Mình xin phép chỉnh sơ đoạn code của tedaynui cho hoàn chỉnh hơn:


Range(Cells(i, 3), Cells(i + 9, 3)).Font.Bold = True
Nếu muốn bold cả 10 dòng lẫn 10 cột thì chỉnh số 3 thành số 12...


- Vẫn không Bold được cột bác à.
- Đây là ví dụ
dc.jpg

- Nếu thỏa điều kiện C có dử liệu thì Bold các cột tiếp theo, nếu C không có dử liệu thì không Bold các cột tiếp theo.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn thử dùng đoạn code này nhé:
Sub Bold_Col()
Dim i, j As Integer
For i = 1 To 1000
If Cells(i, 3) <> "" Then
For j = 1 To 10
Cells(i, j + 2).Font.Bold = True
Next j
End If
Next i
Range("C1").Select
End Sub
 
Upvote 0
voda đã viết:
Bạn thử dùng đoạn code này nhé:
Sub Bold_Col()
Dim i, j As Integer
For i = 1 To 1000
If Cells(i, 3) <> "" Then
For j = 1 To 10
Cells(i, j + 2).Font.Bold = True
Next j
End If
Next i
Range("C1").Select
End Sub

- Cái này của bác thì ok, nhân tiện nhờ các bác giải thích dùm chổ sai của đoạn code, sai ở đây là không hoạt động giống như đoạn code trên chứ không phải là không hoạt động.

for_of_bold.jpg
 
Upvote 0
Code của bạn viết thừa 1 vòng lặp, chỉnh lại một chút là ok ngay:
Sub boiden()
Dim tmpd As String, tmpc As String
Dim i, j, k
For i = 1 To 1000
tmpd = "C" & i
Range(tmpd).Select
If ActiveCell.FormulaR1C1 <> "" Then
For k = 1 To 10
tmpc = Chr(66 + k) & i
Range(tmpc).Select
Selection.Font.Bold = True
Next k
End If
Next i
Range("C1").Select
End Sub
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom