Chuyển đến sheet khác bằng nút Enter trên bàn phím (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

hoangtrong_vbnd

Thành viên hoạt động
Tham gia
14/1/11
Bài viết
156
Được thích
7
Giới tính
Nam
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 !!!

Tôi hơi tò mò bạn định làm cái gì đây.
 
Upvote 0
Điệu này là chú ấy định tán gái @@, gửi file cho em nào nhập dữ liệu sau đó nó tự động hiện lên sheet đinh show ấy mà.
 
Upvote 0
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 ...
 
Upvote 0
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 đó.
 
Upvote 0
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 !
 
Upvote 0
FYR: Simple is the best --=0
CTRL+PgUp Switches between worksheet tabs, from left-to-right.
CTRL+PgDn Switches between worksheet tabs, from right-to-left.
 
Upvote 0
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ì.
 
Upvote 0
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 ?".
 
Upvote 0
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 tôi hiểu thì bạn có thế này:
1. Trên Sheet1 có CommandButton1

2. Code
Mã:
Private Sub CommandButton1_Click()
'    làm việc gì đó vd. chuyển sang sheet "bí mật". Ở đây vd. là hiển thị MsgBox
    MsgBox "hichic"
    Range("A1").Select
End Sub

3. Bình thường bạn nhấn chuột vào CommandButton1 thì sẽ có việc được thực hiện. Bây giờ bạn muốn là không nhấn nút nữa mà thay vào đó là nhấn phím Enter để thực hiện cũng việc đó? Bạn muốn nhấn phím thay nhấn nút vì bạn nghịch, vì bạn lường trước là một ngày đẹp trời ...
---------------
Nếu là nghịch ngợm thì tôi đề nghị thế này

1. Giả sử bạn nhìn xa trông rộng và lường trước tình huống là một ngày đẹp trời chuột bị hỏng. Bạn sẽ làm việc chỉ với bàn phím thôi.

2. Tôi đề nghị không đụng chạm tới Enter. Chả nhẽ cái nút trên xe xúc thường dùng để khi nhấn thì gầu sẽ xúc đất mà bạn muốn từ giờ trở đi nhấn nó thì sẽ phát nhạc? Để rồi phải thuê người làm cái việc xúc đất kia?

3. Tôi đề nghị dùng vd. phím "z": thẻ Developer --> Design Mode --> chuột phải lên CommandButton1 và chọn "Properties" --> Accelerator = z --> tắt Design Mode

Từ lúc này nhấn Alt + z sẽ có MsgBox.

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
 
Upvote 0
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.
 
Upvote 0
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 !
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
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 đó.

. .
 
Lần chỉnh sửa cuối:
Upvote 0
bạn thử cái này:

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)
 
Upvote 0
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

@hoangtrong_vbnd

đã 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)

thanks!
 
Upvote 0
@hoangtrong_vbnd

đã 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)

thanks!
bạn có thể chỉ cách làm như cái bảng đó ko ... hoặc share cho mình biết cách làm
thanks
 
Upvote 0
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.
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom