Làm sao để lấy dữ liệu từ 1 sheet vào 1 sheet (khác workbook) (1 người xem)

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

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

dvu58

Thành viên thường trực
Tham gia
29/4/07
Bài viết
298
Được thích
378
Tôi thường xuyên phải làm thống kê số liệu về trường, lớp, giáo viên, học sinh cho gần 30 trường tiểu học, gần 20 trường THCS và trên 20 trường mầm non.

Tôi đã làm:
Tạo ra 1 workbookbao gồm:
Các Sheet: TONGHOP MN; TONGHOP TH; TONGHOP THCS.
Và các sheet: Truong MN1,...., TruongMN25; tương tự: TruongTH1,...., TruongTH30 và TruongTHCS1,...., TruongTHCS20.
Workbook này là "của tôi, do tôi và vì tôi"

Sau đó, tôi xẻ ra thành nhiều file (dĩ nhiên là *.xls) có chứa sheet có cùng cấu trúc, cùng tên gởi về các trường nhập dữ liệu (VD: Workbook có sheet :'TruongMN1' gởi cho trường Mầm non số 1 (hoặc có 1 tên nào đó)).

Tôi xin hỏi:

Khi nhận lại file đã có dữ liệu, tôi cần làm gì để import được toàn bộ dữ liệu vào cái workbook "của tôi, do tôii và vì tôi" đó nhỉ?
(Lưu ý: Sheet TONGHOP có chứa công thức để truy cập và cộng chung tất cả các trường mầm non, tiểu học, THCS)

Tôi đã dùng thủ thuật Move or Copy... sheet nhưng sau khi copy sheet thì tôi cần phải bỏ cái sheet ở workbook của tôi, thay tên cái sheet vừa copy đó để đúng địa chỉ truy cập của sheet TONGHOP. Tuy nhiên, khi xoá cái sheet kia thì Sheet TONGHOP sẽ xuất hiện #REF! - Như thế thì lại phải replace rất mất công.


TB
Trình bày dài dòng quá. Xin các bạn cảm phiền nhé. Tóm lại là có cách nào để import dữ liệu cho cái worbook "của tôi, do tôi và vì tôi" đó không? Mong các bạn mách nước. Cảm ơn các bạn nhiều lắm.
(Xin đừng la tôi rằng: "Hãy tìm kiếm vấn đề này trên diễn đàn trước đã!" nhé. Vì tôi chưa tìm ra vấn đề này)
 
Bác dvu58 này chắc đang công tác tại tổ vi tính của Phòng giáo dục rồi.
Anh gởi File Tổng hợp của anh và file của vài trường, như vậy sẽ dễ hình dung hơn. Em nghĩ sẽ có cách thôi.

Thân !
 
Ông này làm ở bộ phận Thống kê-Tổng hợp PGD-ĐT.
Một cách đơn giản là copy dữ liệu từ file của các trường và paste tương ứng vào các sheet trong file tổng hợp.
Để chuyên nghiệp hơn thì VBA hoá quá trình trên.
 
tedaynui đã viết:
Bác dvu58 này chắc đang công tác tại tổ vi tính của Phòng giáo dục rồi.
Anh gởi File Tổng hợp của anh và file của vài trường, như vậy sẽ dễ hình dung hơn. Em nghĩ sẽ có cách thôi.

Thân !

Cảm ơn tedaynui, đúng là mình đang công tác ở Phòng Giáo Dục nhưng hổng phải là ở bộ phận "chống kê", mà mình phụ trách chuyên môn. Chẳng là, chả có sư phụ nào làm dùm cho cái "chống kê" nên bị sếp gí, đành.... "liều mình ra tay, chống kê bao lần".

Bạn thử xem có cách nào không nhé. Mình định tải lên nhưng mấy cái file này lớn quá, nén lại cũng vẫn lớn (chứa nhiều công thức và của quá nhiều đơn vị).

Ờ, hay là mình tạo 1 cái tượng trưng thôi nghe, sẽ "up" sau.
Mình xin lỗi, vì bây giờ phải đi làm rồi.

Thân! (Mình đoán tedaynui cũng là đồng nghiệp rồi)
 
chibi đã viết:
Ông này làm ở bộ phận Thống kê-Tổng hợp PGD-ĐT.
Một cách đơn giản là copy dữ liệu từ file của các trường và paste tương ứng vào các sheet trong file tổng hợp.
Để chuyên nghiệp hơn thì VBA hoá quá trình trên.

