[Hỏi] Lệnh nào trong khi Form show để chọn và thao tác trên một cell? (1 người xem)

Liên hệ QC

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

Hoàng Trọng Nghĩa

Chuyên gia GPE
Thành viên BQT
Moderator
Tham gia
17/8/08
Bài viết
8,662
Được thích
16,720
Giới tính
Nam
Tôi có một UserForm (ShowModal=False) với một CommandButton, sự kiện của nút đó như sau:

Mã:
Private Sub CommandButton1_Click()
    ''Application.Goto Range("A1")
    Range("A1").Select
End Sub

Xin hỏi các Thầy, các bạn rằng có cách nào khi Form show và click vào nút lệnh thì không những ô A1 được chọn mà còn thao tác được trên ô đó trong khi Form vẫn show?
 

File đính kèm

Tôi có một UserForm (ShowModal=False) với một CommandButton, sự kiện của nút đó như sau:

Mã:
Private Sub CommandButton1_Click()
    ''Application.Goto Range("A1")
    Range("A1").Select
End Sub

Xin hỏi các Thầy, các bạn rằng có cách nào khi Form show và click vào nút lệnh thì không những ô A1 được chọn mà còn thao tác được trên ô đó trong khi Form vẫn show?
Không hiểu???
File của Nghĩa nó làm được đó thôi
 
Upvote 0
Không hiểu???
File của Nghĩa nó làm được đó thôi
File của anh Nghĩa nếu lần đầu nhấn vào button thì chọn được cell A1 và có thể thao tác nhưng nếu nhấn lần thứ 2 trở đi thì nó chỉ chọn được cell A1 thôi và không làm gì được với cell đó thấy ạ!
 
Upvote 0
File của anh Nghĩa nếu lần đầu nhấn vào button thì chọn được cell A1 và có thể thao tác nhưng nếu nhấn lần thứ 2 trở đi thì nó chỉ chọn được cell A1 thôi và không làm gì được với cell đó thấy ạ!

Máy tôi hổng có tình trạng này. Lần 1, lần 2.. hay lần n đều như nhau: thao tác được hết
 
Upvote 0
Không hiểu???
File của Nghĩa nó làm được đó thôi

Có nghĩa là nó vẫn select ô A1, nhưng cái Focus nó vẫn nằm trên Form, thay vì Enter lần 1 nút lênh thì nó chạy sự kiện, Enter lần 2 thì đã select xuống dòng 2, hoặc không Enter mà gõ chữ thì A1 sẽ nhận giá trị, cái Form vẫn nằm đó.
 
Upvote 0
Có nghĩa là nó vẫn select ô A1, nhưng cái Focus nó vẫn nằm trên Form, thay vì Enter lần 1 nút lênh thì nó chạy sự kiện, Enter lần 2 thì đã select xuống dòng 2, hoặc không Enter mà gõ chữ thì A1 sẽ nhận giá trị, cái Form vẫn nằm đó.

Có phải ý nghĩa là:
- Tôi cho hiện form lên
- Tôi bấm CommandButton ---> Cell A1 được chọn
- Bắt đầu từ lúc này tôi không được dùng chuột chọn cell A1 nữa, chỉ cần gõ chữ là sẽ nhập liệu được vào A1 ngay
Đúng không?
Thật ra lúc đầu tôi đã nghĩ Nghĩa hỏi về tình huống này, nhưng mà câu hỏi không có rõ ràng... Ẹc... Ẹc... món này người ta làm từ đời tám oánh nào đâu giờ còn đem ra đố
 
Upvote 0
Tiêu đề là hỏi nhưng nội dung thì dường như là đố nên cũng chả biết đường nào để mà trả lời.
 
Upvote 0
Có phải ý nghĩa là:
- Tôi cho hiện form lên
- Tôi bấm CommandButton ---> Cell A1 được chọn
- Bắt đầu từ lúc này tôi không được dùng chuột chọn cell A1 nữa, chỉ cần gõ chữ là sẽ nhập liệu được vào A1 ngay
Đúng không?
Thật ra lúc đầu tôi đã nghĩ Nghĩa hỏi về tình huống này, nhưng mà câu hỏi không có rõ ràng... Ẹc... Ẹc... món này người ta làm từ đời tám oánh nào đâu giờ còn đem ra đố
Không, em mới gặp trường hợp này lần đầu nên khá bất ngờ mà search trên mạng nó không đúng ý mình.

Khi ta bấm vào nút Show Form trên Cell, cái focus nó còn nằm ở đó nên khi form được show ta Enter lần đầu nó chạy về Sheet và Select ô A1, ta có thể sử dụng được A1. Tới khi ta dùng chuột bấm vào nút lệnh trên form, lúc này đây focus nó đã nằm trên form nên không thao tác được ở Sheet nữa.

