Cần giúp khắc phục Code bị Debug (Lấy ô D4 nhân với ô bên cạnh trái của ô hiện hành) (2 người xem)

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

hung2412

Thành viên tích cực
Tham gia
5/8/08
Bài viết
934
Được thích
240
Giới tính
Nam
Xin chào các bạn GPE!
Nhờ các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Có Code:
[GPECODE=vb]Sub Text()
[D4]=400
Dim rng As Range
Set rng = [D4]
ActiveCell = "=RC[-1]*" & rng.Address & ""
End Sub[/GPECODE]
=> Code trên thể hiện ô D4 có giá trị là 400. Gán ô D4 đó vào biến rng (Dim rng As Range). Lấy ô D4 đã gán vào biến rng đó nhân với ô bên cạnh bên trái của ô hiện hành (ActiveCell) => Code bị Debug tại dòng 5 => Không hiểu là tại làm sao.
Mong các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
P/s: Có 01 File đính kèm.
 

File đính kèm

Xin chào các bạn GPE!
Nhờ các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Có Code:
[GPECODE=vb]Sub Text()
[D4]=400
Dim rng As Range
Set rng = [D4]
ActiveCell = "=RC[-1]*" & rng.Address & ""
End Sub[/GPECODE]
=> Code trên thể hiện ô D4 có giá trị là 400. Gán ô D4 đó vào biến rng (Dim rng As Range). Lấy ô D4 đã gán vào biến rng đó nhân với ô bên cạnh bên trái của ô hiện hành (ActiveCell) => Code bị Debug tại dòng 5 => Không hiểu là tại làm sao.
Mong các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
P/s: Có 01 File đính kèm.

Mã:
ActiveCell = "=RC[-1]*" & rng[B][U][I].Address[/I][/U][/B] & ""
chỗ tô đậm này thấy hơi lạ
 
Upvote 0
Mã:
ActiveCell = "=RC[-1]*" & rng[B][U][I].Address[/I][/U][/B] & ""
chỗ tô đậm này thấy hơi lạ
Tôi thử Code như thế này thì lại chạy được (Đã bỏ RC đi):
PHP:
ActiveCell = "= " & rng.Address & ""
=> Chứng tỏ chỗ đậm là đúng.
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi thử Code như thế này thì lại chạy được (Đã bỏ RC đi):
PHP:
ActiveCell = "= " & rng.Address & ""
=> Chứng tỏ chỗ đậm là đúng.
...................................................................................................................................................
 