Chibi ơi, bạn lại gây khó khăn cho mình rồi.
Cách này là cách mình vẫn hay làm. Nhưng ...
Khổ nỗi là có nhiều vùng công thức cần phải protect. Làm kiểu này cực lắm, ai ơi!
 
dvu58 đã viết:
Chibi ơi, bạn lại gây khó khăn cho mình rồi.
Cách này là cách mình vẫn hay làm. Nhưng ...
Khổ nỗi là có nhiều vùng công thức cần phải protect. Làm kiểu này cực lắm, ai ơi!

Bác nên chia data riêng, cái mà các trường nhập vào sẽ có 1 Data có cấu trúc giống hệt cấu trúc Sheet Data của bác. (trên Data thì hầu như không có công thức hoặc có rất ít).

Sau khi các trường gửi về thì dùng VBA copy tất cả vào data của bác.
Chú ý : Vì gộp vào chung tất cả nên trong cấu trúc Data của bác phải có một cột là "MATRUONG" để sau này làm việc với từng trường dễ dàng. Khi Copy vào thì mã trường nào đi với trường tương ứng.

Việc này rất đơn giản và dễ dàng.

Thân!
 
Gởi dvu58
Đúng là đồng nghiệp rồi. Không biết file của anh thế nào. Nhưng PGD bên em thường gởi các file thống kê về từng trường, dung lượng nhỏ xíu hà. Sau đó nhận lại của các trường và dùng VBA đưa vào 1 file Tổng Hợp cũng nhỏ xíu luôn. Tất cả đều thực hiện qua mail mà.

Nếu file lớn quá, anh nén 1 file tổng hợp và khoảng 3 file của trường gởi qua dangduyphuoc@gmail.com cho em.

Thân !
TDN
 
các bác có thể đưa lên diễn đàn để anh em học hỏi được không,em cũng đang muốn biết về vấn đề này
 
tedaynui đã viết:
Gởi dvu58
Đúng là đồng nghiệp rồi. Không biết file của anh thế nào. Nhưng PGD bên em thường gởi các file thống kê về từng trường, dung lượng nhỏ xíu hà. Sau đó nhận lại của các trường và dùng VBA đưa vào 1 file Tổng Hợp cũng nhỏ xíu luôn. Tất cả đều thực hiện qua mail mà.

Nếu file lớn quá, anh nén 1 file tổng hợp và khoảng 3 file của trường gởi qua dangduyphuoc@gmail.com cho em.

Thân !
TDN
Cái vụ này có thể áp dụng cho nhiều nghề chứ không phải riêng gì ở các đồng nghiệp ở các PGD đâu bạn ơi, đề nghị giải quyết trên diễn đàn cho anh em học tập với.
 
Nếu như có mạng LAN thì việc làm tương tự như thế thực hiện dc rất dễ dàng
 
tedaynui đã viết:
Gởi dvu58
Đúng là đồng nghiệp rồi. Không biết file của anh thế nào. Nhưng PGD bên em thường gởi các file thống kê về từng trường, dung lượng nhỏ xíu hà. Sau đó nhận lại của các trường và dùng VBA đưa vào 1 file Tổng Hợp cũng nhỏ xíu luôn. Tất cả đều thực hiện qua mail mà.

Nếu file lớn quá, anh nén 1 file tổng hợp và khoảng 3 file của trường gởi qua dangduyphuoc@gmail.com cho em.

Thân !
TDN


Mình đã gởi cho bạn rồi. file DVU58.rar (1,643K).
Nhờ bạn giúp nhé. Cảm ơn rất nhiều.
Thân
 
dvu58 đã viết:
Mình đã gởi cho bạn rồi. file DVU58.rar (1,643K).
Nhờ bạn giúp nhé. Cảm ơn rất nhiều.
Thân
Chào anh
Em đã nhận được File anh gởi. Nhưng em nghĩ có lẽ cần bổ sung thêm tí.

1/ Thêm phần danh mục trường. ví dụ
Nguyễn Đình CHiểu ------ NDC
Phan Chu Trinh --------- PCT
Bùi Thị Xuân ------------ BTX
và theo file Tổng Hợp của anh thì tên mỗi sheet là mã của trường đó.

2/ Khi đó, anh chỉ cần có 1 File hay Sheet mẫu thống kê. Dùng Macro tạo ra hàng loạt file gởi về các trường (có trong danh mục trường) để công việc nhẹ nhàng hơn

