Hỏi về đoạn Code chèn hình ảnh

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

nghiah5

Thành viên mới
Tham gia
21/3/11
Bài viết
12
Được thích
0
Chào mọi người.
Em đọc được bài viết của anh Sealand trên diễn đàn GPE chúng ta (nguồn: http://www.giaiphapexcel.com/forum/showthread.php?41076-Quản-lý-hình-ảnh-bằng-Excel.)
Em thấy rất hay và muốn học nó nhưng có vài đoạn code em không hiểu nhờ mấy anh chỉ giúp.
Đoạn code như sau:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$AP$3" Then
Dim anh As Shape
With Sheet3
For Each anh In .Shapes
If anh.Name Like "Rectangle*" Then anh.Delete
Next
Application.ScreenUpdating = False
.Activate
Sheet1.Shapes("Rectangle " & .[AP3].Value).Copy
.[c3].Select
ActiveSheet.Paste
For Each anh In .Shapes
If anh.Name Like "Rectangle*" Then
anh.Top = .[C3:I10].Top
anh.Left = .[C3:I10].Left
anh.Height = .[C3:I10].Height
anh.Width = .[C3:I10].Width
End If
Next
Application.ScreenUpdating = True
Application.CutCopyMode = False
.[AP3].Select
End With
End If
End Sub

Em muốn hỏi là, khi thay đổi dấu * của từ "Rectangle*" thì kết quả xuất ra hoàn toàn khác, cụ thể: có dấu * xuất ra hình có kích thước C3:I10, nếu không có dấu * (hoặc ký tự khác) thì xuất ra hình với kích thước như dữ liệu hình ảnh. Tại sao vậy ạ? mấy anh giải thích thêm
Link tải file của anh sealand : http://www.4shared.com/document/QRTWeMFB/The_NV.html
camr ơn mọi người nhiều
 
Em muốn hỏi là, khi thay đổi dấu * của từ "Rectangle*" thì kết quả xuất ra hoàn toàn khác, cụ thể: có dấu * xuất ra hình có kích thước C3:I10, nếu không có dấu * (hoặc ký tự khác) thì xuất ra hình với kích thước như dữ liệu hình ảnh. Tại sao vậy ạ? mấy anh giải thích thêm
Link tải file của anh sealand : http://www.4shared.com/document/QRTWeMFB/The_NV.html
camr ơn mọi người nhiều
Bạn sửa code thành vầy cho nó gọn:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  On Error Resume Next
  If Target.Address = "$AP$3" Then
    Application.ScreenUpdating = False
    With Sheet3
      .Rectangles.Delete
      Sheet1.Shapes("Rectangle " & Target).Copy: .Paste
      With .Rectangles(1)
        .Top = .Parent.Range("C3:I10").Top
        .Left = .Parent.Range("C3:I10").Left
        .Height = .Parent.Range("C3:I10").Height
        .Width = .Parent.Range("C3:I10").Width
      End With
      Target.Select
    End With
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
  End If
End Sub
Khỏi for.. next gì cả
 
Upvote 0
Web KT

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

Back
Top Bottom