Bảng lưu lại tất cà thông tin từng làm trong 1 ô excel (1 người xem)

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

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

roadno1

Thành viên chính thức
Tham gia
16/10/13
Bài viết
67
Được thích
1
Mình gặp 1 vấn đề khó khăn +-+-+-+ mà không biết viết VBA như thế nào mong mọi người giúp đỡ.
Vấn đề là +-+-+-+: Mình muốn tạo ra 1 cái bản lưu lại tất cả những thây đổi của 1 ô excel, khi mình chỉ vào ô đó thì nó sẽ hiện lên tất cả thông tin mà mình từng làm ở ô đó
Chẳng hạn như ngày 11/12/2011: mình nhập: 3
12/12/2011: mình nhập: division
13/12/2011: mình nhập: Plan
14/12/2013: mình nhập: 5
Thì khi mình chỉ vào ô đó nó sẽ hiện 1 bảng lưu lại tất cả những thây đổi mình từng làm ở ô này là: ;;;;;;;;;;;
11/12/2011: 3
12/12/2011: division
13/12/2011: Plan
14/12/2013: 5
Mong mọi người giúp mình. Cảm ơn mọi người đã quan tâm
 
Mình gặp 1 vấn đề khó khăn +-+-+-+ mà không biết viết VBA như thế nào mong mọi người giúp đỡ.
Vấn đề là +-+-+-+: Mình muốn tạo ra 1 cái bản lưu lại tất cả những thây đổi của 1 ô excel, khi mình chỉ vào ô đó thì nó sẽ hiện lên tất cả thông tin mà mình từng làm ở ô đó
Chẳng hạn như ngày 11/12/2011: mình nhập: 3
12/12/2011: mình nhập: division
13/12/2011: mình nhập: Plan
14/12/2013: mình nhập: 5
Thì khi mình chỉ vào ô đó nó sẽ hiện 1 bảng lưu lại tất cả những thây đổi mình từng làm ở ô này là: ;;;;;;;;;;;
11/12/2011: 3
12/12/2011: division
13/12/2011: Plan
14/12/2013: 5
Mong mọi người giúp mình. Cảm ơn mọi người đã quan tâm



Em có thể dùng công cụ Track Changes có sẳn trong Excel để theo dõi.

Đây là cách sử dụng nó trong Excel 2003:

Chọn Vùng cần muốn biết thay đổi. Từ Menu chọn Tools > Track Changes > Highlight Changes …..Cửa sổ Highlight Changes xuất hiện đánh dấu chọn vào Track Changes while editing..., List changes on a new sheet và Where xong cick vào khung và chọn lại vùng vừa chọn xong nhấn nút OK.

Bây giờ vào bất kỳ Cell nào của vùng đó gõ thay đổi nó sẽ xuất hiện Comment thông báo những thay đổi, khi click vào Cell đó nó sẽ hiện Comment ra để đọc nội dung thay đổi.
 
Lần chỉnh sửa cuối:
Em có thể dùng công cụ Track Changes có sẳn trong Excel để theo dõi.

Đây là cách sử dụng nó trong Excel 2003:

Chọn Vùng cần muốn biết thay đổi. Từ Menu chọn Tools > Track Changes > Highlight Changes …..Cửa sổ Highlight Changes xuất hiện đánh dấu chọn vào Where và List changes on a new sheet và nhấn nút OK.

Bây giờ vào bất kỳ Cell nào của vùng đó gõ thay đổi nó sẽ xuất hiện Comment thông báo những thay đổi, khi click vào Cell đó nó sẽ hiện Comment ra để đọc nội dung thay đổi.
Track Changes chỉ lưu thông báo lần trước đó gần nhất thôi anh.không theo như tác giả yêu cầu được hay sao ý.
 
Mình gặp 1 vấn đề khó khăn +-+-+-+ mà không biết viết VBA như thế nào mong mọi người giúp đỡ.
Vấn đề là +-+-+-+: Mình muốn tạo ra 1 cái bản lưu lại tất cả những thây đổi của 1 ô excel, khi mình chỉ vào ô đó thì nó sẽ hiện lên tất cả thông tin mà mình từng làm ở ô đó
Chẳng hạn như ngày 11/12/2011: mình nhập: 3
12/12/2011: mình nhập: division
13/12/2011: mình nhập: Plan
14/12/2013: mình nhập: 5
Thì khi mình chỉ vào ô đó nó sẽ hiện 1 bảng lưu lại tất cả những thây đổi mình từng làm ở ô này là: ;;;;;;;;;;;
11/12/2011: 3
12/12/2011: division
13/12/2011: Plan
14/12/2013: 5
Mong mọi người giúp mình. Cảm ơn mọi người đã quan tâm
Code viết cho cột A, nếu muốn cụ thể cho vùng nào thì phải có file của bạn mới sửa cho đúng yêu cầu
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
   If .Count = 1 Then
      If .Column = 1 Then
         If Not .Comment Is Nothing Then
            .Comment.Text .Comment.Text & ChrW(10) & Now & " " & .Value
         Else
            .AddComment Now & " " & .Value
         End If
      End If
   End If
End With
End Sub
 
Track Changes chỉ lưu thông báo lần trước đó gần nhất thôi anh.không theo như tác giả yêu cầu được hay sao ý.

Anh chỉ biết vậy thôi chứ từ nào đến giờ chưa dùng nó trong Excel nên chưa hiểu sâu, còn trên Word thì anh thấy nó vẫn làm được.
 
Code viết cho cột A, nếu muốn cụ thể cho vùng nào thì phải có file của bạn mới sửa cho đúng yêu cầu
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
   If .Count = 1 Then
      If .Column = 1 Then
         If Not .Comment Is Nothing Then
            .Comment.Text .Comment.Text & ChrW(10) & Now & " " & .Value
         Else
            .AddComment Now & " " & .Value
         End If
      End If
   End If
End With
End Sub

Lâu lắm không thấy em, hôm nay lại tái xuất giang hồ.

Nhấn cám ơn 1 cái để khuyến khích lên GPE thường ngày để giúp đỡ các thành viên.
 
Em có thể dùng công cụ Track Changes có sẳn trong Excel để theo dõi.

Đây là cách sử dụng nó trong Excel 2003:

Chọn Vùng cần muốn biết thay đổi. Từ Menu chọn Tools > Track Changes > Highlight Changes …..Cửa sổ Highlight Changes xuất hiện đánh dấu chọn vào Track Changes while editing..., List changes on a new sheet và Where xong cick vào khung và chọn lại vùng vừa chọn xong nhấn nút OK.

Bây giờ vào bất kỳ Cell nào của vùng đó gõ thay đổi nó sẽ xuất hiện Comment thông báo những thay đổi, khi click vào Cell đó nó sẽ hiện Comment ra để đọc nội dung thay đổi.

Dạ cảm ơn anh đã chia sẽ nhưng em làm thì nó chỉ thông báo thây đổi lần gần nhất thôi, cõn những lần trước đó thì nó không lưu lại
 
Code viết cho cột A, nếu muốn cụ thể cho vùng nào thì phải có file của bạn mới sửa cho đúng yêu cầu
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
   If .Count = 1 Then
      If .Column = 1 Then
         If Not .Comment Is Nothing Then
            .Comment.Text .Comment.Text & ChrW(10) & Now & " " & .Value
         Else
            .AddComment Now & " " & .Value
         End If
      End If
   End If
End With
End Sub
Dạ 1 vùng bất kì cũng được anh, em có thể lấy code của anh làm nền để nghiên cứu cho vùng yêu cầu của mình cũng được, khi nào bí em có thể hỏi nữa vì file công ty chặn không cho gửi ra ngoài anh.
 
Dạ 1 vùng bất kì cũng được anh, em có thể lấy code của anh làm nền để nghiên cứu cho vùng yêu cầu của mình cũng được, khi nào bí em có thể hỏi nữa vì file công ty chặn không cho gửi ra ngoài anh.
Code cho vùng A1:E10, bạn tự sửa cho đúng yêu cầu của bạn
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect([A1:E10], Target) Is Nothing Then
      With Target
         If .Count = 1 Then
               If Not .Comment Is Nothing Then
                  .Comment.Text .Comment.Text & ChrW(10) & Now & " " & .Value
               Else
                  .AddComment Now & " " & .Value
               End If
         End If
      End With
   End If
End Sub
 
Code cho vùng A1:E10, bạn tự sửa cho đúng yêu cầu của bạn
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect([A1:E10], Target) Is Nothing Then
      With Target
         If .Count = 1 Then
               If Not .Comment Is Nothing Then
                  .Comment.Text .Comment.Text & ChrW(10) & Now & " " & .Value
               Else
                  .AddComment Now & " " & .Value
               End If
         End If
      End With
   End If
End Sub
lâu lắm mới thấy anh quang hải
góp vui thêm 1 đoạn
PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range) 
If Not Intersect(Target, [a6:K200]) Is Nothing Then  
   With Target 
       .NoteText .NoteText & ";" & Now & "= " & Target.Value      
   End With   
 End If
End Sub
 
Code cho vùng A1:E10, bạn tự sửa cho đúng yêu cầu của bạn
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect([A1:E10], Target) Is Nothing Then
      With Target
         If .Count = 1 Then
               If Not .Comment Is Nothing Then
                  .Comment.Text .Comment.Text & ChrW(10) & Now & " " & .Value
               Else
                  .AddComment Now & " " & .Value
               End If
         End If
      End With
   End If
End Sub

Anh cho em hỏi thêm.
Làm cách nào để gộp các thây đổi ở các ô trên 1 dòng thành 1 bảng tổng quát ở 1 ô bất kì trên dòng đó được không anh
Chẳng hạn ở dòng 1 ta có 3 ô A1 , B1, C1 em muốn các thây đổi này hiện trong bản ở ô D1 thôi thây vì hiện hết ở 3 ô này, điều này có làm được không anh.
Cảm ơn anh & mọi người đã quan tâm.
 
Thây vì phải làm comment, em muốn thây thế nó bằng InputMessage trong Validation được không ạ, vì em muốn bàng đó hiện lên khi click chuột vào ô đó chứ không phải khì mình rà chuột đến ô đó thì nó hiện lên.
Mọi người giúp mình với
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom