Hỏi cách copy dữ liệu đến vị trí chỉ định theo điều kiện ? (1 người xem)

Liên hệ QC

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

chaoban888

Thành viên mới
Tham gia
28/1/10
Bài viết
42
Được thích
8
Cho em hỏi ví dụ
ô điều kiện là "A" thì copy dữ liệu đến sheet khác ở cột A
ô điều kiện là "B" thì copy dữ liệu đến sheet khác ở cột B
Có cách nào làm được điều này không ạ ?
 
Cho em hỏi ví dụ
ô điều kiện là "A" thì copy dữ liệu đến sheet khác ở cột A
ô điều kiện là "B" thì copy dữ liệu đến sheet khác ở cột B
Có cách nào làm được điều này không ạ ?

Tất nhiên là có chứ. Nhưng còn phải xem cấu trúc dữ liệu của bạn như thế nào.
 
Upvote 0
Mẫu dữ liệu của em là ô A1:A10
Ô điều kiện là ô B1
Em muốn copy dữ liệu sang sheet2 nếu ô điều kiện là "A" thì copy sang cột A nếu điều kiện là "B" thì copy sang cột B
Q3hjX5h.jpg
 
Upvote 0
Mẫu dữ liệu của em là ô A1:A10
Ô điều kiện là ô B1
Em muốn copy dữ liệu sang sheet2 nếu ô điều kiện là "A" thì copy sang cột A nếu điều kiện là "B" thì copy sang cột B
Xin mời gửi luôn cái file excel đang làm thật ấy lên đi. Chứ cái ảnh trên ngắm tham khảo thôi...
 
Upvote 0
Thực ra gõ vài dòng là ra mà, em gửi file đây ạ

Nếu nghĩ và viết như chỗ màu đỏ thì sao không làm đi mà đợi người khác nhắc?

Và làm xong theo file bài trên có hỏi thêm nữa không?

-----
Mã:
Dim tmp
tmp = Sheet1.Range("A1:A10")
Sheet2.Range(Sheet1.Range("B1").Value & dong_nao_chiu_chet).Resize(UBound(tmp, 1), 1) = tmp
 
Upvote 0
Mã:
Dim tmp
tmp = Sheet1.Range("A1:A10")
Sheet2.Range(Sheet1.Range("B1").Value & dong_nao_chiu_chet).Resize(UBound(tmp, 1), 1) = tmp
Em chạy bị lỗi ngay dòng
tmp = Sheet1.Range("A1:A10")

Em vừa làm chạy với điều kiện "A" được nhưng "B" lại không được với code như sau
Mã:
Sub Macro1()
Dim c
For Each c In Worksheets("Sheet1").Range("B1")
 If c.Value = "A" Then
     Range("A1:A10").Select
    Selection.Copy
    Sheets("Sheet2").Select
    Range("A1").Select
    ActiveSheet.Paste
If c.Value = "B" Then
     Range("A1:A10").Select
    Selection.Copy
    Sheets("Sheet2").Select
    Range("B1").Select
    ActiveSheet.Paste
 End If
  End If
Next c
End Sub
Các bác xem điều chỉnh như nào ạ ?
 
Lần chỉnh sửa cuối:
Upvote 0
Mã:
Dim tmp
tmp = Sheet1.Range("A1:A10")
Sheet2.Range(Sheet1.Range("B1").Value & dong_nao_chiu_chet).Resize(UBound(tmp, 1), 1) = tmp
Em chạy bị lỗi ngay dòng
tmp = Sheet1.Range("A1:A10")

Em vừa làm chạy với điều kiện "A" được nhưng "B" lại không được với code như sau
Mã:
Sub Macro1()
Dim c
For Each c In Worksheets("Sheet1").Range("B1")
 If c.Value = "A" Then
     Range("A1:A10").Select
    Selection.Copy
    Sheets("Sheet2").Select
    Range("A1").Select
    ActiveSheet.Paste
If c.Value = "B" Then
     Range("A1:A10").Select
    Selection.Copy
    Sheets("Sheet2").Select
    Range("B1").Select
    ActiveSheet.Paste
 End If
  End If
Next c
End Sub
Các bác xem điều chỉnh như nào ạ ?
Như vầy thử xem sao
PHP:
Public Sub GPE()
    Sheet1.Range("A1:A10").Copy Sheet2.Range(Sheet1.Range("B1") & "1")
End Sub
 
Upvote 0
Cuối cùng em cũng giải xong
Mã:
Sub aaaa()
c = Sheets("Sheet1").Range("B1").Value
 If c = "A" Then
    Sheets("Sheet1").Select
    Range("A1:A10").Select
    Selection.Copy
    Sheets("Sheet2").Select
    Range("A1").Select
    ActiveSheet.Paste
 ElseIf c = "B" Then
    Sheets("Sheet1").Select
    Range("A1:A10").Select
    Selection.Copy
    Sheets("Sheet2").Select
    Range("B1").Select
    ActiveSheet.Paste
 End If
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Xin chúc mừng bạn;
Nhưng còn dài dòng quá; Suy nghĩ tiếp xem & có thể bỏ hết các dòng lệnh If, ElseIf & End If đi được không.
 
Upvote 0
Web KT

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

Back
Top Bottom