Cái này chắc là nhầm đúng không? Phải là BP6:BQ6.VD: A7 là 12 thì nhấn vào DOT1 thì excel chọn BP6Q6
[/FONT]
Private Sub CommandButton1_Click()
Dim M
M = Sheet1.Range("A7") * 6
Range(Cells(6, M - 4), Cells(6, M - 3)).Select
End Sub
Private Sub CommandButton2_Click()
Dim M
M = Sheet1.Range("A7") * 6
Range(Cells(6, M - 2), Cells(6, M - 1)).Select
End Sub
Private Sub CommandButton3_Click()
Dim M
M = Sheet1.Range("A7") * 6
Range(Cells(6, M), Cells(6, M + 1)).Select
End Sub
Ý mình là bạn có thể thêm điều kiện kiểm tra giá trị của A7. Nếu nó để trắng hoặc nằm ngoài khoảng (1, 20) thì báo lỗi. Nếu không khi người dùng nhập nhầm, chương trình sẽ báo lỗi hoặc select vùng không mong muốn.salam đã viết:Em gõ nhầm thằng BP sang PQ Xim cám ơn bác nhé. Còn thắng A7 của em chắc chắn là không có khoảng trắng rồi nó trong 1->20 thôi.
Hi, chúc mừng nhé! Mình nghĩ đoạn này cũng dễ nên muốn để bạn tự làm. Thành quả của mình dù nhỏ, nhưng khi làm được cũng cho ta một cảm giác rất khác lạ... Vấn đề select thì xong rồi, nhưng mình góp ý bạn nên tô đậm hoặc bôi mầu cho ô select cho dễ nhận ra. Chỉ cần thêm một câu thôi...salam đã viết:Em viết được rồi thêm if vào cùng với Msg, Đúng là phải chịu khó mò mới được bao giờ bó tay mới Hỏi Các Bác Trên GPE.
Option Explicit
Dim iJ As Integer
Sub Dot1_()
iJ = 6 * Range("A7").Value - 4
SelectDot iJ
End Sub
Sub Dot2_()
iJ = 6 * Range("A7").Value - 2
SelectDot iJ
End Sub
Sub Dot3_()
iJ = 6 * Range("A7").Value
SelectDot iJ
End Sub
[B]Sub SelectDot(iZ As Integer)[/B]
Range(Cells(6, iZ), Cells(6, iZ + 1)).Select
[B]End Sub [/B]
Option Explicit
Sub Dot1_()
SelectDot 4
End Sub
Sub Dot2_()
SelectDot 2
End Sub
Sub Dot3_()
SelectDot
End Sub
Sub SelectDot(Optional iJ As Integer =0)
Dim iZ As Integer
iZ=6 * Range("A7").Value-iJ
Range(Cells(6, iZ), Cells(6, iZ + 1)).Select
End Sub
Sao, thế này cho ngắn gọn lun nhỉ!:
Mã:[B]Sub SelectDot(Optional iJ As Integer =0)[/B] Dim iZ As Integer iZ=6 * Range("A7").Value-iJ [B][SIZE="2"]Cells(6, iZ).Resize(, 1).Select [/SIZE][/B] [B]End Sub [/B]