3/ Khi anh gởi file về các trường thì tên file là tên trường, tên sheet là mã trường. Như vậy khi tổng hợp về, anh chép vào 1 thư mục. Tạo 1 Macro lấy data từ các file này về File Tổng Hợp của anh.

Anh thử xem ví dụ dưới đây xem cách giải quyết này có hợp lý không. Nếu được, em sẽ lồng Macro này vào File Tổng Hợp của anh.

Thân!
TDN
 

File đính kèm

tedaynui đã viết:
Chào anh
Em đã nhận được File anh gởi. Nhưng em nghĩ có lẽ cần bổ sung thêm tí.

1/ Thêm phần danh mục trường. ví dụ
Nguyễn Đình CHiểu ------ NDC
Phan Chu Trinh --------- PCT
Bùi Thị Xuân ------------ BTX
và theo file Tổng Hợp của anh thì tên mỗi sheet là mã của trường đó.

2/ Khi đó, anh chỉ cần có 1 File hay Sheet mẫu thống kê. Dùng Macro tạo ra hàng loạt file gởi về các trường (có trong danh mục trường) để công việc nhẹ nhàng hơn

3/ Khi anh gởi file về các trường thì tên file là tên trường, tên sheet là mã trường. Như vậy khi tổng hợp về, anh chép vào 1 thư mục. Tạo 1 Macro lấy data từ các file này về File Tổng Hợp của anh.

Anh thử xem ví dụ dưới đây xem cách giải quyết này có hợp lý không. Nếu được, em sẽ lồng Macro này vào File Tổng Hợp của anh.

Thân!
TDN

Cảm ơn tedaynui, ý tưởng của bạn hay quá.
Nhưng mình còn băn khoăn bởi các vấn đề sau:
1. Các ô (vùng) dữ liệu thô rời rạc, không liên tục xen kẽ với các vùng công thức tính toán, xử lý có trong mỗi Sheet.
2. Các Sheet bị protect các vùng công thức (các vùng dữ liệu không khoá)

Liệu có lấy dữ liệu qua được không?

Chúc bạn vui, khoẻ
Thân
 
dvu58 đã viết:
Cảm ơn tedaynui, ý tưởng của bạn hay quá.
Nhưng mình còn băn khoăn bởi các vấn đề sau:
1. Các ô (vùng) dữ liệu thô rời rạc, không liên tục xen kẽ với các vùng công thức tính toán, xử lý có trong mỗi Sheet.
2. Các Sheet bị protect các vùng công thức (các vùng dữ liệu không khoá)
Liệu có lấy dữ liệu qua được không?
Thân
1/ Vùng dữ liệu rời rạc thì mình chọn vùng rộng hơn (bao phủ tất cả)

2/ Chỉ copy và Paste Value vào file Tổng hợp để file này nhẹ hơn.
File các trường có Protect thì cũng không ảnh hưởng gì.
Còn File Tổng hợp thì không cần Protect các sheet này vì đâu dùng công thức. Nếu muốn Protect thì cũng được thôi : dùng VBA Unprotect, sau đó thực hiện công việc copy, rồi lại dùng VBA Protect trở lại.

Thân!
TDN
 
cho em hỏi là ngoài cách dùng VBA ra còn có cách nào khác nữa không, em thấy trong box Excel dành cho người mới bắt đầu có đề cập đến chuyện dùng hàm indirect mà em không làm được, em có hỏi mà vẫn chưa thấy ai trả lời. Mong các bác thông cảm, em cũng mới nghiên cứu về excel nên chưa biết dùng VBA
 
connhangheo đã viết:
cho em hỏi là ngoài cách dùng VBA ra còn có cách nào khác nữa không, em thấy trong box Excel dành cho người mới bắt đầu có đề cập đến chuyện dùng hàm indirect mà em không làm được, em có hỏi mà vẫn chưa thấy ai trả lời. Mong các bác thông cảm, em cũng mới nghiên cứu về excel nên chưa biết dùng VBA
Chắc không thể dùng hàm Indirect rồi, vì dùng hàm này trên các file khác nhau thì những file này phải đồng thời được mở. nếu không nó sẽ #REF (Hình như dùng Name nhưng chưa thử) Nhưng nếu dùng hàm mà liên kết dữ liệu mấy chục file thì nặng nề lắm. Ngoài ra, muốn đem file Tổng Hợp đi đâu thì cũng phải vác mấy chục file ấy đi theo.... nhiều bất tiện lắm.

