Macro điền số
Để VBA có thể nắm bắt được sự kiện Change (thay đổi giá trị) khi ô A32 thay đổi, Thủ tục Worksheet_Change được viết trong sheet trong Sheet “TaoTuTru” là . Thủ tục này thực hiện nhiệm vụ:
- Kiểm tra sự thay đổi trong sheet. Nếu ô A32 thay đổi mới thực hiện công việc tiếp theo.
- Nếu ô A32 thay đổi thì thực hiện việc xóa vùng A8:J17 và ghi vào số mới theo số đầu tiên tại ô A3, số dòng, số cột theo giá trị chuỗi ô A32 (TamxNam, BonxBay, ...). Hàm ChuyenSo có nhiệm vụ đổi “Hai, Ba, ..., Chin thành số 2, 3, .., 9.
Quy luật nhập số tôi dựa vào công thức tại các ô A3:C5. Nhưng không biết công thức của emgaingayngo sai hay tôi chưa hiểu ý đồ bài toán. Ví dụ ô A3=1, dòng=2 (ô B3), cột=3 (C3) thì emgaingayngo cho kết quả:
1 ... 31 theo tôi ghi đủ các cột là 1 11 21 31
2 ... 32 2 12 22 32
như vậy dư 1 cột.
Kết quà mà Sub TuTru cho kết quả là:
1 11 21
2 12 22
Không biết có đúng yêu cầu đề ra hay không?
'=======================
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$32" Then
ten = Target.Value
n = InStr(1, ten, "x")
dong = ChuyenSo(Left(ten, n - 1))
cot = ChuyenSo(Mid(ten, n + 1))
sodau = Val(Cells(3, 1))
Range(Cells(21, 1), Cells(30, 10)).ClearContents
For c = 1 To cot
For n = 1 To dong
Cells(n + 20, c) = (c - 1) * 10 + sodau + n - 1
Next
Next
End If
End Sub
'==============================
Function ChuyenSo(conso) As Byte
Select Case conso
Case "Chin"
ChuyenSo = 9
Case "Tam"
ChuyenSo = 8
Case "Bay"
ChuyenSo = 7
Case "Sau"
ChuyenSo = 6
Case "Nam"
ChuyenSo = 5
Case "Bon"
ChuyenSo = 4
Case "Ba"
ChuyenSo = 3
Case Else
ChuyenSo = 2
End Select
End Function
Không hiểu tại sao giaiphapexcel không gởi file đính kèm được !