cách lấy dữ liệu của một sheet

Liên hệ QC

congnghethongtin_07

Thành viên mới
Tham gia
17/7/10
Bài viết
46
Được thích
3
Minh đang vướng ở chỗ này: file dữ liệu excel của mình có 2 sheet (sheet a, sheet b), mình muốn sheet b tự lấy dữ liệu từ sheet a, nếu dữ liệu của sheet a tăng lên (tăng số dòng lên) thì dữ liệu của sheet b cũng tăng theo, hiện mình đang gán công thức cho sheet b là: =a!B2 nhưng bị vướng là dữ liệu của sheet a trống thì dữ liệu của sheet b có nhiều dòng là 0.
mình muốn là nếu dữ liệu sheet a có 10 dòng thì sheet b cũng là 10 dòng, nếu sheet a là 100 dòng thì sheet b là 100 dòng.
(mình có đính kèm file excel), mong các bạn chỉ giúp mình, chân thành cảm ơn.
 

File đính kèm

Lần chỉnh sửa cuối:
Minh đang vướng ở chỗ này: file dữ liệu excel của mình có 2 sheet (sheet a, sheet b), mình muốn sheet b tự lấy dữ liệu từ sheet a, nếu dữ liệu của sheet a tăng lên (tăng số dòng lên) thì dữ liệu của sheet b cũng tăng theo, hiện mình đang gán công thức cho sheet b là: =a!B2 nhưng bị vướng là dữ liệu của sheet a trống thì dữ liệu của sheet b có nhiều dòng là 0.
mình muốn là nếu dữ liệu sheet a có 10 dòng thì sheet b cũng là 10 dòng, nếu sheet a là 100 dòng thì sheet b là 100 dòng.
(mình có đính kèm file excel), mong các bạn chỉ giúp mình, chân thành cảm ơn.

"Lẽ thường" chẳng ai làm thế cả...

Mục đích là làm gì ở sheet "b" vậy?
 
Minh đang vướng ở chỗ này: file dữ liệu excel của mình có 2 sheet (sheet a, sheet b), mình muốn sheet b tự lấy dữ liệu từ sheet a, nếu dữ liệu của sheet a tăng lên (tăng số dòng lên) thì dữ liệu của sheet b cũng tăng theo, hiện mình đang gán công thức cho sheet b là: =a!B2 nhưng bị vướng là dữ liệu của sheet a trống thì dữ liệu của sheet b có nhiều dòng là 0.
mình muốn là nếu dữ liệu sheet a có 10 dòng thì sheet b cũng là 10 dòng, nếu sheet a là 100 dòng thì sheet b là 100 dòng.
(mình có đính kèm file excel), mong các bạn chỉ giúp mình, chân thành cảm ơn.
Có nhiều cách để lấy dữ liệu từ Sheets("a") sang Sheets("b"), và đây là 1 cách:
PHP:
Sub abc()
    Dim i%, j%, LR1%, LR2%, n%, a As String
    LR1 = Sheets("a").Cells(Rows.Count, "A").End(3).Row
    LR2 = Sheets("b").Cells(Rows.Count, "A").End(3).Row
    n = LR2
    For j = 2 To LR1
       a = Sheets("a").Range("A" & j).Value & Sheets("a").Range("D" & j).Value
        For i = 2 To LR2
            If Sheets("b").Range("B" & i).Value & Sheets("b").Range("D" & i).Value = a Then
                GoTo 1
            End If
        Next i
        n = n + 1
        Sheets("b").Range("A" & n & ":D" & n).Value = Sheets("a").Range("A" & j & ":D" & j).Value
        Sheets("b").Range("A" & n & ":D" & n).Borders.LineStyle = xlContinuous
1:
    Next j
End Sub
 
Minh đang vướng ở chỗ này: file dữ liệu excel của mình có 2 sheet (sheet a, sheet b), mình muốn sheet b tự lấy dữ liệu từ sheet a, nếu dữ liệu của sheet a tăng lên (tăng số dòng lên) thì dữ liệu của sheet b cũng tăng theo, hiện mình đang gán công thức cho sheet b là: =a!B2 nhưng bị vướng là dữ liệu của sheet a trống thì dữ liệu của sheet b có nhiều dòng là 0.
mình muốn là nếu dữ liệu sheet a có 10 dòng thì sheet b cũng là 10 dòng, nếu sheet a là 100 dòng thì sheet b là 100 dòng.
(mình có đính kèm file excel), mong các bạn chỉ giúp mình, chân thành cảm ơn.

Nếu đơn thuần là lấy dữ liệu nguyên sheet thì chỉ việc copy sheet (a) paste vào sheet (b), chứ chẳng cần code kiết chi cả.
 
