Nhờ giúp đỡ sự kiện worksheet_change (1 người xem)

  • Thread starter Thread starter yeudoi
  • Ngày gửi Ngày gửi
Liên hệ QC

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

yeudoi

Thành viên gắn bó
Thành viên BQT
Moderator
Tham gia
12/6/06
Bài viết
3,186
Được thích
7,637
Nhờ mọi người giúp đỡ về sự kiện worksheet_change đối với sheet khác, như trong file đính kèm. Xin cảm ơn
 

File đính kèm

Nhờ mọi người giúp đỡ về sự kiện worksheet_change đối với sheet khác, như trong file đính kèm. Xin cảm ơn
Tác giả hỏi rằng:
Nếu tôi nhập số lượng của sp phẩm A or B or C ở đây thì tại Sheet KHNL sẽ nhập một công thức VD=1 tương ứng với cột số tuần tại sheet này
Có vài điểm chưa rõ lắm:
nhập số lượng của sp phẩm A or B or C ở đây ---> Cụ thể là bao gồm những cell nào? (hãy liệt kê tất cả các cell sẽ nhập)
sẽ nhập một công thức VD=1 ---> Cụ thể là công thức gì? Hay chỉ là số 1
Ví dụ:
- Tại sheet TD So che, nhập số 500 vào cell J7
- Vậy bên sheet KHNL sẽ nhập công thức gì? Vào cell nào?
-----------------
Ở đây tôi hiểu rằng vị trí cột sẽ được dò tìm dựa vào dữ liệu ngày tháng trên tiêu đề, nhưng vị trí dòng thì không hiểu dựa vào cái gì để tìm?
 
Lần chỉnh sửa cuối:
Cảm ơn Anh đã quan tâm. Ở đây sẽ nhập dữ liệu từ tuần 1 - tuần 10 ở dòng màu trắng và bên sheet KHNL sẽ nhập vào số 1 hoặc công thức nào đó tương ứng với cột đó thôi. Quan trong nhất là sự kiện của cột này tương ứng với cột của sheet bên kia và cách dòng ( chỉ những dòng màu trắng) còn công thức gì thì em có thể thay được.
 
Cảm ơn Anh đã quan tâm. Ở đây sẽ nhập dữ liệu từ tuần 1 - tuần 10 ở dòng màu trắng và bên sheet KHNL sẽ nhập vào số 1 hoặc công thức nào đó tương ứng với cột đó thôi. Quan trong nhất là sự kiện của cột này tương ứng với cột của sheet bên kia và cách dòng ( chỉ những dòng màu trắng) còn công thức gì thì em có thể thay được.
Tức là bên này nhập tại dòng 9 thì bên kia sẽ thay đổi tại dòng 9 (cột tương ứng theo ngày), đúng không?
 
Vâng đúng thế đấy Bác Ah.
 
Bạn sử lý thế này:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, [g7:p54]) Is Nothing Then
Sheet3.Cells(Target.Row, Target.Column + 2).Formula = "GPE"
End If
End Sub
Bạn thay GPE bằng gì tuỳ bạn. Đây là code của Sheet "TD So che"
 
Lần chỉnh sửa cuối:
Bạn sử lý thế này:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, [g7:p54]) Is Nothing Then
Sheet3.Cells(Target.Row, Target.Column + 2).Formula = "GPE"
End If
End Sub
Bạn thay GPE bằng gì tuỳ bạn. Đây là code của Sheet "TD So che"
Em e rằng không đơn giản thế (nếu không thì yeudoi thừa sức làm ấy chứ)
Em thì làm vầy:
1> Trong Module:
PHP:
Public TmpRng As Range
Sub Auto_Open()
  Dim i As Long
  With Sheets("TD So che")
    With .Range(.[A7], .[A65535].End(xlUp))
      For i = 1 To .Rows.Count Step 2
        If TmpRng Is Nothing Then
          Set TmpRng = .Cells(i, 1).Offset(, 6).Resize(1, 10)
        Else
          Set TmpRng = Union(TmpRng, .Cells(i, 1).Offset(, 6).Resize(1, 10))
        End If
      Next
    End With
  End With
End Sub
2> Trong sheet TD So che
PHP:
Private Sub Worksheet_Activate()
  Auto_Open
End Sub
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim i As Long, FRng As Range, DesRng As Range
  If Not Intersect(TmpRng, Target) Is Nothing Then
    Set FRng = Intersect(Target.EntireColumn, Rows(6))
    Set DesRng = Sheets("KHNL").Range("A6:R6").Find(Format(FRng.Value, "dd/m"), , xlValues, xlWhole)
    If Not DesRng Is Nothing Then
      Sheets("KHNL").Cells(Target.Row, DesRng.Column).Value = "=1"
    End If
  End If
End Sub
 
Nhưng nó chỉ mới có một dòng thôi Anh còn muốn cho nó nhiều dòng tại sheets KHNL thì thế nào.
Thực tình lâu nay em bỏ không vọc nên ngu rồi.
 
Trong file em đã để là nhập vào tại các dòng từ dòng 7, 9, 11, 13, 15, , ,29 đó mà.
 
Trong file em đã để là nhập vào tại các dòng từ dòng 7, 9, 11, 13, 15, , ,29 đó mà.
Mỗi lần " change" thì chỉ tương ứng với 1 dòng thôi, bạn nhập ở dòng nào bên KHNL thì bên TD So che cũng đã cập nhật rồi . Nếu dùng Paste là bể mánh đấy.
 
Mỗi lần " change" thì chỉ tương ứng với 1 dòng thôi, bạn nhập ở dòng nào bên KHNL thì bên TD So che cũng đã cập nhật rồi . Nếu dùng Paste là bể mánh đấy.

Cái này là mỗi lần mình nhập bên sheets TD Soche thì nó phải nhập = 1 hoặc = GPE xuống các dòng 7, 9, 11, 13, 15, , ,29 của sheets KHNL
 
Nếu như vậy thì không cần xác định dòng nữa mà chỉ cần biết cột nào bên TD so che được nhập thì toàn bộ các dòng lẻ trong vùng của cột tương ứng bên KHNLđược cập nhật công thức có đúng không?
Nếu như vậy cho 1 biến chạy từ 7 đến 29 step 2 để điền cách dòng là được thôi mà.
 
Lần chỉnh sửa cuối:
Web KT

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

  • Dán lên cao
Trả lời
26
Đọc
9K
Back
Top Bottom