Chuyển đổi dữ liệu ở hai ô cho nhau

Liên hệ QC

ngoctcef

Thành viên mới
Tham gia
8/7/08
Bài viết
2
Được thích
0
Các bác giúp em chuyển đổi giữ liệu ở 2 ô trong excell cho nhau với. Có chức năng nào như vậy không hay làm phải làm thủ công. Hoặc có macro nào đáp ứng được không hả các bác ơi. Giúp em với. ngoctcef@gmail.com
 
Lần chỉnh sửa cuối:
Phải qua trung gian để chứa tạm dữ liệu

Từ vùng {A} =>> {Temp};
Từ {B} ==>> {A} & sau cùng là {Temp}==>> {B}

Trong macro cũng rứa mà thôi! Khác chăng là khai biến Temp cho phù hợp với dữ liệu vùng cần duy chuyển.

Thân ái!
 
Tại sao không dùng cắt dán hả bạn?
 
Tại sao không dùng cắt dán hả bạn?
Dù cắt dán thì cách làm cũng sẽ giống như bạn ChanhTQ@ vừa nói mà thôi...
Ở đây bàn về thuật toán chung: (còn phương pháp thì vô vàn)
-Chuyển A sang vùng tạm
-Chuyển B đến A
-Chuyển vùng tạm vào B

3 bước cơ bản! (khỏi học bất cứ ngôn ngữ lập trình nào người ta cũng sẽ suy luận là thế)
 
Lần chỉnh sửa cuối:
Cảm ơn các bác, em muốn làm được chức năng chuyển đổi dữ liệu giữa 2 ô giống như chơi Picachu ấy, vì em xếp thời khóa biểu bao nhiêu môn mà cắt dán thì không thể khả thi được. Mỗi khi hoán vị các tiết học cho nhau mà làm cắt dán em nghĩ là hạ sách lắm. Các bác nghĩ giúp em với. Rất cảm ơn các bác
 
Lần chỉnh sửa cuối:
Cảm ơn các bác, em muốn làm được chức năng chuyển đổi dữ liệu giữa 2 ô giống như chơi Picachu ấy, vì em xếp thời khóa biểu bao nhiêu môn mà cắt dán thì không thể khả thi được. Mỗi khi hoán vị các tiết học cho nhau mà làm cắt dán em nghĩ là hạ sách lắm. Các bác nghĩ giúp em với. Rất cảm ơn các bác
Bạn chép code này vào trang viết VBA của sheet mà bạn muốn chuyển đổi ô. Nó dùng 2 thao tác chuột là click đôi và click phải.
Ví dụ muốn chuyển giữa 2 ô A1 và D1:
- click đôi vào A1
- Chọn D1 > click phải.

Mã:
Public HVi1
Public Rng1 As Range

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Set Rng1 = Target
HVi1 = Rng1.Value
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Rng1 = Target.Value
Target.Value = HVi1
End Sub
 

File đính kèm

  • ChuyenDuLieu.xls
    28 KB · Đọc: 18
Xin góp vui với! Bạn dùng code này thỉ cần nhấn chuột phải thôi để hoán chuyển dữ liệu, không cần thay đổi động tác!
Mã:
 [COLOR=#000000][COLOR=#007700][FONT=Courier New]Public [/FONT][/COLOR][FONT=Courier New][COLOR=#0000bb]HVi1[/COLOR][/FONT] [FONT=Courier New][COLOR=#007700]Public [/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]Rng1[/COLOR][/FONT] [FONT=Courier New][COLOR=#007700]Public [/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]TG[/COLOR][/FONT]   [FONT=Courier New][COLOR=#007700]Private [/COLOR][COLOR=#0000bb]Sub Worksheet_BeforeRightClick[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]ByVal Target [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000bb]Range[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000bb]Cancel [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000bb]Boolean[/COLOR][/FONT][FONT=Courier New][COLOR=#007700])[/COLOR][/FONT] [FONT=Courier New][COLOR=#0000bb]Cancel [/COLOR][COLOR=#007700]= [/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]True[/COLOR][/FONT] [FONT=Courier New][COLOR=#007700]If [/COLOR][COLOR=#0000bb]HVi1 [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"" [/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]Then[/COLOR][/FONT] [FONT=Courier New][COLOR=#0000bb][COLOR=white]___[/COLOR]Rng1 [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]Target[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Address[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]0[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000bb]0[/COLOR][/FONT][FONT=Courier New][COLOR=#007700])[/COLOR][/FONT] [FONT=Courier New][COLOR=#0000bb][COLOR=white]___[/COLOR]HVi1 [/COLOR][COLOR=#007700]= [/COLOR][/FONT][COLOR=#0000bb][FONT=Courier New]Target[/FONT][/COLOR] [FONT=Courier New][COLOR=#007700]Else[/COLOR][/FONT] [FONT=Courier New][COLOR=#0000bb][COLOR=white]___[/COLOR]TG [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]Target[/COLOR][COLOR=#007700].[/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]Value[/COLOR][/FONT] [FONT=Courier New][COLOR=#0000bb][COLOR=white]___[/COLOR]Target[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Value [/COLOR][COLOR=#007700]= [/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]HVi1[/COLOR][/FONT] [FONT=Courier New][COLOR=#0000bb][COLOR=white]___[/COLOR]Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]Rng1[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]Value [/COLOR][COLOR=#007700]= [/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]TG[/COLOR][/FONT] [FONT=Courier New][COLOR=#0000bb][COLOR=white]___[/COLOR]HVi1 [/COLOR][COLOR=#007700]= [/COLOR][/FONT][FONT=Courier New][COLOR=#dd0000]""[/COLOR][/FONT] [FONT=Courier New][COLOR=#0000bb]End [/COLOR][/FONT][COLOR=#007700][FONT=Courier New]If[/FONT][/COLOR] [COLOR=#0000bb][FONT=Courier New]End Sub[/FONT][/COLOR][/COLOR]
Thân.
 
Lần chỉnh sửa cuối:
Xin góp vui với!
Bạn dùng code này thỉ cần nhấn chuột phải thôi để hoán chuyển dữ liệu, không cần thay đổi động tác!
Sử dụng một động tác nhấn chuột phải thật tiện nhưng áp dụng vào thực tế thì bất tiện.
Bạn có ý định hoán chuyển 2 ô B1 và B5 và đã nhấn chuột phải vào B1, nhưng bạn phát hiện mình thao tác sai, phải chuyển 2 ô B2 và B5 thì làm sao? Nếu nhấn chuột phải vào B2 có nghĩa là hoán chuyển B1 và B2 !
 
Web KT
Back
Top Bottom