Page 1 of 1

โค้ดเรียกรูปภาพมาไว้ใน cell

Posted: Thu Jan 29, 2015 2:59 pm
by Ponpimon
หนูทำโค้ดเรียกรูปภาพขึ้นมา แต่เมื่อเรียกรูปภาพขึ้นมาแล้ว ภาพมันจะไปแสดงในcellที่มันactiveอยู่ อยากให้ภาพที่เรียกขึ้นมา เรียงลงมาเรื่อยๆถัดกันมาเอง แบบว่าเรากำหนดแค่เพียงตำแหน่งแรก แล้วพอเรียกภาพอื่นต่อไปอีก ให้ภาพอื่นๆบันทึกลงในcell ถัดลงมา

Re: โค้ดเรียกรูปภาพมาไว้ใน cell

Posted: Thu Jan 29, 2015 3:06 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
With pic
    .ShapeRange.LockAspectRatio = msoFalse
    ActiveCell.Offset(1, 0).Activate
    .Height = ActiveCell.Height
    .Width = ActiveCell.Width
    .Top = ActiveCell.Top
    .Left = ActiveCell.Left
    .Placement = xlMoveAndSize
End With
'Other code

Re: โค้ดเรียกรูปภาพมาไว้ใน cell

Posted: Thu Jan 29, 2015 3:17 pm
by Ponpimon
รูปภาพมันก็ยังอยู่ในcellที่เราactiveค่ะ

Re: โค้ดเรียกรูปภาพมาไว้ใน cell

Posted: Thu Jan 29, 2015 3:35 pm
by snasui
:D ไม่ทราบว่ากำหนดให้เรียงที่คอลัมน์ใดครับ :?: เขียนให้เรียงในคอลัมน์นั้นมาก่อน ติดตรงไหนค่อยมาถามกันต่อ

Code นั้นเรียงที่ Activecell และหากเราเรียกรูปอื่นเพิ่มเติม ก็จะวางในเซลล์ถัดไปด้านล่างเรื่อย ๆ ครับ

Re: โค้ดเรียกรูปภาพมาไว้ใน cell

Posted: Thu Jan 29, 2015 5:26 pm
by Ponpimon
อาจารย์คะ หนูเปลี่ยนเป็นให้รูปไปแสดงในกล่อง image ของ sheet2 แต่ปุ่มกดaddภาพอยู่ใน sheet1 ค่ะ

Re: โค้ดเรียกรูปภาพมาไว้ใน cell

Posted: Thu Jan 29, 2015 5:45 pm
by snasui
:D ควรอธิบายให้ชัดเจนว่าสิ่งที่ต้องการเป็นอย่างไร ต้องการให้ภาพแสดงที่ชีทไหน เซลล์ไหน จะได้เข้าใจตรงกัน

ตัวอย่างการปรับ Code ตามด้านล่าง

Code: Select all

Private Sub CommandButton1_Click()
    Dim ra As Range
    Dim cPicture, pic
    Dim sImgFileFormat As String
    cPicture = Application.GetOpenFilename("Pictures(*.jpg),*.gif", , "SelectPiture")
    MsgBox "Open" & cPicture
    If cPicture = "False" Then Exit Sub
    Sheets(2).Image1.Picture = LoadPicture(cPicture)
    Sheets(2).Image1.PictureSizeMode = fmPictureSizeModeStretch
    Set pic = Sheets(2).Pictures.Insert(cPicture)
    With pic
        .ShapeRange.LockAspectRatio = msoFalse
        ActiveCell.Offset(1, 0).Activate
        .Height = ActiveCell.Height
        .Width = ActiveCell.Width
        .Top = ActiveCell.Top
        .Left = ActiveCell.Left
        .Placement = xlMoveAndSize
    End With
    Set pic = Nothing
End Sub

Re: โค้ดเรียกรูปภาพมาไว้ใน cell

Posted: Thu Jan 29, 2015 7:19 pm
by Ponpimon
ได้แล้วค่ะ ขอบคุณมากค่ะ รอบหน้าหนูจะปรับปรุงค่ะ ^^