Nguyễn Khánh Ly
Nguyễn Khánh Ly
Thảo luận 28 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 101 lượt xem

ActiveCellOffset(45)Range("A1)Selectchỗ range("A1") sao lại có nghĩa là 1 cột 1 dòng

ActiveCell.Offset(4,5).Range("A1).Select
chỗ range("A1") sao lại có nghĩa là 1 cột 1 dòng ạ


Thảo luận 28 câu trả lời
Lượt xem 101 lượt xem
Vỗ tay vỗ tay
Nguyễn Khánh Ly 14:01 - Jan 12, 2022

Chào bạn bạn có thể di chuyển từ vị trí bắt đầu xuống 4 dòng và sang 5 dòng

Vỗ tay vỗ tay
Nguyễn Khánh Ly 14:01 - Jan 12, 2022

vị trí bắt đầu là ô active cell rồi mà sao còn chọn range("A1") ạ, e ko hiểu chỗ này

Vỗ tay vỗ tay
Nguyễn Khánh Ly 14:01 - Jan 12, 2022

Chào bạn bạn chỉ cần acvecell.offset(4,5).selet là được được nhé.

Vỗ tay vỗ tay
Nguyễn Khánh Ly 14:01 - Jan 12, 2022

ý e hỏi là range(A1) tượng trưng cho dòng 0 cột 0 , nghĩa là hàm offset tính đến đâu thì lấy giá thị tại đó luôn, còn nếu range(B2).select, thì từ ô trả giá trị tính thêm 1 dòng và 1 cột để cho ra kết quả phải k 

Vỗ tay vỗ tay
Nguyễn Khánh Ly 14:01 - Jan 12, 2022
khó hiểu quá ạ, 
đoạn code đó có nghĩa là : từ ô được chọn tính thêm 4 dòng và 5 cột thi trả giá trị tại G6 rồi mà sao còn thêm cái range("A1") nữa
Vỗ tay vỗ tay
Nguyễn Khánh Ly 14:01 - Jan 12, 2022
bỏ cái range("A1") e thấy nó vẫn chọn ô G6 mà
Vỗ tay vỗ tay
Nguyễn Khánh Ly 14:01 - Jan 12, 2022
e k hiểu cái range("A1") có ý nghĩa gì
Vỗ tay vỗ tay
Nguyễn Khánh Ly 14:01 - Jan 12, 2022

phần này nó chỉ quan tâm đến phần activecell thôi bạn nhé, bạn muốn cố định vị trí bạn làm như sau

Range("A1").Offset(4, 5).Select


Vỗ tay vỗ tay
Nguyễn Khánh Ly 15:01 - Jan 12, 2022

ý e hỏi là nếu có phần range() đứng ngay trước chữ select luôn thì A1 B1 C1 D1,......trong phần range này có nghĩa là gì ạ



Vỗ tay vỗ tay
Nguyễn Khánh Ly 15:01 - Jan 12, 2022
chẳng hạn như nếu mình muốn trả kết quả về 1 vùng thì trước select sẽ có ví dụ như : range("A1:B10") thì A1:B10 trong trường hợp này có ý nghĩa là gì ạ
Vỗ tay vỗ tay
Nguyễn Khánh Ly 15:01 - Jan 12, 2022

Phần range("A1") nghĩa là chọn 1 ô nhé.

Vỗ tay vỗ tay
Nguyễn Khánh Ly 15:01 - Jan 12, 2022

1 ô ở vị trí nào ạ, vì nếu là B1 thì cũng chọn 1 ô nhưng nó khác với A1
vậy A và B nghĩa là dòng còn những chữ số như 1,2 thể hiện cho cột hay sao ạ


Vỗ tay vỗ tay
Nguyễn Khánh Ly 15:01 - Jan 12, 2022

Chào bạn ở đây range("A1") nó nghĩa là chọn một ô thôi bạn nhé.

Vỗ tay vỗ tay
Nguyễn Khánh Ly 15:01 - Jan 12, 2022

Range("A1").Offset(3, 5).Range("A1").Select
Range("A1").Offset(3, 5).Range("B1").Select
2 cái code này cho ra kết quả như nhau hả Thầy



Vỗ tay vỗ tay
Nguyễn Khánh Ly 15:01 - Jan 12, 2022

Chào bạn đúng rồi bạn nhé A1 là vị trí đầu, B1 được hiểu là vị trí thứ 2

Vỗ tay vỗ tay
Nguyễn Khánh Ly 15:01 - Jan 12, 2022

Range("A1").Offset(3, 5). range(???).select
cái này e muốn trả giá trị về VÙNG 100 hàng 100 cột thì range trước select m nhập gì ạ



Vỗ tay vỗ tay
Nguyễn Khánh Ly 16:01 - Jan 12, 2022

Chào bạn bạn nhập như sau

Sheet1.Range("A1").Offset(3, 5).Range("A1:k100").Select

Nghĩa là sau khi từ ô A1 di chuyển 3 dòng và 5 cột thì nó coi ô đến là ô gốc toạ độ.



Vỗ tay vỗ tay
Nguyễn Khánh Ly 16:01 - Jan 12, 2022

100 hàng với 100 cột luôn mà Thầy, nhập như thầy nó ra 100 dòng chứ k ra 100 cột


Vỗ tay vỗ tay
Nguyễn Khánh Ly 16:01 - Jan 12, 2022

vì e thấy cái này chỉ áp dụng cho số cột nhỏ, chứ cột lớn quá không nhập được,

vì chữ cái tượng trưng cho số cột, A tượng trưng cho cột chính nó, B là dịch sang 1 cột, C dịch 2 cột, tương tự đến hết, mà cột 100 thì lại k biết là chữ cái nào

Vỗ tay vỗ tay
Nguyễn Khánh Ly 16:01 - Jan 12, 2022

Chào bạn bạn thay vị trí K kia là số cột là được.

Vỗ tay vỗ tay
Nguyễn Khánh Ly 16:01 - Jan 12, 2022

là như thế nào vậy thầy? 

Sheet1.Range("A1").Offset(3, 5).Range("A1:k100").Select 

code này chỉ hiện 100 dòng chứ k hiện 100 cột



Vỗ tay vỗ tay
Nguyễn Khánh Ly 17:01 - Jan 12, 2022

Bạn sửa cột K thành số khác cột khác là được mình vừa rồi đếm nhầm là 10 cột nên là K bạn có thể tăng thêm nhé đổi là L là 11 cứ như thế

Sheet1.Range("A1").Offset(3, 5).Range("A1:k100").Select  > 100 dòng và 10 cột

Sheet1.Range("A1").Offset(3, 5).Range("A1:L100").Select  > 100 dòng và 11 cột bạn muốn 100 cột thì tiến lên số cột là được

Vỗ tay vỗ tay
Nguyễn Khánh Ly 17:01 - Jan 12, 2022

e đang hỏi thầy làm sao để ra kết quả là vùng 100 hàng và 100 cột thì thầy trả lời là: Sheet1.Range("A1").Offset(3, 5).Range("A1:k100").Select 
nhưng kết quả k đúng, nên e mới hỏi code như nào mới đúng, giờ thay ntn thầy viết hộ e công thức với 


Vỗ tay vỗ tay
Nguyễn Khánh Ly 17:01 - Jan 12, 2022

Sheet1.Range("A1").Offset(3, 5).Range("A1:k100").Select  > 100 dòng và 10 cột

Sheet1.Range("A1").Offset(3, 5).Range("A1:L100").Select  > 100 dòng và 11 cột bạn muốn 100 cột thì tiến lên số cột

Sheet1.Range("A1").Offset(3, 5).Range("A1:CV100").Select >100 cột


Vỗ tay vỗ tay
Nguyễn Khánh Ly 17:01 - Jan 12, 2022

vậy la số cột mình phải tự tính theo chữ cái, hơi mất công nhỉ 

Vỗ tay vỗ tay
Nguyễn Khánh Ly 17:01 - Jan 12, 2022

Bạn có thể viết như sau lấy từ ô A1

Sheet1.Range("A1:" & Sheet1.Range("A1").Offset(100, 100).Address).Select


Vỗ tay vỗ tay
Nguyễn Khánh Ly 17:01 - Jan 12, 2022

vâng ạ, cảm ơn Thầy nhiều ạ, e mới học VBA nên lơ mơ lắm, phải hỏi kĩ để vững kiến thức áp dụng cho những phần sau, nên đôi lúc hỏi hơi nhiều, mong thầy thông cảm nhé

Vỗ tay vỗ tay
Nguyễn Khánh Ly 17:01 - Jan 12, 2022

Chúc bạn học tốt cùng gitiho

Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông