Cách tạo macro để di chuyển giá trị của ô này sang 1 ô khác

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

123

Thành viên mới
Tham gia
6/9/07
Bài viết
20
Được thích
1
Chào các anh chị
em muốn tạo 1 hàm để cắt giá trị của 1 ô và dán vào 1 ô khác. Hàm như sau:

function chuyen(nguon as string, dich as string) as string
dich = nguon
nguon = ""
chuyen = "OK"
end function

khi em có số liệu ở ô A1, muốn chuyển số liệu này qua ô C2, lúc này đang đứng ở ô B1, em nhập công thức vào ô B1 như sau: = chuyen(A1,C2)
nhưng kết quả trả về không phải là OK mà lại là #VALUE

Các anh chị xem giúp em nhé, trong trường hợp này, có thể sử dụng phương án khác thay vì lập hàm này không ạ?
 
Bạn có thể xài cặp macro sau

Hướng dẫn dùng:

(1) Bạn gán cho macro đầu 1 tổ hợp fím nóng mà bạn yêu thích;
(2) Hãy chọn ô trống mà muốn macro hiện lên các ký tự 'OK' khi nó xong nhiệm vụ cho bạn;
(3) Nhấn tổ hợp fím nóng để chạy macro HayChuyen
(4) Xuất hiện hộp thoại hỏi bạn chọn địa chỉ ô đầu cần chuyển, bạn dùng chuộc chọn lấy ô nào đó muốn chuyển đi
(5) Giống bước (4), nhưng cần chọn ô cần chuyển tới
(6) . . . . . Tung hô VBA!

PHP:
Option Explicit

Sub HayChuyen()
 Dim Rng1 As Range, Rng2 As Range
 Set Rng1 = Application.InputBox("Hay Chon O Can Chuyen", "GPE.COM", [A1].Address, Type:=8)
 Set Rng2 = Application.InputBox("Hay Chon O Can Chuyen", "GPE.COM", [C1].Address, Type:=8)
 Chuyen Rng1, Rng2
 Selection.Value = "OK"
End Sub

PHP:
Sub Chuyen(Rng1 As Range, Rng2 As Range)
 Dim Temp As Variant
 
 Temp = Rng1.Value:              Rng1.Value = Rng2.Value
 Rng2.Value = Temp
End Sub
 
Upvote 0
Mình cũng có ý muốn hỏi 1 code tương tự mình có 1 fíle ví dụ mong các bạn giúp nhe:
Mình có 2 sheet trước và sau: mình bấm insertrow nó sẽ hiển thị ra giống như sheet sau của mình nhưng cùng 1 sheed rồi mình bấm delete row thì nó sẽ trở lại bình thường , vì có 1 vấn đề bảng lương công ty quá nhiều nhân viên mà 1 lần insert như thế rất là lâu mong các bạn giúp đỡ
View attachment Vi Du.xls
 
Upvote 0
Mình cũng có ý muốn hỏi 1 code tương tự mình có 1 fíle ví dụ mong các bạn giúp nhe:
Mình có 2 sheet trước và sau: mình bấm insertrow nó sẽ hiển thị ra giống như sheet sau của mình nhưng cùng 1 sheed rồi mình bấm delete row thì nó sẽ trở lại bình thường , vì có 1 vấn đề bảng lương công ty quá nhiều nhân viên mà 1 lần insert như thế rất là lâu mong các bạn giúp đỡ
View attachment 26515

Sử dụng sub này :

PHP:
Sub InsertRow()
    n = Range("A65000").End(xlUp).Row
    For i = n To 5 Step -1
        Rows(i & ":" & i).Insert Shift:=xlDown
    Next
End Sub
Sub DeleteRow()
    n = Range("A65000").End(xlUp).Row
    For i = n - 1 To 5 Step -2
        Rows(i & ":" & i).Delete Shift:=xlUp
    Next
End Sub

Xem file đính kèm
Thân
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom