Xin được Trợ giúp Code bị lỗi

Liên hệ QC

le_vis

Thành viên tích cực
Tham gia
23/7/09
Bài viết
1,292
Được thích
796
Tôi có sử dụng đoạn code để tự động chạy shapes (Thanh gạch chéo dưới phiếu xuất)

Private Sub Worksheet_Change(ByVal Target As Range)

Dim shp As Shape 'xoa duong cu

Me.Unprotect Password:="12480"

For Each shp In ActiveSheet.Shapes

If shp.Name Like "*Straight*" Then

shp.Delete

End If

tieptheo:

Next shp

'them duong moi

endr = Range("F100").End(xlUp).Row

For i = 24 To endr

tempt = Cells(i, 8).Value

If tempt = "" Then

stt = i

Exit For

End If

Next

Set rngStart = Range("E" & stt)

Set rngEnd = Range("H35")

BX = rngStart.Left

BY = rngStart.Top

EX = rngEnd.Left + rngEnd.Width

EY = rngEnd.Top

With ActiveSheet.Shapes.AddLine(BX, BY + 2, EX, EY + 0).Line

.ForeColor.RGB = vbRed

.Weight = 1#

End With

Me.Protect Password:=" 12480", AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFormattingCells:=True, AllowFormattingObjects:=True

End Sub

nhưng khi chạy bị lỗi đoạn code : AllowFormattingObjects:=True
Xin các bạn trợ giúp - Trân trọng cảm ơn !
 
Tôi có sử dụng đoạn code để tự động chạy shapes (Thanh gạch chéo dưới phiếu xuất)

Private Sub Worksheet_Change(ByVal Target As Range)

Dim shp As Shape 'xoa duong cu

Me.Unprotect Password:="12480"

For Each shp In ActiveSheet.Shapes

If shp.Name Like "*Straight*" Then

shp.Delete

End If

tieptheo:

Next shp

'them duong moi

endr = Range("F100").End(xlUp).Row

For i = 24 To endr

tempt = Cells(i, 8).Value

If tempt = "" Then

stt = i

Exit For

End If

Next

Set rngStart = Range("E" & stt)

Set rngEnd = Range("H35")

BX = rngStart.Left

BY = rngStart.Top

EX = rngEnd.Left + rngEnd.Width

EY = rngEnd.Top

With ActiveSheet.Shapes.AddLine(BX, BY + 2, EX, EY + 0).Line

.ForeColor.RGB = vbRed

.Weight = 1#

End With

Me.Protect Password:=" 12480", AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFormattingCells:=True, AllowFormattingObjects:=True

End Sub

nhưng khi chạy bị lỗi đoạn code : AllowFormattingObjects:=True
Xin các bạn trợ giúp - Trân trọng cảm ơn !
Xin các bạn quan tâm giúp - Nếu bỏ đoạn AllowFormattingObjects:=True thì cốt chạy bình thường nhưng cứ thoát máy nghỉ hôm sau bật lên thì shapes không tự động chạy được nữa. Kính mong nhận được sự quan tâm giúp đỡ của các bạn
 
Upvote 0
Anh thử đính kèm file lên cho mọi người coi với
 
Upvote 0
Xin các bạn quan tâm giúp - Nếu bỏ đoạn AllowFormattingObjects:=True thì cốt chạy bình thường nhưng cứ thoát máy nghỉ hôm sau bật lên thì shapes không tự động chạy được nữa. Kính mong nhận được sự quan tâm giúp đỡ của các bạn
Bạn thử thay AllowFormattingObjects:=True thành => DrawingObjects:=True xem thế nào.
Bài đã được tự động gộp:

Hình như code của bạn đưa lên không hết?
 
Upvote 0
Bạn thử thay AllowFormattingObjects:=True thành => DrawingObjects:=True xem thế nào.
Bài đã được tự động gộp:

Hình như code của bạn đưa lên không hết?
Cảm ơn bạn đã quan tâm . Code minh đưa lên đầy đủ rồi đó bạn . Mình đã thay thử = DrawingObjects:=True thì code chạy nhưng minh không hiểu tại sao khi trong cửa sổ Protect Sheet khi mình đánh dấu tích vào mục Edit objects xong cứ mỗi lần chạy code xong thì nó tự xóa mất dấu tích đi. Muốn giữ lại dấu tích đó thì phải sửa code ra sao bạn xem giúp - Xin cảm ơn
 
Upvote 0
Cảm ơn bạn đã quan tâm . Code minh đưa lên đầy đủ rồi đó bạn . Mình đã thay thử = DrawingObjects:=True thì code chạy nhưng minh không hiểu tại sao khi trong cửa sổ Protect Sheet khi mình đánh dấu tích vào mục Edit objects xong cứ mỗi lần chạy code xong thì nó tự xóa mất dấu tích đi. Muốn giữ lại dấu tích đó thì phải sửa code ra sao bạn xem giúp - Xin cảm ơn
Mặc định DrawingObjects:=True => không có dấu tích khi protect sheet, các shapes không sửa chữa được.
Có lẽ nếu ý định của bạn là không cho sửa hình sau khi protect thì bỏ DrawingObjects:=True code vẫn đúng yêu cầu.
Ngược lại thì sửa thành DrawingObjects:=False
 
Upvote 0
Mặc định DrawingObjects:=True => không có dấu tích khi protect sheet, các shapes không sửa chữa được.
Có lẽ nếu ý định của bạn là không cho sửa hình sau khi protect thì bỏ DrawingObjects:=True code vẫn đúng yêu cầu.
Ngược lại thì sửa thành DrawingObjects:=False
Xin cảm ơn CHAOQUAY - đúng ý định của mình rồi; Cảm ơn bạn nhiều
 
Upvote 0
Web KT

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

Back
Top Bottom