Hỏi về vòng lặp trong vba và code copy paste?

Liên hệ QC

ngocthach90

Thành viên mới
Tham gia
12/1/16
Bài viết
23
Được thích
1
Hi cả nhà,
Em có 1 file phân tích như mẫu.
Yêu cầu:
1/ Khi gõ năm bắt đầu và năm kết thúc thì Excel tự động hiện ra các cột tương ứng với số năm.
2/ Giữa 2 cột năm có thêm 2 cột tính toán tỷ lệ theo công thức

Em nhờ mọi người giúp em viết code này. Em cảm ơn! _)()(-
 

File đính kèm

  • bang phan tich.xlsx
    12.2 KB · Đọc: 19
Có 34 người đã xem qua bài của bạn tôi là người thứ 35.nhưng chắc không ai hiểu gì khi xem file.Bạn cho hỏi ý của bạn là thêm cột vào hay là các cột có sẵn khi điền năm ở trên ở dưới tên cột sẽ thay đổi vậy?
 
Upvote 0
Có 34 người đã xem qua bài của bạn tôi là người thứ 35.nhưng chắc không ai hiểu gì khi xem file.Bạn cho hỏi ý của bạn là thêm cột vào hay là các cột có sẵn khi điền năm ở trên ở dưới tên cột sẽ thay đổi vậy?
Dạ ý của em là trong Sheet Mau có 1 bảng cho trước từ A3:C22, khi em nhập vào ô "Từ năm....đến năm...." thì sẽ hiển thị các cột từ cột C trở đi với số năm tương ứng như trong Sheet KQ.

Em gửi lại file để mô tả lại.
 

File đính kèm

  • bang phan tich.xlsx
    13 KB · Đọc: 8
Upvote 0
Dạ ý của em là trong Sheet Mau có 1 bảng cho trước từ A3:C22, khi em nhập vào ô "Từ năm....đến năm...." thì sẽ hiển thị các cột từ cột C trở đi với số năm tương ứng như trong Sheet KQ.

Em gửi lại file để mô tả lại.
Thử xem phải vậy không
 

File đính kèm

  • bang phan tich.xlsm
    23.8 KB · Đọc: 6
Upvote 0
Mã:
Option Explicit

Sub Ke_Bang()
Dim i As Long
Dim ND&, NC&, Nam&
With Sheet1
    ND = .Range("D1").Value
    NC = .Range("F1").Value
    Nam = NC - ND + 1
    For i = 1 To Nam * 3 Step 3
            .Cells(3, i + 2).Value = ND
            .Cells(3, i + 3).Value = "T" & ChrW(7927) & " l" & ChrW(7879) & "(/DT)"
            .Cells(3, i + 4).Value = "T" & ChrW(259) & "ng" & "/Gi" & ChrW(7843) & "m" & " so " & "n" & ChrW(259) & "m " & "tr" & ChrW(432) & ChrW(7899) & "c"
            ND = ND + 1
    Next
End With
End Sub
Thử code .
 
Lần chỉnh sửa cuối:
Upvote 0
Làm thủ công chắc hơn thời gian Enable Macro một chút :D
 
Upvote 0
thấy hỏi vòng lặp chắc cũng học nữa bác
 
Upvote 0
Mã:
Option Explicit

Sub Ke_Bang()
Dim i As Long
Dim ND&, NC&, Nam&
With Sheet1
    ND = .Range("D1").Value
    NC = .Range("F1").Value
    Nam = NC - ND + 1
    For i = 1 To Nam * 3 Step 3
            .Cells(3, i + 2).Value = ND
            .Cells(3, i + 3).Value = "T" & ChrW(7927) & " l" & ChrW(7879) & "(/DT)"
            .Cells(3, i + 4).Value = "T" & ChrW(259) & "ng" & "/Gi" & ChrW(7843) & "m" & " so " & "n" & ChrW(259) & "m " & "tr" & ChrW(432) & ChrW(7899) & "c"
            ND = ND + 1
    Next
End With
End Sub
Thử code .
Đọc lại thì mới thấy mình hiểu sai ý thớt :D, Vẽ này còn lười nữa thì thua
 
Upvote 0
Có 34 người đã xem qua bài của bạn tôi là người thứ 35.nhưng chắc không ai hiểu gì khi xem file.Bạn cho hỏi ý của bạn là thêm cột vào hay là các cột có sẵn khi điền năm ở trên ở dưới tên cột sẽ thay đổi vậy?
Đáng lẽ trên 34. Tôi rà chuột lên tiêu đề (để xem cái bong bóng tóm lược khúc đầu bài), thấy bài bắt đầu bằng "Hi, Dear" thì tôi bỏ qua.
Khi nào thấy người quen trả lời thì tôi mới vào.
 
Upvote 0
Đáng lẽ trên 34. Tôi rà chuột lên tiêu đề (để xem cái bong bóng tóm lược khúc đầu bài), thấy bài bắt đầu bằng "Hi, Dear" thì tôi bỏ qua.
Khi nào thấy người quen trả lời thì tôi mới vào.
"hi " chắc là nhờ bạn rồi, đâu phải nhờ "bác", nên bỏ qua
 
Upvote 0
Em cảm ơn mọi người. Em mới học nên chưa hiểu sâu lắm vòng lặp.
 
Upvote 0
Không để ý . nhưng lỡ đâm lao rồi thì theo lao làm cái code củ chuối vậy
Bài đã được tự động gộp:

Em cũng hơi cấn cấn nhưng mà thấy xem nhiều qua chưa ai trả lời thì vào xem thế nào thôi chứ tận 34 người lận thì chắc chắn co nhiều bác biết câu trả lời nhưng vì nguyên nhân nào đó không trả lời mà thôi
 

File đính kèm

  • GPE.xlsm
    19.2 KB · Đọc: 8
Upvote 0
Web KT
Back
Top Bottom