TrungChinhs
Thành viên tích cực


- Tham gia
- 18/2/08
- Bài viết
- 1,475
- Được thích
- 2,470
- Nghề nghiệp
- Công chức
Viết trên Excel 2007, không biết có tương thích với Excel 2003 không.Chào các bạn! Tôi muốn viết code để add InputMessage vào các ô theo điều kiện. Yêu cầu và ví dụ cụ thể trong file đính kèm.
Nhờ các các bạn viết giúp. Thanks!
Sub GPE()
For Each cll In Range([B4], [B65536].End(xlUp))
If InStr(cll.Value, "PABT") > 0 Then
For i = 1 To 9
With cll.Offset(, i).Validation
.Delete
.add Type:=xlValidateInputOnly
.InputMessage = Sheets("Sheet1").[C3].Offset(i).Value
End With
Next
ElseIf InStr(cll.Value, "PA") > 0 Then
For j = 1 To 9
With cll.Offset(, j).Validation
.Delete
.add Type:=xlValidateInputOnly
.InputMessage = Sheets("Sheet1").[C15].Offset(j).Value
End With
Next
End If
Next
End Sub
Em làm tạm như vầy:Chào các bạn! Tôi muốn viết code để add InputMessage vào các ô theo điều kiện. Yêu cầu và ví dụ cụ thể trong file đính kèm.
Nhờ các các bạn viết giúp. Thanks!
Sub Add_InputMsg()
Dim Clls As Range, FRng As Range, i As Long
With Range(Sheet2.[B4], Sheet2.[B65536].End(xlUp))
For Each Clls In .SpecialCells(2)
i = 0
If InStr(Clls, Sheet1.[C3]) Then
Set FRng = Sheet1.[C3]
ElseIf InStr(Clls, Sheet1.[C15]) Then
Set FRng = Sheet1.[C15]
End If
If Not FRng Is Nothing Then
Do
i = i + 1
With Clls.Offset(, i).Validation
.Delete
.add xlValidateInputOnly
.InputMessage = FRng.Offset(i).Value
End With
Loop Until IsEmpty(FRng.Offset(i + 1))
End If
Next Clls
End With
End Sub