Tự nhiên có ý nghĩ (có thể hơi điên rồ 1 chút) là dùng các phím lên xuống di chuyển đến cell nào đó và ấn Enter sẽ chuyển đến sheet mình đặt (cell có thể ghi chữ không liên quan gì đến tên sheet)
Nếu có pro nào làm được xin chỉ e với ...
Thanks các bác chỉ giáo !!!
Tự nhiên có ý nghĩ (có thể hơi điên rồ 1 chút) là dùng các phím lên xuống di chuyển đến cell nào đó và ấn Enter sẽ chuyển đến sheet mình đặt (cell có thể ghi chữ không liên quan gì đến tên sheet)
Nếu có pro nào làm được xin chỉ e với ...
Thanks các bác chỉ giáo !!!
Các bác biết thì chỉ giúp e chứ tán gái gì trò này ... làm trò khác chứ chỉ đơn giản là đôi lúc có vài suy nghĩ hiện lên trong đầu mà chưa biết làm nên đi hỏi thôi ...
Các bác biết thì chỉ giúp e chứ tán gái gì trò này ... làm trò khác chứ chỉ đơn giản là đôi lúc có vài suy nghĩ hiện lên trong đầu mà chưa biết làm nên đi hỏi thôi ...
Trong bài #1 của bạn có câu này: "cell có thể ghi chữ không liên quan gì đến tên sheet", vậy thì giữa cell và sheet cần chuyển đến có mối liên hệ gì đâu, và làm sao để biết là đang đứng ở ô đó mà nhấn Enter thì sẽ di chuyển đến sheet nào?
Hơn nữa, bạn muốn sử dụng phím Enter để quy định thao tác di chuyển đến sheet thì tự nhiên làm mất ý nghĩa của phím này, chẳng hạn khi bạn sửa nội dung trong ô xong, bạn chẳng thể dùng phím Enter để xác nhận việc sửa nội dung đó.
Trong bài #1 của bạn có câu này: "cell có thể ghi chữ không liên quan gì đến tên sheet", vậy thì giữa cell và sheet cần chuyển đến có mối liên hệ gì đâu, và làm sao để biết là đang đứng ở ô đó mà nhấn Enter thì sẽ di chuyển đến sheet nào?
Hơn nữa, bạn muốn sử dụng phím Enter để quy định thao tác di chuyển đến sheet thì tự nhiên làm mất ý nghĩa của phím này, chẳng hạn khi bạn sửa nội dung trong ô xong, bạn chẳng thể dùng phím Enter để xác nhận việc sửa nội dung đó.
Bởi vì thường thường muốn chuyển đến sheet khác thì cần một nút button liên kết macro và để nút đó tại 1 cell nào đó, và chỉ khi mình lick chuột vào thì mới chuyển đi được. Bây giờ mục đích mình muốn là di chuyển đến cell chứa nút button đó mà ko phải click chuột nữa và chỉ cần ấn Enter là sẽ thực hiện lệnh thay vì ấn chuột
Hơi nghịch nhưng muốn khám phá, mong các bác chỉ bảo !
Bởi vì thường thường muốn chuyển đến sheet khác thì cần một nút button liên kết macro và để nút đó tại 1 cell nào đó, và chỉ khi mình lick chuột vào thì mới chuyển đi được. Bây giờ mục đích mình muốn là di chuyển đến cell chứa nút button đó mà ko phải click chuột nữa và chỉ cần ấn Enter là sẽ thực hiện lệnh thay vì ấn chuột
Hơi nghịch nhưng muốn khám phá, mong các bác chỉ bảo !
Nếu có cái file của bạn thì có lẻ mình sẽ viết cho bạn vài dòng code. Thật ra cũng chẳng có gì khó. Vài chiêu tà đạo chắc cũng xong. Nhưng chắc viết ra code rồi cũng chỉ cho thoả mãn tính tò mò thôi chứ chẳng có ích gì.
Theo tôi thì chủ topic nói chưa rõ ý đồ của mình . Từ đầu theo dõi chủ đề mình thấy nó vô bổ , nhưng bây giờ thì thấy chủ topic muốn "bảo mật" file của mình bằng cách chỉ khi nào chọn đúng ô mà bạn ấy chỉ định và ấn Enter thì mới chuyển đến file nguồn nào đó . Ngoài ra chỉ xem được sheet hiện tại và chỉ có đường đóng tập tin và thóat ra chứ không chuyển đến bất kỳ nơi nào khác nếu không biết ô "bí mật" kia . không biết cái trò " nghe nhạc hiệu đoán chương trình này nghe có vẻ kỳ kỳ có đúng không nữa ?".
Bởi vì thường thường muốn chuyển đến sheet khác thì cần một nút button liên kết macro và để nút đó tại 1 cell nào đó, và chỉ khi mình lick chuột vào thì mới chuyển đi được. Bây giờ mục đích mình muốn là di chuyển đến cell chứa nút button đó mà ko phải click chuột nữa và chỉ cần ấn Enter là sẽ thực hiện lệnh thay vì ấn chuột
Hơi nghịch nhưng muốn khám phá, mong các bác chỉ bảo !
Nhưng nếu muốn giấu người khác thì như thế dễ bị lộ. Gặp người tò mò thì họ sẽ thử với vd. các tổ hợp Alt +a, ..., Alt + z
Ta thêm một trở ngại nữa cho những người tò mò.
1. Không thiết lập Accelerator = z trong Properties.
2. Ta chọn một ô "xa xa" vd. AZ4
Mã:
Private Sub CommandButton1_Click()
MsgBox "hichic"
Range("A1").Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$AZ$4" Then
CommandButton1.Accelerator = "z"
Else
CommandButton1.Accelerator = ""
End If
End Sub
Bây giờ muốn thực hiện việc thì phải có 2 đk đồng thời: Ô AZ4 được chọn và nhấn Alt + z. Tức phải di chuyển bằng các phím mũi tên tới AZ4 rồi nhấn Alt + z
Cảm ơn mọi người đã chỉ giáo !
Một phần cũng vì tò mò, một phần cũng vì muốn xem có cách nào làm được việc mình muốn hay ko thôi. Mình chỉ muốn khi Enter vào cell dưới nút button đó thì sẽ thực hiện giống như mình nhấn vào nút button phía bên trên. Còn ô cell có chữ hay ko cũng được vì đơn giản nó nằm dưới button rồi nên ko ảnh hưởng đến quá trình in ấn.
Cảm ơn mọi người đã chỉ giáo !
Một phần cũng vì tò mò, một phần cũng vì muốn xem có cách nào làm được việc mình muốn hay ko thôi. Mình chỉ muốn khi Enter vào cell dưới nút button đó thì sẽ thực hiện giống như mình nhấn vào nút button phía bên trên. Còn ô cell có chữ hay ko cũng được vì đơn giản nó nằm dưới button rồi nên ko ảnh hưởng đến quá trình in ấn.
Không lẽ bạn định thế này ? dùng bàn phím chuyển chuột đến ô B5 (hoặc đến B4 rồi bấm Enter) thì nó tự động chuyển đến sheet 2. Mình có khi cũng sắp rồ theo bạn rồi !
Trong bài #1 của bạn có câu này: "cell có thể ghi chữ không liên quan gì đến tên sheet", vậy thì giữa cell và sheet cần chuyển đến có mối liên hệ gì đâu, và làm sao để biết là đang đứng ở ô đó mà nhấn Enter thì sẽ di chuyển đến sheet nào?
Hơn nữa, bạn muốn sử dụng phím Enter để quy định thao tác di chuyển đến sheet thì tự nhiên làm mất ý nghĩa của phím này, chẳng hạn khi bạn sửa nội dung trong ô xong, bạn chẳng thể dùng phím Enter để xác nhận việc sửa nội dung đó.
giả thiết có 3 sheet: Sheet1, Sheet2, Sheet3
copy đoạn code dưới đây vào code của Sheet1
khi bạn chọn A1 rồi enter thì Sheet2 được chọn
khi bạn chọn B1 rồi enter thì Sheet3 được chọn
(lưu ý: dùng mũi tên di chuyển xuống cũng có tác dụng tương tự)
Dim PreviousCell As Range
Private Sub Worksheet_Activate()
Set PreviousCell = ActiveCell
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If PreviousCell.Offset(1, 0).Address = Target.Address Then
Select Case PreviousCell.Address
Case "$A$1": Sheets("Sheet2").Select
Case "$B$1": Sheets("Sheet3").Select
End Select
End If
Set PreviousCell = Target
End Sub
p/s: bạn sửa lại tên sheet và địa chỉ ô cho phù hợp với ý mình)
đã có ứng dụng cho cái "hơi điên rồ một chút" của bạn rồi.
tui đang làm một cái bảng chấm công "hơi đặc biệt một chút" (user làm việc trên tàu biển, bị lắc liên tục, việc right-click vô một ô nhỏ cỡ hạt gạo rất dễ bị trật)
dùng phím trong trường hợp này chắc ăn hơn. (tất nhiên vẫn có thể dùng mouse)
đã có ứng dụng cho cái "hơi điên rồ một chút" của bạn rồi.
tui đang làm một cái bảng chấm công "hơi đặc biệt một chút" (user làm việc trên tàu biển, bị lắc liên tục, việc right-click vô một ô nhỏ cỡ hạt gạo rất dễ bị trật)
dùng phím trong trường hợp này chắc ăn hơn. (tất nhiên vẫn có thể dùng mouse)
Cảm ơn mọi người đã chỉ giáo !
Một phần cũng vì tò mò, một phần cũng vì muốn xem có cách nào làm được việc mình muốn hay ko thôi. Mình chỉ muốn khi Enter vào cell dưới nút button đó thì sẽ thực hiện giống như mình nhấn vào nút button phía bên trên. Còn ô cell có chữ hay ko cũng được vì đơn giản nó nằm dưới button rồi nên ko ảnh hưởng đến quá trình in ấn.
Mình xem bài này mấy lần rồi. Bài này không khó nhưng tại bận việc nên chưa viết. Mình gợi ý thế này nhá
Dùng sự kiện change để kiểm soát vùng muốn dùng phím Enter để thực hiện macro. Nếu sự kiện change không nằm trong vùng này thì ta trả phím Enter lại bình thường theo mặc định của nó. Bài tương tự mình đã viết vài lần trên diễn đàn rồi. Bạn tìm sẽ thấy.