Tìm và trích xuất dữ liệu (1 người xem)

Liên hệ QC

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

hungdiep85

Thành viên thường trực
Tham gia
1/6/09
Bài viết
218
Được thích
23
Giới tính
Nam
Chào các Thầy


Nếu ở Sheet2 Cột A có dòng nào có giá trị bằng với Sheet1 A1, thì sẽ trích xuất dữ liệu của dòng có giá trị bằng với Sheet1 A1 qua Sheet1.


Em cảm ơn các Thầy
 

File đính kèm

Lần chỉnh sửa cuối:
Chào các Thầy

Nếu Sheet2 Cột A có giá trị bằng với Sheet1 A1 thì sẽ trích xuất dữ liệu của Sheet2 qua Sheet1.

Em cảm ơn các Thầy

Vì mình không fải là thầy, nên sẽ không mần tiếp!
Mà có cố mần thì chưa hiểu chép dữ liệu của dòng hay chép nguyên trang?

Hẹn tuần sau gặp lại!
 
Upvote 0
Chào các Thầy


Nếu ở Sheet2 Cột A có dòng nào có giá trị bằng với Sheet1 A1, thì sẽ trích xuất dữ liệu của dòng có giá trị bằng với Sheet1 A1 qua Sheet1.


Em cảm ơn các Thầy

Dữ liệu của bạn chẳng có tiêu đề gì cả nên không thể dùng Advanced filter. (Mình thích Advanced filter hơn).

Thôi thì đành dùng tạm cái này vậy.
 

File đính kèm

Upvote 0
Dữ liệu của bạn chẳng có tiêu đề gì cả nên không thể dùng Advanced filter. (Mình thích Advanced filter hơn).

Thôi thì đành dùng tạm cái này vậy.



Ah cái này đúng ý em luôn rùi đó Thầy, Em cảm ơn nhiều àh.

Ah nếu Dữ liệu có tiêu đề như file em mới up thì Advanced filter như thế nào vậy Thầy.

Em cảm ơn nhiều àh.
 

File đính kèm

Upvote 0
Ah cái này đúng ý em luôn rùi đó Thầy, Em cảm ơn nhiều àh.

Ah nếu Dữ liệu có tiêu đề như file em mới up thì Advanced filter như thế nào vậy Thầy.

Em cảm ơn nhiều àh.

Advanced filter thì thế này. Có điều nó chạy "bốc hơn" code cũ.
 

File đính kèm

Upvote 0
Dạ, Hình như 2 file giống nhau qua em không tìm thấy điểm khác nhau giữa(Advanced filter)

Hihihi
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cn As Object
Dim rs As Object
Dim spath As String
Dim mysql As String
Dim dk As String
If Target.Address = "$A$1" Then
Set cn = CreateObject("ADODB.connection")
Set rs = CreateObject("ADODB.recordset")
spath = ThisWorkbook.FullName
dk = Worksheets("sheet1").Cells(1, 1)
With cn
    .connectionstring = "provider=microsoft.ACE.OLEDB.12.0;data source=" & spath & ";extended properties=""excel 12.0;HDR=No;IMEX=1;"";"
    .Open
    mysql = "SELECT * FROM [sheet2$A1:J12] WHERE f1 =" & "'" & dk & "'"
    'rs.Open "SELECT * FROM [sheet2$]", cn, 3, 3
    rs.Open mysql, cn, 3, 3
    Worksheets("sheet1").Cells(3, 1).CopyFromRecordset rs
End With
End If
End Sub
copy code vao sheet1 rùi thử nhé. Mình dùng ADO và SQL cho máu. Thay đổi điều kiện tại A1 của sheet1 dư liệu chay theo
 
Lần chỉnh sửa cuối:
Upvote 0
Bài tập lọc dữ liệu này cần gì dùng đao to thế. Mình thì thích xài dao nho nhỏ là đủ
PHP:
Sub loc()
Application.ScreenUpdating = False
Dim RangetoFil As Range
Sheet1.[A3:J1000].ClearContents
With Sheet2
    If .[A1] <> "" Then .[A1].EntireRow.Insert
    Set RangetoFil = .Range(.[A1], .[J65536].End(3))
