làm sao để viết code copy dữ liệu (1 người xem)

Liên hệ QC

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

diemhuyenanh

Thành viên hoạt động
Tham gia
6/9/09
Bài viết
167
Được thích
58
em đang tự học lập trình vba trên diễn đàn gpe nhưng còn yếu quá. em muốn thực hành một số câu lệnh và thuật toán vì thế em có gửi file nhờ các anh chị giúp em viết code copy để em làm cơ sở nghiên cứu học tập. kính mong các anh chị giúp
file đính kèm em có viết yêu cầu ở trong đó
 

File đính kèm

Thử cách đơn giản và dể hiểu như sau:

Mã:
Sub test()
[A2:A100].Copy Range("G" & [g65000].End(xlUp).Row + 1)

End Sub
 
Upvote 0
cảm ơn anh hai lúa nhé! mà em chỉ muốn copy giá trị thì làm thế nào vì code trên anh copy cả định dạng luôn
và anh có thể giải thích code đó cho em được không?
 
Upvote 0
Bạn dùng code sau:

Mã:
Sub Nhap()
[A2:A100].Copy: [G65536].End(xlUp).Offset(1).PasteSpecial 3
[A1].Select: Application.CutCopyMode = False
End Sub

Sub test()
[A2:A100].Copy Range("G" & [g65000].End(xlUp).Row + 1)
End Sub

-->Copy vùng A2:A100:

[A2:A100].Copy

-->Đưa dữ liệu đã copy vào cell cuối cùng của cột G
Range("G" & [g65000].End(xlUp).Row + 1)
 
Upvote 0
em cảm ơn anh HAi LÚA! hôm nay em mày mò học và làm thực hành một đoạn code để copy dữ liệu nhưng code chạy không ưng ý
anh làm ơn xem và chỉ giúp lỗi và phân tich dùm em với nhé. vì em đang vooc cho lên cũng chưa hiểu sâu cho rõ vấn đề
em gửi file kèm. Giúp em nha. Em mới tập tẹ được 15 ngày về VBA thôi anh à
 

File đính kèm

Upvote 0
em cảm ơn anh HAi LÚA! hôm nay em mày mò học và làm thực hành một đoạn code để copy dữ liệu nhưng code chạy không ưng ý
anh làm ơn xem và chỉ giúp lỗi và phân tich dùm em với nhé. vì em đang vooc cho lên cũng chưa hiểu sâu cho rõ vấn đề
em gửi file kèm. Giúp em nha. Em mới tập tẹ được 15 ngày về VBA thôi anh à
Trong array dư ra 1 dòng, bạn trừ nó ra 1 dòng thử nè.

PHP:
Sub copy_Xitin()
    Dim arrnguon, arrdich
    arrnguon = Range("A1:C" & Range("A65536").End(xlUp).Row)
    ReDim arrdich(1 To UBound(arrnguon, 1), 1 To 3)
        For i = 1 To UBound(arrnguon, 1)
            For j = 1 To UBound(arrnguon, 2)
                arrdich(i, j) = arrnguon(i, j)
            Next j
        Next i
    Sheets("sheet1").Range("D65536").End(xlUp).Resize(i - 1, 3) = arrdich
End Sub
 
Upvote 0
Trong array dư ra 1 dòng, bạn trừ nó ra 1 dòng thử nè.

code]Sub copy_Xitin()
Dim arrnguon, arrdich
arrnguon = Range("A1:C" & Range("A65536").End(xlUp).Row)
ReDim arrdich(1 To UBound(arrnguon, 1), 1 To 3)
For i = 1 To UBound(arrnguon, 1)
For j = 1 To UBound(arrnguon, 2)
arrdich(i, j) = arrnguon(i, j)
Next j
Next i
Sheets("sheet1").Range("D65536").End(xlUp).Resize(i - 1, 3) = arrdich
End Sub

[/code]
Chổ màu đỏ hình như thiếu .Offset(1) thì phải
--------------
Mà bài này sao lại For.. Next nhỉ?
 
Upvote 0
Cảm ơn anh Hai Lúa và thầy ndu . Khi em viết code em đã dùng msgbox i để kiểm tra kết quả của i và thấy là i thừa 1 dòng. khi đó em cũng chưa biết làm thế nào
À mà thầy ndu nói
Mà bài này sao lại For.. Next nhỉ? Vậy có cách viết nào khoác không xin thầy chỉ giáo
cho em hỏi thêm
em thấy có một đoạn code : target.column cho hỏi target ở đây là gì, cách dùng?
 
Upvote 0
À mà thầy ndu nói
Mà bài này sao lại For.. Next nhỉ? Vậy có cách viết nào khoác không xin thầy chỉ giáo

Thì cứ "gán" bình thường thôi:
Mã:
Sub coppi()
  With Range([A1], [C65536].End(xlUp))
    Range("D65536").End(xlUp).Offset(1).Resize(.Rows.Count, 3).Value = .Value
  End With
End Sub
 
Upvote 0
còn câu hỏi này thầy giải thich dùm với
em thấy có một đoạn code : target.column cho hỏi target ở đây là gì, cách dùng?
 
Upvote 0
lưu dữ liệu sang 1 sheet khac theo thứ tự

Dear các cao thủ :
em có 1 file như attach. Em muốn dữ liệu khi cập nhật vào sheet1 xong chỉ cần bấm nút "lưu lại" là tất cả dữ liệu sẽ tự động lưu sang sheet2 theo thứ tự từ 1 đến 334 ah.
Xin các cao thủ check attach để giúp em cái này với.
Cái này em cũng học dc vài code nhập liệu nhưng với số lượng nhiều thế( 334 có thể nhiều hơn) này thì làm theo cách em học dc mệt lắm ah.
 

File đính kèm

Upvote 0
em cảm ơn anh HAi LÚA! hôm nay em mày mò học và làm thực hành một đoạn code để copy dữ liệu nhưng code chạy không ưng ý
anh làm ơn xem và chỉ giúp lỗi và phân tich dùm em với nhé. vì em đang vooc cho lên cũng chưa hiểu sâu cho rõ vấn đề
em gửi file kèm. Giúp em nha. Em mới tập tẹ được 15 ngày về VBA thôi anh à
Thử câu lệnh này xem coi có ứng dụng được gì không
PHP:
Sub coppi2()
[D1].Resize(Range([a1], [C65536].End(3)).Rows.Count, 3) = Range([a1], [C65536].End(3)).Value
End Sub
 
Upvote 0
còn câu hỏi này thầy giải thich dùm với
em thấy có một đoạn code : target.column cho hỏi target ở đây là gì, cách dùng?
Khi sử dụng code sự change thì sẽ thấy câu lệnh target....
Target.Column là vị trí cột của ô bị tác động. Thử thì sẽ biết mà
 
Upvote 0
Dear các cao thủ :
em có 1 file như attach. Em muốn dữ liệu khi cập nhật vào sheet1 xong chỉ cần bấm nút "lưu lại" là tất cả dữ liệu sẽ tự động lưu sang sheet2 theo thứ tự từ 1 đến 334 ah.
Xin các cao thủ check attach để giúp em cái này với.
Cái này em cũng học dc vài code nhập liệu nhưng với số lượng nhiều thế( 334 có thể nhiều hơn) này thì làm theo cách em học dc mệt lắm ah.

Ai lại lưu dữ liệu theo kiểu như thế, làm sao có đủ cột nếu xài Office 2003?
Có thử dùng lệnh Transpose rồi sort dữ liệu theo cột xem sao.
 
Upvote 0
Ai lại lưu dữ liệu theo kiểu như thế, làm sao có đủ cột nếu xài Office 2003?
Có thử dùng lệnh Transpose rồi sort dữ liệu theo cột xem sao.
Dùng 2007 là được ah. tại khi làm em làm trên 2007 nhưng khi lưu thì lại lưu 2003 nên bị thiếu cột ah.
 
Upvote 0
cái này có khó phải không ah.???
 
Upvote 0
Dear các cao thủ :
em có 1 file như attach. Em muốn dữ liệu khi cập nhật vào sheet1 xong chỉ cần bấm nút "lưu lại" là tất cả dữ liệu sẽ tự động lưu sang sheet2 theo thứ tự từ 1 đến 334 ah.
Xin các cao thủ check attach để giúp em cái này với.
Cái này em cũng học dc vài code nhập liệu nhưng với số lượng nhiều thế( 334 có thể nhiều hơn) này thì làm theo cách em học dc mệt lắm ah.
có ai làm được bài này không ah.? giúp Em với ah. EM đang cần gấp ah.
 
Upvote 0

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

Back
Top Bottom