Lấy dữ liệu từ Cells đưa vào code

Liên hệ QC

Thaiduc

Thành viên hoạt động
Tham gia
13/3/07
Bài viết
118
Được thích
6
Nhờ chỉ giúp cách đưa dữ liệu từ cells thì trong code đã viết sẽ thể hiện nội dung đã nhập từ Cells.
Ví dụ:
Cells A1 nhập vào BANG A.Xls
thi code:
Private Sub CmdMOFILE_Click()
Application.ScreenUpdating = False
With Workbooks.Open(ThisWorkbook.Path & "\BANG A.xls")
End With
Application.ScreenUpdating = True
End Sub
Nếu Cells A1 nhập vào BANG B.Xls
thì code sẽ thay đổi: With Workbooks.Open(ThisWorkbook.Path & "\BANG B.xls")
Rất mong các anh, chị giúp (Đây là ý tưởng nên không có file, mong thông cảm).
 
With Workbooks.Open(ThisWorkbook.Path & "\" & [A1])
 
Upvote 0
Nhờ chỉ giúp cách đưa dữ liệu từ cells thì trong code đã viết sẽ thể hiện nội dung đã nhập từ Cells.
Ví dụ:
Cells A1 nhập vào BANG A.Xls
thi code:
Private Sub CmdMOFILE_Click()
Application.ScreenUpdating = False
With Workbooks.Open(ThisWorkbook.Path & "\BANG A.xls")
End With
Application.ScreenUpdating = True
End Sub
Nếu Cells A1 nhập vào BANG B.Xls
thì code sẽ thay đổi: With Workbooks.Open(ThisWorkbook.Path & "\BANG B.xls")
Rất mong các anh, chị giúp (Đây là ý tưởng nên không có file, mong thông cảm).

Ý tưởng gì chứ, người ta làm nhiều rồi bạn ạ.
Bạn có thể liệt kê nhiều tên file trong cùng thư mục với file hiện hành ra bảng tính ở vị trí bất kỳ (nếu không cần chọn kiểu file thì cũng không cần nhập đuôi .xls) , muốn mở file nào bạn đặt con trỏ vào ô đó rồi chạy code sau:

Mã:
Workbooks.Open (ThisWorkbook.Path & "\" & Selection)

Nếu không muốn tạo thêm nút mở file thì gắn nó vào sự kiện nào đó của Sheet, Ví dụ:
PHP:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = 1
    Workbooks.Open (ThisWorkbook.Path & "\" & Selection)
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Ý tưởng gì chứ, người ta làm nhiều rồi bạn ạ.
Bạn có thể liệt kê nhiều tên file trong cùng thư mục với file hiện hành ra bảng tính ở vị trí bất kỳ (nếu không cần chọn kiểu file thì cũng không cần nhập đuôi .xls) , muốn mở file nào bạn đặt con trỏ vào ô đó rồi chạy code sau:

Mã:
Workbooks.Open (ThisWorkbook.Path & "\" & Selection)

Nếu không muốn tạo thêm nút mở file thì gắn nó vào sự kiện nào đó của Sheet, Ví dụ:
PHP:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = 1
    Workbooks.Open (ThisWorkbook.Path & "\" & Selection)
End Sub
Cái chổ Selection ấy, thà anh ghi là Range("A1").Value hoặc Cells(1,1).Value sẽ chắc ăn hơn
Ai mà biết được trước khi bấm CommandButton, người ta đã chọn sang 1 cell nào đó (không phải A1) và cell đó trống không thì.. chết
------------
Hoặc nếu anh dùng sự kiện BeforeDoubleClick, anh ghi thêm dòng
Mã:
[COLOR=#ff0000]If Target.Address = "$A$1" then[/COLOR]
   Cancel = 1
   Workbooks.Open (ThisWorkbook.Path & "\" & [COLOR=#ff0000]Target.Value)[/COLOR]
End If
Sẽ ổn vô cùng
 
Lần chỉnh sửa cuối:
Upvote 0
Cái chổ Selection ấy, thà anh ghi là Range("A1").Value hoặc Cells(1,1).Value sẽ chắc ăn hơn
Ai mà biết được trước khi bấm CommandButton, người ta đã chọn sang 1 cell nào đó (không phải A1) và cell đó trống không thì.. chết
------------
Hoặc nếu anh dùng sự kiện BeforeDoubleClick, anh ghi thêm dòng
Mã:
[COLOR=#ff0000]If Target.Address = "$A$1" then[/COLOR]
   Cancel = 1
   Workbooks.Open (ThisWorkbook.Path & "\" & [COLOR=#ff0000]Target.Value)[/COLOR]
End If
Sẽ ổn vô cùng

Ý tôi là dùng Selection để có thể đặt tên file ở bất kỳ ô nào. Còn nhất thiết phải ở ô A1 thì ở bài trên quanghai đã nói rồi.
 
Upvote 0
Ý tôi là dùng Selection để có thể đặt tên file ở bất kỳ ô nào. Còn nhất thiết phải ở ô A1 thì ở bài trên quanghai đã nói rồi.

Vâng! Em hiểu chứ!
Nhưng dù là vậy thì em vẫn thấy hình như thiếu thiếu... E rằng phải có 1 công đoạn kiểm tra đường dẫn tại Selection xem có tồn tại hay không. Hoặc ít ra thì On Error Resume Next ở đầu code ---> Chắc gì Selection của ta chứa 1 đường dẫn hợp lệ ---> hợp lệ nghĩa là đường dẫn ấy phải dẫn đến 1 file Excel nào đó (file loại khác không tính) và đường dẫn ấy phải tồn tại
 
Upvote 0
Web KT
Back
Top Bottom