Cần viết Code thể hiện ô B1 có chữ là "Xin chào" với đường dẫn D:\Cong viec\A.xls (1 người xem)

  • Thread starter Thread starter hung2412
  • Ngày gửi Ngày gửi
Liên hệ QC

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
929
Được thích
240
Giới tính
Nam
Xin chào các Anh chị và các bạn GPE!
Nhờ các Anh chị và các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Trong File A.xls (Chỉ có 1 Sheet)
có đường dẫn trong máy tính là D:\Cong viec\A.xls có ô B1 chứa nội dung là "Xin chào" được thể hiện qua hình vẽ:
1.png
Để viết Code ô B1 có nội dung là "Xin chào" thì tôi xài Code:
PHP:
?.WorkBooks("A.xls").sheets(1).[B1]= "Xin chào"
=> Vấn đề được đặt ra ở đây là: Để viết Code thể hiện ô B1 có nội dung là "Xin chào" trong File A.xls có đường dẫn là D:\Cong viec\A.xls thì chỗ ? được viết như thế nào?
Mong các Anh chị và các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
 
Bạn đang ở 1 file khác?
Kịch bản code có thể như sau:
- Mở file A với đường dẫn như trên: Worrkbooks.open "D:\Cong viec\A.xls"
- Gán chữ xin chào vào [B1] ở Sheet1: ActiveWorkbooks.Activesheet.[B1] = "Xin Chao"
- Rồi đóng file A lại: ActiveWorkbooks.Close 1
Không biết có đúng ý bạn ko?
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn đang ở 1 file khác?
Kịch bản code có thể như sau:
- Mở file A với đường dẫn như trên
- Gán chữ xin chào vào [B1] ở dheet1
- Rồi đóng file A lại
Không biết có đúng ý bạn ko?
Tôi diễn đạt có phần lủng củng. Có 2 tình huống:
- Tôi đang ở File A.xls (File A đang mở), gán chữ "Xin chào" vào ô B1 ở chính File A.xls thông qua việc chạy Code (Code này phải thể hiện đường dẫn là D:\Cong viec\A.xls.
- Tôi đang ở File B.xls, link công thức với ô B1 ở File A.xls có chữ "Xin chào" vào ô E3 ở File B.xls đang mở (Quan trọng là không phải mở File A.xls lên).
 
Upvote 0
Tôi diễn đạt có phần lủng củng. Có 2 tình huống:
- Tôi đang ở File A.xls (File A đang mở), gán chữ "Xin chào" vào ô B1 ở chính File A.xls thông qua việc chạy Code (Code này phải thể hiện đường dẫn là D:\Cong viec\A.xls.
- Tôi đang ở File B.xls, link công thức với ô B1 ở File A.xls có chữ "Xin chào" vào ô E3 ở File B.xls đang mở (Quan trọng là không phải mở File A.xls lên).

- Với gạch đầu dòng 1: nếu là đang mở rồi thì gán trực tiếp luôn, sao phải thể hiện đường dẫn làm j nhỉ? tôi ko hiểu ý lắm
- Với gạch đầu dòng thứ 2: Mở xong đóng, chắc chỉ vài % s thôi, có thể coi như là ko mở (kịch bản code xem lại bài #3). Còn đúng nghĩa đen là không mở file lên vẫn gán được giá trị thì tôi chưa có cách.
 
Upvote 0
- Với gạch đầu dòng 1: nếu là đang mở rồi thì gán trực tiếp luôn, sao phải thể hiện đường dẫn làm j nhỉ? tôi ko hiểu ý lắm
- Với gạch đầu dòng thứ 2: Mở xong đóng, chắc chỉ vài % s thôi, có thể coi như là ko mở (kịch bản code xem lại bài #3). Còn đúng nghĩa đen là không mở file lên vẫn gán được giá trị thì tôi chưa có cách.
Với ý thứ nhất thì không thực tế nên bỏ qua vậy.
Với ý thứ hai thì không mở file A.xls lên mà vẫn gán được giá trị cho File B.xls là điều tôi đang quan tâm.
 
Upvote 0
Với ý thứ nhất thì không thực tế nên bỏ qua vậy.
Với ý thứ hai thì không mở file A.xls lên mà vẫn gán được giá trị cho File B.xls là điều tôi đang quan tâm.

Lấy dữ liệu từ file đang đóng? Chờ người biết ADO.
Gán dữ liệu vào file đang đóng? Gán vào rồi làm sao lưu nó lại? Không lưu thì gán làm gì? Chắc ADO cũng "tèo".
(Chờ HLMT có ý kiến xem sao)
 
Upvote 0
Lấy dữ liệu từ file đang đóng? Chờ người biết ADO.
Gán dữ liệu vào file đang đóng? Gán vào rồi làm sao lưu nó lại? Không lưu thì gán làm gì? Chắc ADO cũng "tèo".
(Chờ HLMT có ý kiến xem sao)
Lấy dữ liệu từ file đang đóng là File A.xls rồi gán vào File B.xls (File này mở chứ không đóng) ạ.
 
Upvote 0
Lấy dữ liệu từ file đang đóng là File A.xls rồi gán vào File B.xls (File này mở chứ không đóng) ạ.
Tôi làm mẫu thử cập nhật và lấy dữ liệu đang đóng A.xls tại file B.xls như sau:

1. Code lấy dữ liệu:

Mã:
Sub LayDL()
    Dim cn As Object, rst As Object
    Set cn = CreateObject("adodb.connection")
    cn.Open ("provider=microsoft.jet.oledb.4.0; data source=" & ThisWorkbook.Path & "\A.xls" & _
             "; extended properties=""Excel 8.0;hdr=no"";")
    Set rst = cn.Execute("select F1 from [Sheet1$B1:B1] ")
    Sheet1.Range("E3").CopyFromRecordset rst
End Sub

2. Code cập nhật dữ liệu:

Mã:
Sub CapNhatDL()
    Dim cn As Object
    Set cn = CreateObject("adodb.connection")
    cn.Open ("provider=microsoft.jet.oledb.4.0; data source=" & ThisWorkbook.Path & "\A.xls" & _
             "; extended properties=""Excel 8.0;hdr=no"";")
    cn.Execute("update [Sheet1$B1:B1] set F1='" & Sheet1.Range("E4") & "'")
    LayDL
End Sub

Xem thêm file đính kèm
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Lấy dữ liệu từ file đang đóng là File A.xls rồi gán vào File B.xls (File này mở chứ không đóng) ạ.

Vậy mình "chơi lụi" kiểu này được không ta?
Từ file B.xls
Public Sub GPE()
With ActiveSheet
.[C1].FormulaR1C1 = "='D:\LinhTinh\[A.xls]Sheet1'!R1C1"
.[C1].Value = .[C1].Value
End With
End Sub
Tôi làm mẫu thử cập nhật và lấy dữ liệu đang đóng A.xls tại file B.xls như sau:

2. Code cập nhật dữ liệu:

Mã:
Sub CapNhatDL()
    Dim cn As Object
    Set cn = CreateObject("adodb.connection")
    cn.Open ("provider=microsoft.jet.oledb.4.0; data source=" & ThisWorkbook.Path & "\A.xls" & _
             "; extended properties=""Excel 8.0;hdr=no"";")
    cn.Execute("update [Sheet1$B1:B1] set F1='" & Sheet1.Range("E4") & "'")
    LayDL
End Sub

Xem thêm file đính kèm

Lợi hại, lợi hai cái update.
 
Lần chỉnh sửa cuối:
Upvote 0
Xin chào các Anh chị và các bạn GPE!
Nhờ các Anh chị và các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Trong File A.xls (Chỉ có 1 Sheet)
có đường dẫn trong máy tính là D:\Cong viec\A.xls có ô B1 chứa nội dung là "Xin chào" được thể hiện qua hình vẽ:
View attachment 146771
Để viết Code ô B1 có nội dung là "Xin chào" thì tôi xài Code:
PHP:
?.WorkBooks("A.xls").sheets(1).[B1]= "Xin chào"
=> Vấn đề được đặt ra ở đây là: Để viết Code thể hiện ô B1 có nội dung là "Xin chào" trong File A.xls có đường dẫn là D:\Cong viec\A.xls thì chỗ ? được viết như thế nào?
Mong các Anh chị và các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
nếu lấy dữ liệu [B1] file A.xls thì thử code sau cho gọn nha (Code File B.xls)
PHP:
Sub ABC_LayDL()
    Sheet1.Range("E3") = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\" & "[A.xls]Sheet1'!R1C2")
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom