Dùng Macro 4 để lấy dữ liệu từ 1 file đang đóng

vitl0veme0

Thành viên mới
Tham gia ngày
17 Tháng chín 2013
Bài viết
16
Được thích
0
Điểm
163
Tuổi
28
paste ra sheet khác Thì sửa lại code ...Code chạy Tốt mà không biết cứ hay nói linh tinh lung tung --=0--=0--=0
Hướng Dẫn: Đọc Kỹ lại Bài #1 là biết cách sử dụng
Đọc kỹ hướng dẫn sử dụng trước khi dùng ....Code giống như độc dược ấy...biết thì tốt ...không biết thì tèo (Lỗi)
hehe...ko biết mới phải nói ra để các bác chỉnh sửa cho chứ...ok e làm đc rồi ạ ^^
 

kieu manh

Thành viên gạo cội
Tham gia ngày
9 Tháng sáu 2012
Bài viết
3,292
Được thích
2,319
Điểm
560
Nơi ở
Bình Dương

langtuchungtinh360

Thành viên đã dừng hoạt động
Tham gia ngày
7 Tháng mười 2013
Bài viết
1,065
Được thích
320
Điểm
0
không biết lý do nữa bạn ...mình vào nó keo vậy mà
đây bác. media đây.
http://www.mediafire.com/download/z47aokxoxw902s2/câu_hỏi.rar
khỏi lo tính phí mà chết link. fshare không lo chết link mà tính phí
chia sẻ cho bác link này luôn. lên google tìm chưa chắc tìm đc trang này đâu nha
em xóa đi ngồi hơn tuần mới tìm lại đc đấy http://forumphanmem.com/download-4f.php
download accvip trên fshare và 4share. file 8Gb em ngồi 15p là tải xong.
 

langtuchungtinh360

Thành viên đã dừng hoạt động
Tham gia ngày
7 Tháng mười 2013
Bài viết
1,065
Được thích
320
Điểm
0
bạn úp lên đó mình vào tải về nó đòi mã code để tải giá 5.000 đ/10 lần tải file ....giúp cho bạn mình phải trả tiền thì hãy chờ nha.....--=0
ok bác. bác cho địa chỉ em gửi bưu điện cho 1 chai sì tin lun.--=0--=0 lời đc 7k, tải 1 lần có 500 mà đc chai sì tin 7k6**~**
 

langtuchungtinh360

Thành viên đã dừng hoạt động
Tham gia ngày
7 Tháng mười 2013
Bài viết
1,065
Được thích
320
Điểm
0
em có tham khảo code của anhtuan1066 và xem bài viết này và sửa code lại. thì đã giải quyết vấn đề đường dẫn và sheet đc rồi.
vây giờ em muốn thế này
Tại chỗ này
sAddr = "A1:D100"
Range("A1:D12") = GetData(sFile, sSheet, sAddr)
em có tham khảo 1 code chọn vùng có chứa dữ liệu thế này
Sub BigSelect(Selct As Range)
Dim BigRng As Range, i As Long
On Error Resume Next
With Range("A1").SpecialCells(2)
Set BigRng = .Areas(1)
For i = 1 To .Areas.Count
Set BigRng = Range(BigRng, .Areas(i))
Next i
End With
BigRng.Select
End Sub
bây giờ em muốn áp dụng code bên trên vào chỗ sAddr="A1:D100" để cho nó tự chọn vùng có dữ liệu và copy lại thì làm thế nào
còn chỗ Range("A1:D12") = GetData(sFile, sSheet, sAddr) thì làm sao cho nó tự động chèn tiếp vào dòng dữ liệu cuối của bảng tính đc ví dụ điểm cuối cùng là b15 thì sẽ bắt đầu dán từ b15 trở xuống và cứ thế tiếp tục . lấy cả định dạng file nguồn nhưng copy quả là giá trị thôi. ko lấy công thức
 

Let'GâuGâu

Thành viên mới
Tham gia ngày
12 Tháng chín 2013
Bài viết
3,139
Được thích
2,729
Điểm
560
Tuổi
47
em có tham khảo code của anhtuan1066 và xem bài viết này và sửa code lại. thì đã giải quyết vấn đề đường dẫn và sheet đc rồi.
===============
bây giờ em muốn áp dụng code bên trên vào chỗ sAddr="A1:D100" để cho nó tự chọn vùng có dữ liệu và copy lại thì làm thế nào
=======================
còn chỗ Range("A1:D12") = GetData(sFile, sSheet, sAddr) thì làm sao cho nó tự động chèn tiếp vào dòng dữ liệu cuối của bảng tính đc ví dụ điểm cuối cùng là b15 thì sẽ bắt đầu dán từ b15 trở xuống và cứ thế tiếp tục . lấy cả định dạng file nguồn nhưng copy quả là giá trị thôi. ko lấy công thức
anhtuan1006 hình như cũng là anh NDU đó, hỏi luôn sư phụ đi
đọc câu hỏi của bạn tôi chẳng hiểu gì
cái đoạn "Getdata..." hình như nó còn có một cái function đi theo nữa
 

langtuchungtinh360