Vậy phải làm sao đây cho nó đúng mọi trường hợp hả Thầy?
 
Upvote 0
Vậy giờ muốn sao đây? Muốn trả lời liền hay.. chờ (bởi vì những thành viên vài ngàn bài có thể biết vụ này)
Liền đi Thầy ơi, em thường lấy những tinh hoa của người khác lắp vào chương trình của mình (có ghi rõ nguồn gốc) nên mình làm cái nào không được thì nhờ người khác giúp ạ.
 
Upvote 0
Liền đi Thầy ơi, em thường lấy những tinh hoa của người khác lắp vào chương trình của mình (có ghi rõ nguồn gốc) nên mình làm cái nào không được thì nhờ người khác giúp ạ.

Trước giờ tôi hay dùng AppActivate Application
Mã:
Private Sub CommandButton1_Click()
 AppActivate Application
  Range("A1").Select
End Sub
Không biết còn cách nào khác nữa không?
 
Upvote 0
Trước giờ tôi hay dùng AppActivate Application
Mã:
Private Sub CommandButton1_Click()
 AppActivate Application
  Range("A1").Select
End Sub
Không biết còn cách nào khác nữa không?
Ây da, hôm qua em có search thấy câu lệnh này, hình như cũng là của anhtuan1066 nhưng không nghĩ ra, tưởng nó (AppActivate) là một cái biến, hay tên của thủ tục nào đó chứ không phải là câu lệnh. Để em thử xem. Cám ơn Thầy.
 
Upvote 0
Ây da, hôm qua em có search thấy câu lệnh này, hình như cũng là của anhtuan1066 nhưng không nghĩ ra, tưởng nó (AppActivate) là một cái biến nào đó chứ không phải là câu lệnh. Để em thử xem. Cám ơn Thầy.
nếu lệnh trên không có tác dụng thì tìm ngài AnhTuan1066 hỏi lại nhé =))
 
Upvote 0
Trước giờ tôi hay dùng AppActivate Application
Mã:
Private Sub CommandButton1_Click()
 AppActivate Application
  Range("A1").Select
End Sub
Không biết còn cách nào khác nữa không?
Trước giờ em vẫn làm vầy
Mã:
AppActivate Application.Name
Vì đối số của nó có kiểu là String nên không nghĩ là viết như anh cũng được.
 
Upvote 0
Trước giờ tôi hay dùng AppActivate Application
Mã:
Private Sub CommandButton1_Click()
 AppActivate Application
  Range("A1").Select
End Sub
Không biết còn cách nào khác nữa không?
vẫn chưa hết
Mã:
Private Sub CommandButton1_Click()
ThisWorkbook.VBProject.VBComponents("Sheet1").Activate
[A1].Select
End Sub
 
Upvote 0
Trước giờ em vẫn làm vầy
Mã:
AppActivate Application.Name
Vì đối số của nó có kiểu là String nên không nghĩ là viết như anh cũng được.

thật ra viết như #11 là sẽ bị Invalid procedured call ... ngay
nên mình nghĩ là muốn có câu lệnh đúng thì chủ topic này phải về Biên Hòa lần nữa chăng =)) --=0--=0--=0
 
Upvote 0
Trước giờ em vẫn làm vầy
Mã:
AppActivate Application.Name
Vì đối số của nó có kiểu là String nên không nghĩ là viết như anh cũng được.

Tôi biết vây mà (đọc Help là thấy). Có điều tôi cũng hay VỌC, thử bỏ cái .Name thấy nó được luôn nên CHƠI đến giờ
 
Upvote 0
Trước giờ em vẫn làm vầy
Mã:
AppActivate Application.Name
Vì đối số của nó có kiểu là String nên không nghĩ là viết như anh cũng được.

Thuộc tính Application.NAME là default - ngầm định. Nên khi đối tượng này được gọi lấy NAME thì có thể dùng =Application hoặc Application.NAME là như nhau. Thực ra thuộc tính ngầm định của Application là Application.[_Default] nhưng nó gọi thuộc tính NAME nên coi là NAME cũng như là default.
 
Upvote 0
thật ra viết như #11 là sẽ bị Invalid procedured call ... ngay
nên mình nghĩ là muốn có câu lệnh đúng thì chủ topic này phải về Biên Hòa lần nữa chăng =)) --=0--=0--=0
Không, đã thử rồi, cái đó (bài #11) vẫn chạy tốt, còn không biết trường hợp nào bị lỗi như bạn vậy?
 
Upvote 0
Web KT

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

Back
Top Bottom