Thân!
TDN
 
tình hình này em fải học VBA gấp mới được
 
Các bác có phương pháp nào để giải quyết vấn đề này thông qua mail không. Nếu các trường sau khi nhập liệu xong, gửi qua mail, mình dùng VBA để import số vào data để xử lý.
Mong bác tedaynui gửi đoạn code xử lý "Sau đó nhận lại của các trường và dùng VBA đưa vào 1 file Tổng Hợp cũng nhỏ xíu luôn. Tất cả đều thực hiện qua mail mà..." cho anh em nghiên cứu với.
Nếu có thể làm ơn gửi cho tôi qua địa chỉ giaosy@yahoo.com.vn
Cảm ơn các bác nhiều.
 
tedaynui đã viết:
1/ Vùng dữ liệu rời rạc thì mình chọn vùng rộng hơn (bao phủ tất cả)

2/ Chỉ copy và Paste Value vào file Tổng hợp để file này nhẹ hơn.
File các trường có Protect thì cũng không ảnh hưởng gì.
Còn File Tổng hợp thì không cần Protect các sheet này vì đâu dùng công thức. Nếu muốn Protect thì cũng được thôi : dùng VBA Unprotect, sau đó thực hiện công việc copy, rồi lại dùng VBA Protect trở lại.

Thân!
TDN

OK, bạn giúp dùm mình đi nhé.

Thân
 
Gửi các bạn tham khảo cách mà mình vẫn dùng để thống kê từ các đơn vị.
Mô tả: Tất cả chứa trong thư mục THONGKE. Tệp chính có tên là Main.xls gồm: Main - Chứa giao diện, dstruong - Danh sách các trường, dulieu - Chứa dữ liệu được nạp vào, tke - Thống kê tổng hợp. Các tệp của các trường được copy vào thư mục THONGKE\DATA.
Ví dụ ở đây có 5 trường và thống kê mỗi trường có 3 ô số liệu.
 

File đính kèm

Tui nghĩ vấn đề này cũng đâu có gì khó mà.
Ví dụ:
1. Trong workbook anh có 3 sheet TH, và 20 sheet Trường. Sheet TH thì link các sheet Trường.
2. Anh dùng Move or Copy.. để move mỗi trường thành 1 file riêng (nhớ không click vào ô "create a copy" - vì anh move sheet thành file chứ không copy)
3. Khi anh save file từng trường lưu ý file chứa sheet TH đang mở. Sau đó save file TH này. (Như vậy file TH này đang link đến 20 file các Trường)
4. Anh copy 20 file đó gởi đi 20 trường.
5. Khi họ chuyển trả lại, anh chỉ copy file của từng Trường vào thư mục anh lưu ban đầu (copy và lưu chồng lên)
6. Anh mở file TH, file từng trường, thì lúc này khi anh mở file Trường nào, thì file TH đã link vào. Anh save file TH lại và làm báo cáo TH cũng được. Còn không thì anh vào file từng Trường, chọn move a copy, và move về file TH (không chọn "create a copy"). Như vậy là xong.

* Còn bây giờ lúc trước anh lỡ copy rồi, thì anh lấy file Mẫu ban đầu ra, thực hiện lại bước 2, 3.
Sau đó lấy file các đơn vị gởi về, copy và save chồng lên (thực hiện các bước 5, 6.)

Vài ý kiến đóng góp với anh.
Thân!
 
@ Gởi Hieplv3010
Thật ra theo góp ý của bạn thì Dvu58 đã thực hiện lâu nay. Nhưng nếu làm như vậy thì có rất nhiều yếu điểm : vô cùng vất vả, nhiều công sức và dễ sai sót. Các file có dung lượng lớn, đôi khi lại gặp lỗi liên kết.....