Thành viên đã dừng hoạt động
Tham gia ngày
7 Tháng mười 2013
Bài viết
1,065
Được thích
320
Điểm
0
thế này bác nhé
mình sửa code của anhtuan1066 thế này
Sub Test()
Dim sFile As String, sSheet As String, sAddr As String
sFile = ThisWorkbook.Path & "\" & Range("G3") ' o chua file can lay <=nhập tên file vào ô G3
sSheet = Range("G2") ' <= nhập tên sheet vào ô G2
sAddr = "A1:D100" '<= vùng sẽ lấy từ Sheet trên
Range("A1:D4") = GetData(sFile, sSheet, sAddr) 'pham vi dan
End Sub
em lại có code chọn vùng chứa dữ liệu thế nàySub BigSelect()
Dim BigRng As Range, i As Long
On Error Resume Next
With Range("A1").SpecialCells(2)
Set BigRng = .Areas(1)
For i = 1 To .Areas.Count
Set BigRng = Range(BigRng, .Areas(i))
Next i
End With
BigRng.Select
End Sub
em muốn áp dụng cái code này vào chỗ sAddr = "A1:D100" '<= vùng sẽ lấy từ Sheet trên
để nó chọn vùa chứa dữ liệu trong sheet đó và copy lại
sau đó ở chỗ này Range("A1:D4") = GetData(sFile, sSheet, sAddr) 'pham vi dan
em muốn là nếu dữ liệu em đã có tới cột B dòng 16 đi (tức B16), thì nó sẽ dán tiếp vào dòng 17 (tức B17) dữ liệu vừa copy ở sheet trên (nghĩa là chép tiếp tục lên chứ ko đè lên dữ liệu đã có
để nó chọn vùa chứa dữ liệu trong sheet đó và copy lại
sau đó ở chỗ này

em có nghĩ là sẽ khai báo cái Sub BigSelect làm 1 biến để đưa vào "A1:D100" nhưng không biết làm sao. do không biết VBA mong bác chỉ giáo
 

tuantv.hcm

Thành viên mới
Tham gia ngày
25 Tháng hai 2009
Bài viết
4
Được thích
0
Điểm
0
Xin hỏi, nếu trường hợp tên Sheet cần lấy thông tin có font TIẾNG VIỆT thì làm thế nào (VD tên sheet: Vật tư)
hay có cách nào chỉ xác định thứ tự của Sheet mà không cần biết WsName
Cảm ơn!
 

kieu manh

Thành viên gạo cội
Tham gia ngày
9 Tháng sáu 2012
Bài viết
3,292
Được thích
2,319
Điểm
560
Nơi ở
Bình Dương
Xin hỏi, nếu trường hợp tên Sheet cần lấy thông tin có font TIẾNG VIỆT thì làm thế nào (VD tên sheet: Vật tư)
hay có cách nào chỉ xác định thứ tự của Sheet mà không cần biết WsName
Cảm ơn!
Nếu Sheet cần lấy thông tin có font TIẾNG VIỆT Thì sử dụng Sheet codeName đi xem sao rồi tính tiếp đơn giản thôi mà.....làm gì mà phải tự làm khổ mình vậy --=0--=0--=0
 

tuantv.hcm

Thành viên mới
Tham gia ngày
25 Tháng hai 2009
Bài viết
4
Được thích
0
Điểm
0
mình hơi "gà" về vụ này, mới tập tành VBA thôi, xin chỉ giáo thêm giúp !$@!!!$@!!!$@!!
 

kieu manh

Thành viên gạo cội
Tham gia ngày
9 Tháng sáu 2012
Bài viết
3,292
Được thích
2,319
Điểm
560
Nơi ở
Bình Dương
mình hơi "gà" về vụ này, mới tập tành VBA thôi, xin chỉ giáo thêm giúp !$@!!!$@!!!$@!!
Thì mở file Excel lên đặt tên sheet hết đi xong bấm tổ hợp Phín Alt+F11 vào cửa sổ VBA thấy tên Sheet1 mình mới đặt đó có một cái tên kèm theo thì đó là Sheet codeName vậy hiểu theo kiểu đơn giản vậy đi
VD: nhìn thấy Sheet1(MMM) vậy MMM là sheet Name Còn Sheet1 là Sheet CodeName vậy
 

kieu manh

Thành viên gạo cội
Tham gia ngày
9 Tháng sáu 2012
Bài viết
3,292
Được thích
2,319
Điểm
560
Nơi ở
Bình Dương
mình hơi "gà" về vụ này, mới tập tành VBA thôi, xin chỉ giáo thêm giúp !$@!!!$@!!!$@!!
Nếu biết chạy code thì chép code sau vào VBA chạy xem nha... nhớ đặt hết tên Sheet trước khi chạy code
PHP:
Sub Check_SheetCodeName_SheetName()
Dim Sh As Worksheet
For Each Sh In Worksheets
    MsgBox "Day La Sheet Name :" & Space(1) & Sh.Name, 64, "Thông Báo"
    MsgBox "Day La Sheet CodeName :" & Space(1) & Sh.CodeName, 64, "Thông Báo"
Next Sh
End Sub
 

tuantv.hcm

Thành viên mới
Tham gia ngày
25 Tháng hai 2009
Bài viết
4
Được thích
0
Điểm
0
Cảm ơn very nhiều

đã biết về sh codename,
nhưng trong code: = GetData(sFile, sSheet, sAddr) , thì sSheet là SheetName, giờ ghi sheetCodeName nó chịu không, lmaf sao phân biệt
 
Top