Nhờ viết code chọn dòng đầu và dòng cuối khi bấm vào tiêu đề. (1 người xem)

  • Thread starter Thread starter iloveit
  • Ngày gửi Ngày gửi
Liên hệ QC

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

iloveit

Thành viên thường trực
Tham gia
2/3/13
Bài viết
212
Được thích
52
Giới tính
Nam
Nghề nghiệp
Tự do
Nhờ anh chị và các bạn giúp tôi viết dòng code như sau: Khi ta nhấp chuột vào tiêu đề của cột nào thì sẽ tự chọn cell cuối có dữ liệu trong cột đó. Khi nhấp lần nữa thì lại chọn cell đầu có dữ liệu trong cột đó.

Cám ơn mọi người.
 

File đính kèm

Nhờ anh chị và các bạn giúp tôi viết dòng code như sau: Khi ta nhấp chuột vào tiêu đề của cột nào thì sẽ tự chọn cell cuối có dữ liệu trong cột đó. Khi nhấp lần nữa thì lại chọn cell đầu có dữ liệu trong cột đó.

Cám ơn mọi người.

Mục đích CHỌN vậy để mần chi? Để nhìn chơi thôi à?
 
Upvote 0
Mục đích CHỌN vậy để mần chi? Để nhìn chơi thôi à?

Không anh. Vì dữ liệu em rất nhiều cột (tầm 27 cột) mà trong mỗi cột thì có cột dữ liệu ít khoảng vài dòng, có cột dữ liệu rất nhiều khoảng vài chục dòng cho nên mới có nhu cầu trên. Mục địch là xuống dòng cuối cho nhanh tại cột đó và di chuyển nhanh về dòng đầu trong cột đó.
 
Upvote 0
Không anh. Vì dữ liệu em rất nhiều cột (tầm 27 cột) mà trong mỗi cột thì có cột dữ liệu ít khoảng vài dòng, có cột dữ liệu rất nhiều khoảng vài chục dòng cho nên mới có nhu cầu trên. Mục địch là xuống dòng cuối cho nhanh tại cột đó và di chuyển nhanh về dòng đầu trong cột đó.
Chả cần code kiếc gì sất tại tiêu đề cột nào ấn Ctrl + mũi tên xuống để tìm dòng cuối có dữ liệu. Sau đó ấn Ctrl + mũi tên lên để trở về dòng đầu. Hết
 
Upvote 0
Chả cần code kiếc gì sất tại tiêu đề cột nào ấn Ctrl + mũi tên xuống để tìm dòng cuối có dữ liệu. Sau đó ấn Ctrl + mũi tên lên để trở về dòng đầu. Hết

Nếu CSDL không chuẩn thì nên xài macro sự kiện này, thử xem:
PHP:
Option Explicit
Dim Dòng As Long
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Dòng = 0 Then Dòng = 255
 If Not Intersect(Target, Range([A2], [A2].End(xlToRight))) Is Nothing Then
    Cells(Cells.Rows.Count, Target.Column).End(xlUp).Select
    Dòng = Target.Column
 ElseIf Target.Column = Dòng Then
    Cells(2, Dòng).Select
    Dòng = 255
 End If
End Sub
 
Upvote 0
Mục đích CHỌN vậy để mần chi? Để nhìn chơi thôi à?

Người ta làm yêu cầu này là vì mới nghĩ ra thôi, chưa kịp suy cho chính chắn hậu quả của nó.
1. Chỉ vì lười biếng bấm phím mà phải mang một cái macro sự kiện. Vừa không thể save file dang xlsx, vừa bị mấy cái hệ thống đòi hỏi mở macro này nọ, vừa tốn năng lươn bắt sự kiện.
2. Quan trọng hơn, sau khi gắn cái macro bắt sự kiện rồi, mỗi lần click đâu đó lại phải coi chừng có chuyện xảy ra bất ngờ.
 
Upvote 0
Người ta làm yêu cầu này là vì mới nghĩ ra thôi, chưa kịp suy cho chính chắn hậu quả của nó.
1. Chỉ vì lười biếng bấm phím mà phải mang một cái macro sự kiện. Vừa không thể save file dang xlsx, vừa bị mấy cái hệ thống đòi hỏi mở macro này nọ, vừa tốn năng lươn bắt sự kiện.
2. Quan trọng hơn, sau khi gắn cái macro bắt sự kiện rồi, mỗi lần click đâu đó lại phải coi chừng có chuyện xảy ra bất ngờ.


1. File thực tế còn nhiều macro khác nên chắc chắn k thể lưu dạng xlsx được rồi.
 
Upvote 0
1. File thực tế còn nhiều macro khác nên chắc chắn k thể lưu dạng xlsx được rồi.

Khi một file có nhiều macro rồi thì lại càng tránh thêm mấy trò lặt vặt, dẫn đến tình trạng không kiểm soát nổi.

Ba cái thủ thuật bắt sự kiện để tự động có nhiều khả năng tương khắc nhau, hoặc tương ứng nhau, cái này chồng cái kia, kết quả không biết đâu mà lường.
 
Upvote 0
Nếu CSDL không chuẩn thì nên xài macro sự kiện này, thử xem:
PHP:
Option Explicit
Dim Dòng As Long
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Dòng = 0 Then Dòng = 255
 If Not Intersect(Target, Range([A2], [A2].End(xlToRight))) Is Nothing Then
    Cells(Cells.Rows.Count, Target.Column).End(xlUp).Select
    Dòng = Target.Column
 ElseIf Target.Column = Dòng Then
    Cells(2, Dòng).Select
    Dòng = 255
 End If
End Sub

Khi click chọn cell cuối thì được, click lần nữa chọn cell đầu thì bị vàng dòng này:
If Not Intersect(Target, Range([A2], [A2].End(xlToRight))) Is Nothing Then
 
Upvote 0
Khi nhấp vào tiêu đề, chọn dòng cuối. Muốn trở lại dòng đầu thì lại nhấp vào tiêu đề. Phải không?
Rất tiếc, nếu có vài chục dòng thì lúc xuống dòng cuối, cái tiêu đề bị cuốn mất rồi, lấy đâu mà nhấp nữa.
 
Upvote 0
Khi nhấp vào tiêu đề, chọn dòng cuối. Muốn trở lại dòng đầu thì lại nhấp vào tiêu đề. Phải không?
Rất tiếc, nếu có vài chục dòng thì lúc xuống dòng cuối, cái tiêu đề bị cuốn mất rồi, lấy đâu mà nhấp nữa.

Nếu nhu cầu như vậy thì chắc chắn phải sử dụng Freeze rồi.
 
Upvote 0

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

Back
Top Bottom