Nhờ viết code paste values cho tất cả các sheet

Liên hệ QC

alibaba2209

Thành viên thường trực
Tham gia
4/12/10
Bài viết
283
Được thích
13
Mình muốn 1 code paste values cho all sheet trong 1 file cell!
à! thêm code trước khi lệnh thực hiện thì nó sẽ hỏi bạn có chắc chắn muốn paste valuescho all sheet "yes or no"
mong được giúp đỡ.. xin chân thành cảm ơn
 
Lần chỉnh sửa cuối:
có phải bạn muốn như vầy: https://www.dropbox.com/s/4fdrrc1wtnjetz6/code copy pastespecial for all sheet.xls?dl=0
Mã:
Option Explicit
Sub Rectangle2_Click()
Dim ws As Worksheet, str As String
str = ActiveSheet.Name
ActiveSheet.Cells.Copy
For Each ws In Worksheets
    If ws.Name <> str Then
        ws.Cells.PasteSpecial Paste:=xlPasteValues
    End If
Next ws
Application.CutCopyMode = False
Sheets(str).Select
Sheets(str).Range("a1").Select
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
có phải bạn muốn như vầy: https://www.dropbox.com/s/4fdrrc1wtnjetz6/code copy pastespecial for all sheet.xls?dl=0
Mã:
Option Explicit
Sub Rectangle2_Click()
Dim ws As Worksheet, str As String
str = ActiveSheet.Name
ActiveSheet.Cells.Copy
For Each ws In Worksheets
    If ws.Name <> str Then
        ws.Cells.PasteSpecial Paste:=xlPasteValues
    End If
Next ws
Application.CutCopyMode = False
Sheets(str).Select
Sheets(str).Range("a1").Select
End Sub
Code chạy bị lỗi linh tinh bạn à, mất hết cả số liệu trong file, bạn xem lại dùm
 
Upvote 0
Mình muốn 1 code pase valure cho all sheet trong 1 file cell!
à! thêm code trước khi lệnh thực hiện thì nó sẽ hỏi bạn có chắc chắn muốn pase valure cho all sheet "yes or no"
mong được giúp đỡ.. xin chân thành cảm ơn

Điều đầu tiên mà bạn nên làm là đưa lên đây file dữ liệu để mọi người test code nhé
 
Upvote 0
Bạn học lậi tiếng Anh trước khi viết bài nhé!
 
Upvote 0
dạ vâng! file có code rồi anh à..

Thử code thế này xem:
Mã:
Sub ValueAll()
  Dim Ans As VbMsgBoxResult, wks As Worksheet
  On Error Resume Next
  Ans = MsgBox("Ban muon paste values tat ca các sheet?", vbYesNo)
  If Ans = vbYes Then
    Application.ScreenUpdating = False
    For Each wks In ThisWorkbook.Worksheets
      wks.Unprotect
      wks.AutoFilterMode = False
      wks.UsedRange.Value = wks.UsedRange.Value
    Next
    Application.ScreenUpdating = True
    MsgBox "Da chuyen xong!"
  End If
End Sub
 
Upvote 0
Thử code thế này xem:
Mã:
Sub ValueAll()
  Dim Ans As VbMsgBoxResult, wks As Worksheet
  On Error Resume Next
  Ans = MsgBox("Ban muon paste values tat ca các sheet?", vbYesNo)
  If Ans = vbYes Then
    Application.ScreenUpdating = False
    For Each wks In ThisWorkbook.Worksheets
      wks.Unprotect
      wks.AutoFilterMode = False
      wks.UsedRange.Value = wks.UsedRange.Value
    Next
    Application.ScreenUpdating = True
    MsgBox "Da chuyen xong!"
  End If
End Sub
Vâng thưa thầy! đúng theo nguyện vọng của em rồi.. cảm ơn thầy nhiều.
 
Upvote 0
Thử code thế này xem:
Mã:
Sub ValueAll()
  Dim Ans As VbMsgBoxResult, wks As Worksheet
  On Error Resume Next
  Ans = MsgBox("Ban muon paste values tat ca các sheet?", vbYesNo)
  If Ans = vbYes Then
    Application.ScreenUpdating = False
    For Each wks In ThisWorkbook.Worksheets
      wks.Unprotect
      wks.AutoFilterMode = False
      wks.UsedRange.Value = wks.UsedRange.Value
    Next
    Application.ScreenUpdating = True
    MsgBox "Da chuyen xong!"
  End If