Mình đã gởi file cho Dvu58 (xin lỗi, vì dung lượng file lớn nên gởi qua mail - thật ra cũng gần giống như file ví dụ mà mình đã Up ở bài #12) và chắc Dvu58 cũng đang làm cho nó hoàn thiện hơn. Vì không chuyên nên rất chuối nhưng trước mắt chỉ cần giải quyết được vấn đề cho công việc nhẹ nhàng hơn tí qua cú nhấp chuột. Từ việc tự tạo file Tkê mẫu cho các trường, việc cập nhật số liệu từ các file đang đóng ...

@ Mong Anh Dvu58 bổ sung và góp ý thêm.

Thân!
TDN
 
Lần chỉnh sửa cuối:
hieplv3010 đã viết:
Tui nghĩ vấn đề này cũng đâu có gì khó mà.
Ví dụ:
1. Trong workbook anh có 3 sheet TH, và 20 sheet Trường. Sheet TH thì link các sheet Trường.
2. Anh dùng Move or Copy.. để move mỗi trường thành 1 file riêng (nhớ không click vào ô "create a copy" - vì anh move sheet thành file chứ không copy)
3. Khi anh save file ..........

hieplv3010 thân.

Cách làm như vậy mình đã có trình bày sơ khởi ban đầu, rất nhiều khó khăn, không hiệu quả đâu.

Bạn tedaynui đã có cách làm rất hay (kể cả ý tưởng và kỹ thuật, không "củ chuối" chút nào đâu!) và đã có bài gởi giới thiệu ý tưởng, bạn xem thử. Tất nhiên là khi áp dụng vào từng điều kiện, hoàn cảnh cụ thể theo địa phương của mình bạn cần phải điều chỉnh cho phù hợp.

Chỉ cần bấm nút 1 phát là .....OK, xong hết.

Cảm ơn bạn tedaynui nhiều lắm lắm.
Thân.
 
Tiếp theo vấn đề lấy dữ liệu từ sheet vào sheet

Xin post thành quả của tedaynui và của mình lên chia sẻ cùng các bạn nhé!

* Sau khi nhận các file báo cáo (đã có dữ liệu) từ các trường gởi lên, copy vào thư mục DATA - Sau đó nhấn vào nút "cập nhật dữ liệu"
 

File đính kèm

Lần chỉnh sửa cuối:
Ủa sao hôm trước File gần 2Mb, sao hôm nay còn 174Kb vậy ta ? Hỏng lẻ mình nhìn nhầm. (???)
 
File rất hay, cám ơn tedaynui và dvu58 đã post bài.
 
dvu58 đã viết:
....Nhưng mình còn băn khoăn bởi các vấn đề sau:
1. Các ô (vùng) dữ liệu thô rời rạc, không liên tục xen kẽ với các vùng công thức tính toán, xử lý có trong mỗi Sheet.
.........
Thân
Không biết có hiểu đúng ý bạn khg? Nhưng theo tôi, khi dữ liệu thô rời rạc, không liên tục thì ta vẫn copy từng vùng vậy, có thể code không đẹp nhưng vẫn giải quyết được.
Còn để code đẹp hơn ta dùng Copy.Areas.
Mã:
Sub copy_2_PasteSpecial()
    Dim destrange As Range
    Dim smallrng As Range
    Application.ScreenUpdating = False
    For Each smallrng In Sheets("Sheet1"). _
        Range("a1:c10,e12:g17").Areas
        Set destrange = Sheets("Sheet2").Range("A" & _
                        LastRow(Sheets("Sheet2")) + 1)
        smallrng.Copy
        destrange.PasteSpecial xlPasteValues, , False, False
        Application.CutCopyMode = False
    Next smallrng
    Application.ScreenUpdating = True
End Sub
 

Sub copy_2_Values_ValueProperty()
    Dim destrange As Range
    Dim smallrng As Range
    For Each smallrng In Sheets("Sheet1"). _
        Range("a1:c10,e12:g17").Areas
        With smallrng
            Set destrange = Sheets("Sheet2").Range("A" & _
                LastRow(Sheets("Sheet2")) + 1).Resize( _
                .Rows.Count, .Columns.Count)
        End With
        destrange.Value = smallrng.Value
    Next smallrng
End Sub

Hai đoạn code trên của http://www.rondebruin.nl/tips.htm
 
Còn muốn copy Areas mà vẫn giử được vị trí tương đối giửa source va dest thì có thể tham khảo code của j-walk
Mã:
Option Explicit

Sub CopyMultipleSelection()
    Dim SelAreas() As Range
    Dim PasteRange As Range
    Dim UpperLeft As Range
    Dim NumAreas As Integer, i As Integer
    Dim TopRow As Long, LeftCol As Integer
    Dim RowOffset As Long, ColOffset As Integer
    Dim NonEmptyCellCount As Integer
    
'   Exit if a range is not selected
    If TypeName(Selection) <> "Range" Then
        MsgBox "Select the range to be copied. A multiple selection is allowed."
        Exit Sub
    End If
    
'   Store the areas as separate Range objects
    NumAreas = Selection.Areas.Count
    ReDim SelAreas(1 To NumAreas)
    For i = 1 To NumAreas
        Set SelAreas(i) = Selection.Areas(i)
    Next
    
'   Determine the upper left cell in the multiple selection
    TopRow = ActiveSheet.Rows.Count
    LeftCol = ActiveSheet.Columns.Count
    For i = 1 To NumAreas
        If SelAreas(i).Row < TopRow Then TopRow = SelAreas(i).Row
        If SelAreas(i).Column < LeftCol Then LeftCol = SelAreas(i).Column
    Next
    Set UpperLeft = Cells(TopRow, LeftCol)
    
'   Get the paste address
    On Error Resume Next
    Set PasteRange = Application.InputBox _
      (Prompt:="Specify the upper left cell for the paste range:", _
      Title:="Copy Mutliple Selection", _
      Type:=8)
    On Error GoTo 0
'   Exit if canceled
    If TypeName(PasteRange) <> "Range" Then Exit Sub

'   Make sure only the upper left cell is used
    Set PasteRange = PasteRange.Range("A1")
    
'   Check paste range for existing data
    NonEmptyCellCount = 0
    For i = 1 To NumAreas
        RowOffset = SelAreas(i).Row - TopRow
        ColOffset = SelAreas(i).Column - LeftCol
        NonEmptyCellCount = NonEmptyCellCount + _
            Application.CountA(Range(PasteRange.Offset(RowOffset, ColOffset), _
            PasteRange.Offset(RowOffset + SelAreas(i).Rows.Count - 1, _
            ColOffset + SelAreas(i).Columns.Count - 1)))
    Next i
    
'   If paste range is not empty, warn user
    If NonEmptyCellCount <> 0 Then _
        If MsgBox("Overwrite existing data?", vbQuestion + vbYesNo, _
        "Copy Multiple Selection") <> vbYes Then Exit Sub

'   Copy and paste each area
    For i = 1 To NumAreas
        RowOffset = SelAreas(i).Row - TopRow
        ColOffset = SelAreas(i).Column - LeftCol
        SelAreas(i).Copy PasteRange.Offset(RowOffset, ColOffset)
    Next i
End Sub
 
Nếu không muốn open file, mà chỉ lấy dử liệu thì dùng thử (cũng của j-walk)
Mã:
Option Explicit


Private Function GetValue(path, file, sheet, ref)
'   Retrieves a value from a closed workbook
'path:  The drive and path to the closed file (e.g., "d:\files")
'file:  The workbook name (e.g., "99budget.xls")
'sheet: The worksheet name (e.g., "Sheet1")
'ref:   The cell reference (e.g., "C4")

    Dim arg As String

'   Make sure the file exists
    If Right(path, 1) <> "\" Then path = path & "\"
    If Dir(path & file) = "" Then
        GetValue = "File Not Found"
        Exit Function
    End If

'   Create the argument
    arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
      Range(ref).Range("A1").Address(, , xlR1C1)

'   Execute an XLM macro
    GetValue = ExecuteExcel4Macro(arg)
End Function
Sub TestGetValue()
'D:\PTC  CloseIniFileToVBA.xls Sheet1 B3

Dim p As String, f As String, s As String, a As String
    p = "D:\PTC"
    f = "CloseIniFileToVBA.xls"
    s = "Sheet1"
    a = "B3"
    MsgBox GetValue(p, f, s, a)
End Sub
Sub TestGetValue2()
 'reads 1,200 values (100 rows and 12 columns) from a closed file, and places the values into the active worksheet.
    Dim p As String, f As String, s As String, a As String
    Dim r As Integer, c As Integer
    'hay lam , dung file de dua may cai duong dan, ten file nay vao 18Oct2007
    p = "D:\PTC"
    f = "CloseIniFileToVBA.xls"
    s = "Sheet1"
    Application.ScreenUpdating = False
    For r = 1 To 100
        For c = 1 To 12
            a = Cells(r, c).Address
            Cells(r, c) = GetValue(p, f, s, a)
        Next c
    Next r
    Application.ScreenUpdating = True
End Sub
Sub thu()
Dim ref
'Range("A1").Address(, , xlR1C1) 'bi loi
'ref = Range("b1").Range("A1").Address(, , xlR1C1) '  : ref : "R1C2" : Variant/String
ref = Range("A1").Address(, , xlR1C1) '  : ref : "R1C1" : Variant/String
End Sub
 

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

Back
Top Bottom