Lần chỉnh sửa cuối:
Upvote 0
[COLOR=#000000 đã viết:
Tôi thử Code như thế này thì lại chạy được (Đã bỏ RC đi):[/COLOR]
PHP Code:
ActiveCell = "= " & rng.Address & ""


=> Chứng tỏ chỗ đậm là đúng.

Nếu bạn muốn cho ô kết quả hiển thị cả công thức thì như này là đc:

Mã:
ActiveCell = "=" & ActiveCell.Offset(, -1).Address & "*" & rng.Address
 
Upvote 0
...................................................................................................................................................
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi thử Code như thế này thì lại chạy được (Đã bỏ RC đi):
PHP:
ActiveCell = "= " & rng.Address & ""
=> Chứng tỏ chỗ đậm là đúng.
Bạn xoá chỗ tô đậm xem thế nào. ( Dùng riêng cho bài này )
---
Không biết là bạn muốn kết quả thu được là như thế nào
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn xoá chỗ tô đậm xem thế nào. ( Dùng riêng cho bài này )
Đã xóa chỗ đậm:
PHP:
ActiveCell = "=RC[-1]*" & rng & ""
=> Ô ActiveCell sẽ thành là = RC[-1]*400 => Không phải là công thức để thể hiện tính toán.
Không biết là bạn muốn kết quả thu được là như thế nào
Mong muốn của tôi là:
- Ô ActiveCell có công thức để thể hiện tính toán (Ô bên cạnh bên trái nhân với ô D4).
- Code ở #1 xoay quanh
PHP:
ActiveCell = "=RC[-1]*"& rng.Address & ""
 
Upvote 0
Đã xóa chỗ đậm:
PHP:
ActiveCell = "=RC[-1]*" & rng & ""
=> Ô ActiveCell sẽ thành là = RC[-1]*400 => Không phải là công thức để thể hiện tính toán.

Mong muốn của tôi là:
- Ô ActiveCell có công thức để thể hiện tính toán (Ô bên cạnh bên trái nhân với ô D4).
- Code ở #1 xoay quanh
PHP:
ActiveCell = "=RC[-1]*"& rng.Address & ""

Có lẽ là tiêu đề của bạn và cái kết quả bạn muốn có là không ăn nhập gì với nhau cả.
"Cần giúp khắc phục Code bị Debug" Theo tôi hiểu chỉ là xử lý để hết lỗi code chứ không ghi rõ cần kết quả cuối cùng thể hiện cái gì?
 
Upvote 0
Có lẽ là tiêu đề của bạn và cái kết quả bạn muốn có là không ăn nhập gì với nhau cả.
"Cần giúp khắc phục Code bị Debug" Theo tôi hiểu chỉ là xử lý để hết lỗi code chứ không ghi rõ cần kết quả cuối cùng thể hiện cái gì?
Tôi không biết viết như thế nào để thể hiện hết nội dung cần diễn đạt. Tôi dốt nên mong bạn thông cảm.
 
Upvote 0
Đã xóa chỗ đậm:
PHP:
ActiveCell = "=RC[-1]*" & rng & ""
=> Ô ActiveCell sẽ thành là = RC[-1]*400 => Không phải là công thức để thể hiện tính toán.

Mong muốn của tôi là:
- Ô ActiveCell có công thức để thể hiện tính toán (Ô bên cạnh bên trái nhân với ô D4).
- Code ở #1 xoay quanh
PHP:
ActiveCell = "=RC[-1]*"& rng.Address & ""

Tại sao lại phải phức tạp hóa vấn đề thế nhỉ ?
Kết quả mà bạn cần có lẽ chỉ là
Mã:
Sub Text()
    ActiveCell = "=RC[-1]*" & [d4]
End Sub
 
Upvote 0
Tại sao lại phải phức tạp hóa vấn đề thế nhỉ ?
Kết quả mà bạn cần có lẽ chỉ là
Mã:
Sub Text()
    ActiveCell = "=RC[-1]*" & [d4]
End Sub
Nếu thế thì tôi cũng không cần lập pic làm gì. Chỉ là như #1 có được hay không mà thôi (Nghĩa là vừa xài dạng RC kết hợp với Address có được hay không mà thôi).
 
Upvote 0
Nếu thế thì tôi cũng không cần lập pic làm gì. Chỉ là như #1 có được hay không mà thôi (Nghĩa là vừa xài dạng RC kết hợp với Address có được hay không mà thôi).

Code #1 của bạn là
Mã:
Sub Text()
[D4]=400
Dim rng As Range
[COLOR=#ff0000][B]Set rng = [D4][/B][/COLOR]
ActiveCell = "=RC[-1]*" & [COLOR=#ff0000][B]rng.Address[/B][/COLOR] & ""
End Sub

Câu lệnh Set rng = [D4] cho kết quả là 400

Vậy 400 thì làm gì có địa chỉ ? nên câu lệnh rng.Address là sai (vô nghĩa) và cái đuôi & "" là thừa.

Nếu sửa câu ActiveCell = "=RC[-1]*" & rng.Address & "" thành ActiveCell = "=RC[-1]*" & rng thì OK và nó cho kết quả như ActiveCell = "=RC[-1]*" & [d4] Vậy thì việc gì phải lòng vòng với 3 câu trên.
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu thế thì tôi cũng không cần lập pic làm gì. Chỉ là như #1 có được hay không mà thôi (Nghĩa là vừa xài dạng RC kết hợp với Address có được hay không mà thôi).

Nói chung là được nếu tùy biến addresss bạn thử code này xem sao

ActiveCell = "=RC[-1]*" & rng.Address(, , 2) ' số 2 có thể thay thế thành xlR1C1 sẽ chính xác hơn
 
Upvote 0
Nói chung là được nếu tùy biến addresss bạn thử code này xem sao

ActiveCell = "=RC[-1]*" & rng.Address(, , 2) ' số 2 có thể thay thế thành xlR1C1 sẽ chính xác hơn
Tôi chân thành cảm ơn bạn đã chỉ giáo.
Mà tôi thấy có số 2 hay là xlR1C1 thì chạy đúng cả mà, khác nhau như thế nào nhỉ?.
 
Upvote 0
Tôi chân thành cảm ơn bạn đã chỉ giáo.
Mà tôi thấy có số 2 hay là xlR1C1 thì chạy đúng cả mà, khác nhau như thế nào nhỉ?.

Trong đối số thứ 3 có 2 giá trị tham chiếu đó là xlA1, xlR1C1 trong đó xlA1 excel quy định là 1, xlR1C1 quy định là -4150 nên đánh số 2 cũng không sao
 
Upvote 0

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

Back
Top Bottom