End Sub
à! thưa thầy! giờ em muốn chuyển file code đó ra thành 1 file để dùng như add in thì là thế nào ạ
 
Upvote 0
à! thưa thầy! giờ em muốn chuyển file code đó ra thành 1 file để dùng như add in thì là thế nào ạ

1> Cách đơn giản: Gán cho nó 1 phím tắt (bằng cách bấm Alt + F8, chọn Options rồi gán phím tùy ý). Xong, cứ Save thành AddIn bình thường. Muốn gọi code trong addIn, cứ bấm phím tắt là xong
2> Cách cầu kỳ: Tạo 1 nút trên Toolbar để gọi code. Cách này thì nhìn đẹp nhưng mà tôi.. làm biếng quá
 
Upvote 0
à! thưa thầy! giờ em muốn chuyển file code đó ra thành 1 file để dùng như add in thì là thế nào ạ
Cách đơn giản nhất là gán phím tắt cho sub đó.
Bạn cho đoạn sau vào 1 module. Save as file ở dạng *.xla (hoặc *.xlam) để được 1 addIns.
PHP:
Sub Auto_open()
Application.OnKey "^+{v}", "ValueAll" 'Phim tat: Ctrl + shift + v
End Sub

Sub ValueAll()
  Dim Ans As VbMsgBoxResult, wks As Worksheet
  On Error Resume Next
  Ans = MsgBox("Ban muon paste values tat ca các sheet?", vbYesNo)
  If Ans = vbYes Then
    Application.ScreenUpdating = False
    For Each wks In ThisWorkbook.Worksheets
      wks.Unprotect
      wks.AutoFilterMode = False
      wks.UsedRange.Value = wks.UsedRange.Value
    Next
    Application.ScreenUpdating = True
    MsgBox "Da chuyen xong!"
  End If
End Sub
 
Upvote 0
1> Cách đơn giản: Gán cho nó 1 phím tắt (bằng cách bấm Alt + F8, chọn Options rồi gán phím tùy ý). Xong, cứ Save thành AddIn bình thường. Muốn gọi code trong addIn, cứ bấm phím tắt là xong
2> Cách cầu kỳ: Tạo 1 nút trên Toolbar để gọi code. Cách này thì nhìn đẹp nhưng mà tôi.. làm biếng quá
Thưa thầy! muốn đổi tên Module thì phải làm thế nào ạ!
 
Upvote 0
Cách đơn giản nhất là gán phím tắt cho sub đó.
Bạn cho đoạn sau vào 1 module. Save as file ở dạng *.xla (hoặc *.xlam) để được 1 addIns.
PHP:
Sub Auto_open()
Application.OnKey "^+{v}", "ValueAll" 'Phim tat: Ctrl + shift + v
End Sub

Sub ValueAll()
  Dim Ans As VbMsgBoxResult, wks As Worksheet
  On Error Resume Next
  Ans = MsgBox("Ban muon paste values tat ca các sheet?", vbYesNo)
  If Ans = vbYes Then
    Application.ScreenUpdating = False
    For Each wks In ThisWorkbook.Worksheets
      wks.Unprotect
      wks.AutoFilterMode = False
      wks.UsedRange.Value = wks.UsedRange.Value
    Next
    Application.ScreenUpdating = True
    MsgBox "Da chuyen xong!"
  End If
End Sub
kí hiệu của ctrl + shift là " ^ " à bạn............................................
 
Upvote 0
Thử code thế này xem:
Mã:
Sub ValueAll()
  Dim Ans As VbMsgBoxResult, wks As Worksheet
  On Error Resume Next
  Ans = MsgBox("Ban muon paste values tat ca các sheet?", vbYesNo)
  If Ans = vbYes Then
    Application.ScreenUpdating = False
    For Each wks In ThisWorkbook.Worksheets
[COLOR=#008000]      wks.Unprotect
      wks.AutoFilterMode = False[/COLOR]
      wks.UsedRange.Value = wks.UsedRange.Value
    Next
    Application.ScreenUpdating = True
    MsgBox "Da chuyen xong!"
  End If
End Sub
thầy cho em hỏi vì sao phải thêm unprotect và autofiltermode=false, vì nếu sheet khóa bằng mật khẩu cũng ko unprotect được ...,
 
Upvote 0
Upvote 0
Web KT

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

Back
Top Bottom