End With
With RangetoFil
    .AutoFilter 1, Sheet1.[A1]
    .SpecialCells(2).Copy
    Sheet1.[A3].PasteSpecial 3
    .AutoFilter
End With
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Bài tập lọc dữ liệu này cần gì dùng đao to thế. Mình thì thích xài dao nho nhỏ là đủ
PHP:
Sub loc()
Application.ScreenUpdating = False
Dim RangetoFil As Range
Sheet1.[A3:J1000].ClearContents
With Sheet2
    If .[A1] <> "" Then .[A1].EntireRow.Insert
    Set RangetoFil = .Range(.[A1], .[J65536].End(3))
End With
With RangetoFil
    .AutoFilter 1, Sheet1.[A1]
    .SpecialCells(2).Copy
    Sheet1.[A3].PasteSpecial 3
    .AutoFilter
End With
Application.ScreenUpdating = True
End Sub



Có thể cho em thêm cái code tự chạy khi thay đổi điều kiện tại A1 không Thầy.

Em cảm ơn các Thầy rất nhiều ....
 
Upvote 0
Có thể cho em thêm cái code tự chạy khi thay đổi điều kiện tại A1 không Thầy.

Em cảm ơn các Thầy rất nhiều ....
Trên diễn đàn cứ gọi anh, em, bạn là ok rồi
Copy code cho vào sheet nào muốn chạy macro khi thay đổi dữ liệu tại A1
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$1" Then Loc
End Sub
 
Upvote 0

File đính kèm

Upvote 0
Thầy ơi có thể cho em thêm cái code khi A1 của sheet1 không có điều kiện thì không hiển thị gì hết .
Em cảm ơn nhiều àh....
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cn As Object
Dim rs As Object
Dim spath As String
Dim mysql As String
Dim dk As String
If Target.Address = "$A$1" Then
Worksheets("sheet1").Range("A3:J6500").ClearContents
Set cn = CreateObject("ADODB.connection")
Set rs = CreateObject("ADODB.recordset")
spath = ThisWorkbook.FullName
dk = Worksheets("sheet1").Cells(1, 1)
With cn
    .connectionstring = "provider=microsoft.ACE.OLEDB.12.0;data source=" & spath & ";extended properties=""excel 12.0;HDR=No;IMEX=1;"";"
    .Open
    mysql = "SELECT * FROM [sheet2$A1:J6500] WHERE f1 =" & "'" & dk & "'"
    'rs.Open "SELECT * FROM [sheet2$]", cn, 3, 3
    rs.Open mysql, cn, 3, 3
    Worksheets("sheet1").Cells(3, 1).CopyFromRecordset rs
End With
End If
End Sub
Vậy là quá ngon rùi nhé
 

File đính kèm

Upvote 0
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cn As Object
Dim rs As Object
Dim spath As String
Dim mysql As String
Dim dk As String
If Target.Address = "$A$1" Then
Worksheets("sheet1").Range("A3:J6500").ClearContents
Set cn = CreateObject("ADODB.connection")
Set rs = CreateObject("ADODB.recordset")
spath = ThisWorkbook.FullName
dk = Worksheets("sheet1").Cells(1, 1)
With cn
    .connectionstring = "provider=microsoft.ACE.OLEDB.12.0;data source=" & spath & ";extended properties=""excel 12.0;HDR=No;IMEX=1;"";"
    .Open
    mysql = "SELECT * FROM [sheet2$A1:J6500] WHERE f1 =" & "'" & dk & "'"
    'rs.Open "SELECT * FROM [sheet2$]", cn, 3, 3
    rs.Open mysql, cn, 3, 3
    Worksheets("sheet1").Cells(3, 1).CopyFromRecordset rs
End With
End If
End Sub
Vậy là quá ngon rùi nhé

Thầy ơi khi thêm dữ liệu (dòng hay cột) vào sheet2 sao sheet1 cũng hiển thị có 3 dòng àh.hihi.....code này khó quá với em.

Em cảm ơn nhiều ....
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0

File đính kèm

Upvote 0

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

Back
Top Bottom