VBA - Vùng động - Tham chiếu bằng cách nào? (1 người xem)

Liên hệ QC

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

khongaicanobody

Thành viên mới
Tham gia
23/1/10
Bài viết
38
Được thích
5
Kính gửi diễn đàn

Trong Excel tôi muốn viết code để copy một vùng và paste ở trỗ khác. Tuy nhiên Vùng tôi muốn copy là một vùng động mà tôi xác định được thông qua biến i, ví dụ như từ A1:E(i). Như vậy tôi phải viết hàm range như thế nào để cho đúng cú pháp? hay phải làm thế nào để tham chiếu đến 1 vùng động?
Hiện nay tôi đã viết : Range(R10C1:RC9).Copy nhưng máy báo lỗi (tất nhiên là vậy).

Cám ơn anh anh chị.
 
Kính gửi diễn đàn

Trong Excel tôi muốn viết code để copy một vùng và paste ở trỗ khác. Tuy nhiên Vùng tôi muốn copy là một vùng động mà tôi xác định được thông qua biến i, ví dụ như từ A1:E(i). Như vậy tôi phải viết hàm range như thế nào để cho đúng cú pháp? hay phải làm thế nào để tham chiếu đến 1 vùng động?
Hiện nay tôi đã viết : Range(R10C1:RC9).Copy nhưng máy báo lỗi (tất nhiên là vậy).

Cám ơn anh anh chị.

Thử cách này nha. Copy đoạn code này vào và chạy thử sẽ thấy hiệu ứng của nó
PHP:
Sub test()
Dim MySelection
Set MySelection = Application.InputBox("Nhap Vung Can Copy", "Vung Du Lieu", Default, 100, 100, , , 8)
MySelection.Copy
End Sub
 
Upvote 0
Range("A1:E" & i).Copy
 
Upvote 0
Kính gửi diễn đàn

Trong Excel tôi muốn viết code để copy một vùng và paste ở trỗ khác. Tuy nhiên Vùng tôi muốn copy là một vùng động mà tôi xác định được thông qua biến i, ví dụ như từ A1:E(i). Như vậy tôi phải viết hàm range như thế nào để cho đúng cú pháp? hay phải làm thế nào để tham chiếu đến 1 vùng động?
Hiện nay tôi đã viết : Range(R10C1:RC9).Copy nhưng máy báo lỗi (tất nhiên là vậy).

Cám ơn anh anh chị.


Nguyên tắc để truyền 1 tham số vào biến thì phải sử dụng " & : ví dụ
PHP:
Range("A1","E" & i ) hay Range("A1","E" & i &"")
 
Upvote 0
Kính gửi diễn đàn

Trong Excel tôi muốn viết code để copy một vùng và paste ở trỗ khác. Tuy nhiên Vùng tôi muốn copy là một vùng động mà tôi xác định được thông qua biến i, ví dụ như từ A1:E(i). Như vậy tôi phải viết hàm range như thế nào để cho đúng cú pháp? hay phải làm thế nào để tham chiếu đến 1 vùng động?
Hiện nay tôi đã viết : Range(R10C1:RC9).Copy nhưng máy báo lỗi (tất nhiên là vậy).

Cám ơn anh anh chị.

Chắc bạn cần cái này :

Sub chon()
Dim i As Integer
i = Range("A65536").End(xlUp).Row
Range("A1:E" & i).Select
End Sub
(nhờ mod xóa bài của mình đi , lúc mình post bài chưa thấy bài của thày PTM và Hungpecc1)
 
Lần chỉnh sửa cuối:
Upvote 0
Chắc bạn cần cái này :

Sub chon()
Dim i As Integer
i = Range("A65536").End(xlUp).Row
Range("A1:E" & i).Select
End Sub
(nhờ mod xóa bài của mình đi , lúc mình post bài chưa thấy bài của thày PTM và Hungpecc1)

Không cần xóa bài đâu! Cố gắng nhanh hơn mấy cao thủ ấy nhé!
 
Upvote 0
Upvote 0
Các bác ơi, cho hỏi tý nữa với. Khi mình dùng Range, thì các cell đã bị merge là không thực hiện được, máy báo lỗi hoài. Có cách nào làm được không ạ?

Cám ơn
 
Upvote 0
Các bác ơi, cho hỏi tý nữa với. Khi mình dùng Range, thì các cell đã bị merge là không thực hiện được, máy báo lỗi hoài. Có cách nào làm được không ạ?

Cám ơn

Bạn đưa cái file đó lên xem mới biết xử lý như thế nào. Nói chung chung không biết hình dung thế nào.
 
Upvote 0
Anh xem file đính kèm nhé.

Đúng ra trong sheet "NhânHng" các ô C3 : E3, C4 : E4 và C5:I6 là merge cell. nhưng máy cứ báo lỗi đoạn cuối, Range("C3:C4, C5, G4, B10:I61").ClearContents hoài nên tôi phải unmerge đi.

Cám ơn anh.
 
Upvote 0
Upvote 0
Anh xem file đính kèm nhé.

Đúng ra trong sheet "NhânHng" các ô C3 : E3, C4 : E4 và C5:I6 là merge cell. nhưng máy cứ báo lỗi đoạn cuối, Range("C3:C4, C5, G4, B10:I61").ClearContents hoài nên tôi phải unmerge đi.

Cám ơn anh.

Đoạn cuối nó báo lỗi như thế nào ? thông tin cụ thể như thế nào ?,theo mình vấn đề ClearContents không phụ thuộc vào Mergecell,
 
Upvote 0
Đoạn cuối nó báo lỗi như thế nào ? thông tin cụ thể như thế nào ?,theo mình vấn đề ClearContents không phụ thuộc vào Mergecell,

Có 1 câu lệnh à, sao bạn không thử trước rồi hãy trả lời.
Anh xem file đính kèm nhé.

Đúng ra trong sheet "NhânHng" các ô C3 : E3, C4 : E4 và C5:I6 là merge cell. nhưng máy cứ báo lỗi đoạn cuối, Range("C3:C4, C5, G4, B10:I61").ClearContents hoài nên tôi phải unmerge đi.

Cám ơn anh.
Bạn thử thay bằng câu lệnh này xem
Mã:
Range("C3:C4, C5, G4, B10:I61").value = ""
 
Upvote 0
Nguyên tắc để truyền 1 tham số vào biến thì phải sử dụng " & : ví dụ
PHP:
Range("A1","E" & i ) hay Range("A1","E" & i &"")

Đề tài đã lâu nhưng mình đang tìm hiểu mà chưa hiểu lắm. Mong bạn giải thích dùm cách sử dụng " &. Tại sao trong câu lệnh thứ 2 phải dùng 2 dấu &? Thân cảm ơn!
 
Upvote 0
Đề tài đã lâu nhưng mình đang tìm hiểu mà chưa hiểu lắm. Mong bạn giải thích dùm cách sử dụng " &. Tại sao trong câu lệnh thứ 2 phải dùng 2 dấu &? Thân cảm ơn!
& theo mình là tách cái cố định với biến (thay đổi). Vấn đề 2 dấu & thì & thứ 2 là để ngăn cách cái biên i và cái cố định "". Thực chất "" là rỗng, & "" --> rỗng. mình thấy viết cái này hơi thừa. Có lẽ anh hungpecc1 viết thế để tường minh: vd như kiểu Range("A1", "E5") - tức là có " sau cùng
 
Upvote 0
Web KT

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

Back
Top Bottom