Hỏi về tự động copy từ cell này sang cell khác có điều kiện

Liên hệ QC

hpmongmanh

Thành viên mới
Tham gia
23/6/08
Bài viết
16
Được thích
3
Xin chào mọi người,
Mình có câu hỏi muốn giải đáp gấp đây.
C1:C10 được đánh số thứ tự từ 1 đến 10, ví dụ tại ô A1 gõ 2 thì ô B1 và B2 lần lượt hiện 1 và 2, gõ 5 thì B1:B5 hiện lần lượt là B1=1, B2=2,...B5=5, có nghĩa là B1:B10 được copy dữ liệu từ C1:C10 theo điều kiện của ô A1.
Vậy xin hỏi các bác là trong excel có thực hiện được việc này không?
Xin cảm ơn các bác trả lời.
 
Xin chào mọi người,
Mình có câu hỏi muốn giải đáp gấp đây.
C1:C10 được đánh số thứ tự từ 1 đến 10, ví dụ tại ô A1 gõ 2 thì ô B1 và B2 lần lượt hiện 1 và 2, gõ 5 thì B1:B5 hiện lần lượt là B1=1, B2=2,...B5=5, có nghĩa là B1:B10 được copy dữ liệu từ C1:C10 theo điều kiện của ô A1.
Vậy xin hỏi các bác là trong excel có thực hiện được việc này không?
Xin cảm ơn các bác trả lời.
Bạn xem có đúng ý mình ko ?
 

File đính kèm

Bạn tham khảo thêm file này nhé. Chúc vui.
 

File đính kèm

Cảm ơn bạn thivantan và bạn USB1394
Bạn USB1394 nếu như mình thay bằng định dạng text tại ô cần copy thì coi như tắc tịt, ở đây mình lấy ví dụ là number cho đơn giản, còn ý kiến của bạn thivanthi hoàn toàn đúng ý mình, xin cảm ơn tất cả
 
Xin chào mọi người,
Mình có câu hỏi muốn giải đáp gấp đây.
C1:C10 được đánh số thứ tự từ 1 đến 10, ví dụ tại ô A1 gõ 2 thì ô B1 và B2 lần lượt hiện 1 và 2, gõ 5 thì B1:B5 hiện lần lượt là B1=1, B2=2,...B5=5, có nghĩa là B1:B10 được copy dữ liệu từ C1:C10 theo điều kiện của ô A1.
Vậy xin hỏi các bác là trong excel có thực hiện được việc này không?
Xin cảm ơn các bác trả lời.
Bạn hpmongmanh mến!
Cách của bạn thivantan rất hay. Tuy nhiên, với những người ít hoặc không biết về VBA thì có lẽ hơi có chút băn khoăn.
Đây là cách hoàn toàn bằng Excel nè bạn:
+ Ở cell B1: =IF(A1<>"";C1;"")
+ Ở CELL B2: =IF(AND($A$1>=ROW(B1)+1;C2<>"");C2;"")
+ Fill cell B2 xuống dưới.
 
Bạn hpmongmanh mến!
Cách của bạn thivantan rất hay. Tuy nhiên, với những người ít hoặc không biết về VBA thì có lẽ hơi có chút băn khoăn.
Đây là cách hoàn toàn bằng Excel nè bạn:
+ Ở cell B1: =IF(A1<>"";C1;"")
+ Ở CELL B2: =IF(AND($A$1>=ROW(B1)+1;C2<>"");C2;"")
+ Fill cell B2 xuống dưới.
-------
Đồng ý, code thì hay nhưng khi thay đổi dữ liệu trong cột C, cột B vẫn không thay đổi cho đến khi có sự thay đổi tại ô A1.
Nếu dùng hàm thì có thêm 1 cách:
Tại ô B1:
=IF(ROWS($C$1:C1)<=$A$1;C1;"")
Kéo xuống...
 
-------
Đồng ý, code thì hay nhưng khi thay đổi dữ liệu trong cột C, cột B vẫn không thay đổi cho đến khi có sự thay đổi tại ô A1.
Nếu dùng hàm thì có thêm 1 cách:
Tại ô B1:

Kéo xuống...
Thân gửi Bác BA-TÊ, với yêu cầu trên, dùng công thức theo cách làm của Bác thì không phải bàn nữa, nhưng theo em vẫn có thể dùng Code cho cột C thay đổi và cột B thay đổi theo mà không cần thay đổi ô A1 ( Một số anh (chị) trên diễn đàn đã từng nói dùng code có thể làm được nhiều thứ hơn là dùng công thức, VD hàm IF nhiều điều kiện; nếu viết code tạo hàm tự tạo sẽ đỡ hơn là dùng công thức). Ý kiến em là vầy, có gì sai nhờ các anh chị bổ sung. Chúc bác đón một năm mới vui vẻ, an khang thịnh vượng.
 

File đính kèm

Cũng cần bãy lỗi trị nhập tại [A1] nữa các bạn à!

PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim Rng As Range, MyColor As Byte
 On Error Resume Next
 
 MyColor = [A1].Interior.ColorIndex + 1
 If Not Intersect(Target, Range("A1")) Is Nothing Then
   GoTo GPE
 ElseIf Not Intersect(Target, Columns("C:C")) Is Nothing Then
   GoTo GPE
 End If
 Exit Sub
GPE:
   Columns("B:B").Clear
   If (IsNumeric([A1].Value) And [A1].Value <> 0) Then
      Set Rng = Range("B1:B" & [A1].Value)
      Rng.Value = Rng.Offset(, 1).Value
   End If
   [A1].Interior.ColorIndex = IIf(MyColor > 42, 34, MyColor)
End Sub
 
-------
Đồng ý, code thì hay nhưng khi thay đổi dữ liệu trong cột C, cột B vẫn không thay đổi cho đến khi có sự thay đổi tại ô A1.
Nếu dùng hàm thì có thêm 1 cách:
Tại ô B1:
=IF(ROWS($C$1:C1)<=$A$1;C1;"")
Kéo xuống...
Công thức của bạn Ba Tê hay lắm, thật là gọn. Tuy nhiên nên thay đổi tí xíu: =IF(AND(ROWS($C$1:C1)<=$A$1;C1<>"");C1;"") nếu không ở cột C không nhập giá trị gì cả nhưng ở cột B vẫn có giá trị 0.
 
Web KT

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

Back
Top Bottom