Hỏi về truy xuất dữ liệu qua tên

Liên hệ QC

download9719

Thành viên mới
Tham gia
4/5/08
Bài viết
18
Được thích
1
Xin chào các bác!
Em mới chập chững học lập trình VBA cho Excel, có vấn đề này mong các bác chỉ dẫn.

- Giả sử em đặt tên cho vùng A1:B5 là Data. (giả sử từ A1 đến B5 đều chứa giá trị số)
- Khi muốn truy xuất dữ liệu từ A1:B5 qua tên Data, em phải dùng lệnh gì?
(Vd: nếu muốn xét giá trị tại A1 có giá trị là bao nhiêu chẳng hạn?)

※Em đã search trên diễn đàn nhưng không tìm thấy...
 
Xin chào các bác!
Em mới chập chững học lập trình VBA cho Excel, có vấn đề này mong các bác chỉ dẫn.

- Giả sử em đặt tên cho vùng A1:B5 là Data. (giả sử từ A1 đến B5 đều chứa giá trị số)
- Khi muốn truy xuất dữ liệu từ A1:B5 qua tên Data, em phải dùng lệnh gì?
(Vd: nếu muốn xét giá trị tại A1 có giá trị là bao nhiêu chẳng hạn?)

※Em đã search trên diễn đàn nhưng không tìm thấy...

sử dụng Range("Data") bạn ah, cụ thể thế này:
PHP:
Dim Rgn As Range

 Set Rgn = Range("Data")

Sau đó sd Rgn là đối tượng vùng (range) thông thường
.
 
Upvote 0
Mã:
Sub LayDuLieu()
      Dim Rng As Range
      Set Rng = Range("Data")
      Range("A10").Select
     ActiveCell.Value = Rng(4, 3) '4 la thu tu hang, 3 la thu tu cot can truy xuat cua Rng
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bác tigertiger và bác anhphuong nhiều!

Theo chỉ dẫn của 2 bác, em đã hiểu và thực hành được rồi.
Trong lúc làm có gì không hiểu, em xin nhờ các bác chỉ dẫn tiếp.
 
Upvote 0
Ah, xin lỗi cho em hỏi thêm một chút nữa!

- Có 2sheet, sheet1 và sheet2
- Ở sheet2 đặt tên vùng B1:B2 là Data

Như thế, lệnh sau đây sẽ bị báo lỗi
Set Rgn = Range("Data") '(code này em viết trong vùng code Sheet1(Sheet1) )

→Có phải la do code ở Sheet1, nên trình biên dịch không hiểu Name Data ở Sheet2 không ạ?
Muốn giải quyết vấn đề này phải lam thế nào, mong các bác chỉ giúp!
 
Upvote 0
Ah, xin lỗi cho em hỏi thêm một chút nữa!

- Có 2sheet, sheet1 và sheet2
- Ở sheet2 đặt tên vùng B1:B2 là Data

Như thế, lệnh sau đây sẽ bị báo lỗi
Set Rgn = Range("Data") '(code này em viết trong vùng code Sheet1(Sheet1) )

→Có phải la do code ở Sheet1, nên trình biên dịch không hiểu Name Data ở Sheet2 không ạ?
Muốn giải quyết vấn đề này phải lam thế nào, mong các bác chỉ giúp!

sao bạn không cho vào module viết cho nó chuẩn (trong VBE Insert \ module)

trên GPE có bạn vấn đề này rùi, bạn search xem
.
 
Upvote 0
Theo chỉ dẫn của bác, em đã thực hành như sau và cho kết quả tổt!
- Trong Module em viết một hàm để truy xuất đến dữ liệu trong vùng có đã được đặt tên là Data
- Trong code ở Sheet1, ứng với sự kiện (giả sử là Worksheet_Change), em gọi hàm đã viết trong Module

→Em có chút thắc mắc là, không cấn thông qua sự kiện trong code ở Sheet1, có cách nào em xử lý trực tiếp trong code ở Module không?
(※Nói cách khác, có cách nào để toàn bộ code đều được viết trong Module)

Mong các bác chỉ giúp!
 
Upvote 0
T
→Em có chút thắc mắc là, không cấn thông qua sự kiện trong code ở Sheet1, có cách nào em xử lý trực tiếp trong code ở Module không?
(※Nói cách khác, có cách nào để toàn bộ code đều được viết trong Module)

Mong các bác chỉ giúp!

-> thì bạn dùng chức năng nút bấm (button) / hoặc là gán phím tắt chạy macro / hoặc gán chạy macro (assign macro) cho 1 shape nào đó (đối tượng vẽ HCN, ellipse, circle,...)... rồi click chạy
TUY vậy
nếu mún tự động thay đổi (gắn với sự kiện Worksheet_Change) thì phải làm như bạn thui,
.
Thường người ta viết code hoàn toàn ở module ở sheet chỉ để bắt sự kiện và viết lệnh gọi hàm (function) / hay Sub trong module....
 
Lần chỉnh sửa cuối:
Upvote 0
minh cung muon hoi cach truy vấn dữ liệu từ sql server sang excell????
bác nòa biết giúp nha thank's
 
Upvote 0
Web KT

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

Back
Top Bottom