Nếu đơn thuần là lấy dữ liệu nguyên sheet thì chỉ việc copy sheet (a) paste vào sheet (b), chứ chẳng cần code kiết chi cả.

Người ta muốn "tự động" mà anh.
1 dòng lệnh là xong. Ví dụ
PHP:
 Sheets("b").range("A1:Z1000").value=Sheets("a").range("A1:Z1000").value
 
Nếu đơn thuần là lấy dữ liệu nguyên sheet thì chỉ việc copy sheet (a) paste vào sheet (b), chứ chẳng cần code kiết chi cả.
--------------
Người ta muốn "tự động" mà anh.
1 dòng lệnh là xong. Ví dụ
PHP:
 Sheets("b").range("A1:Z1000").value=Sheets("a").range("A1:Z1000").value
Nhiều khi đầu óc nó như vậy đấy các bác à.
 
Ý của mình không phải là bê nguyên si sheet a có gì thì sheet b có cái đó mà là sheet a là một bảng nhiều cột, mình chỉ lấy 1 số cột cần dùng qua sheet b thôi.
khi sheet a cập nhật thêm những dòng mới thì sheet b ở những cột cần lấy thì dữ liệu cũng được cập nhật vào sheet b.
mình có đính kèm lại file cho các bạn dễ hiểu
 
Ý của mình không phải là bê nguyên si sheet a có gì thì sheet b có cái đó mà là sheet a là một bảng nhiều cột, mình chỉ lấy 1 số cột cần dùng qua sheet b thôi.
khi sheet a cập nhật thêm những dòng mới thì sheet b ở những cột cần lấy thì dữ liệu cũng được cập nhật vào sheet b.
mình có đính kèm lại file cho các bạn dễ hiểu

Thì copy nguyên cái sheet a qua, cột nào không cần dùng thì xóa, chẳng cần cập nhật cái gì đâu.
 
Ý của mình không phải là bê nguyên si sheet a có gì thì sheet b có cái đó mà là sheet a là một bảng nhiều cột, mình chỉ lấy 1 số cột cần dùng qua sheet b thôi.
khi sheet a cập nhật thêm những dòng mới thì sheet b ở những cột cần lấy thì dữ liệu cũng được cập nhật vào sheet b.
mình có đính kèm lại file cho các bạn dễ hiểu
Đơn giản là:
PHP:
Sub abc()
With Sheets("b")
.Range("A2:A2000").Value = Sheets("a").Range("A2:A2000").Value
.Range("b2:b1000").Value = Sheets("a").Range("E2:E1000").Value
.Range("c2:c1000").Value = Sheets("a").Range("F2:F1000").Value
.Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
End With
End Sub
 
cv của mình là phải xử lý dữ liệu của sheet b hằng ngày nên mình muốn tạo file dữ liệu chỉ cần up liệu vào sheet a (dữ liệu của sheet a thì chỉ cần xuất từ hệ thống ra hằng ngày thôi. sai đó copy pass vào sheet a) thì ra sheet b, còn cách copy nguyên sheet a qua sau đó xóa cột thì đơn giản rồi.
 
cv của mình là phải xử lý dữ liệu của sheet b hằng ngày nên mình muốn tạo file dữ liệu chỉ cần up liệu vào sheet a (dữ liệu của sheet a thì chỉ cần xuất từ hệ thống ra hằng ngày thôi. sai đó copy pass vào sheet a) thì ra sheet b, còn cách copy nguyên sheet a qua sau đó xóa cột thì đơn giản rồi.

Vậy thì bạn đưa cái File xuất từ phần mềm ra (với tiêu đề đầy đủ và khoảng chục dòng dữ liệu), tôi xem thử may ra có giải pháp khác.
 
Đơn giản là:
PHP:
Sub abc()
With Sheets("b")
.Range("A2:A2000").Value = Sheets("a").Range("A2:A2000").Value
.Range("b2:b1000").Value = Sheets("a").Range("E2:E1000").Value
.Range("c2:c1000").Value = Sheets("a").Range("F2:F1000").Value
.Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
End With
End Sub

Coi chừng còn chuyện màu mè, format ... hổng giống, bị hỏi tiếp.
Chơi vầy chắc ăn, tác giả tùy nghi chế biến.
PHP:
Public Sub GPE()
    Sheets("a").Range("A1:A10000").Copy Sheets("b").Range("A1")
    Sheets("a").Range("E1:E10000").Copy Sheets("b").Range("B1")
    Sheets("a").Range("F1:F10000").Copy Sheets("b").Range("C1")
End Sub
 
Web KT

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

Back
Top Bottom