ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ½Ð°Ý¸Ó¦p¦óÅܧó¤u§@ªí¤¤ªº¹Ï¤ù¯Á¤Þ­È¡H

¦^´_ 1# baconbacons
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Sh As Worksheet, AR(), P(), i As Integer, X As Integer
  4.     Dim M As Single, M1 As Single, MyPicture As String
  5.     Set Sh = Sheet1
  6.     X = 1
  7.     For i = 1 To Sh.Shapes.Count
  8.         If Sh.Shapes(i).Type = msoPicture Then 'ªí¤u§@ªí¤Wªº¹Ï®× ¬O¹Ï¤ù
  9.             ReDim Preserve AR(1 To X)
  10.             ReDim Preserve P(1 To X)
  11.             AR(X) = Sh.Shapes(i).Top  '¬ö¿ý±q¹Ï®×½d³ò¤¤³Ì³»ºÝ¹Ï®×ªº³»ºÝ¨ì¤u§@ªí³»ºÝªº¶ZÂ÷
  12.             P(X) = i                  '¬ö¿ýªí¤u§@ªí¤W¹Ï®×ªº¯Á¤Þ¦ì¸m
  13.             X = X + 1
  14.         End If
  15.     Next
  16.     '******** ¿ï¨ú¹Ï¤ù ********
  17.     With Application.FileDialog(msoFileDialogOpen)
  18.         .Filters.Add "Images", "*.gif; *.jpg; *.jpeg", 1
  19.         .FilterIndex = 1
  20.         If .Show = True Then
  21.             MyPicture = .SelectedItems(1)
  22.         Else
  23.             MsgBox "¨S¦³¿ï¾Ü¹Ï¤ù!!!"
  24.             Exit Sub
  25.         End If
  26.     End With
  27.    
  28.     If X = 1 Then
  29.        If MsgBox("·s¼W¹Ï¤ù :" & MyPicture, vbYesNo, Sh.Name) = vbNo Then Exit Sub
  30.        i = 0
  31.     Else
  32.         On Error Resume Next
  33.         i = InputBox("·s¼W¹Ï¤ù :" & MyPicture & " ¬°²Ä´X±i¹Ï¤ù", Sh.Name & " ¹Ï¤ù¦@ " & X - 1 & " ±i")
  34.         If Err <> 0 Then Exit Sub
  35.         If i = 0 Or i > X Then
  36.             MsgBox "²Ä" & i & "±i ¤£¦b½d³ò¤¤"
  37.             Exit Sub
  38.         End If
  39.         '*******²¾°Ê¹Ï¤ù¦ì¸m
  40.         For X = UBound(AR) To i Step -1  '¹Ï¤ùÀɥѤU©¹¤W¤U²¾¦ì¸m
  41.             M = Application.Small(AR, X)
  42.             M = Application.Match(M, AR, 0)
  43.             With Sh.Shapes(P(M))
  44.                 If UBound(AR) = 1 And X = UBound(AR) Then
  45.                     M1 = .Height + [A1].Height
  46.                 ElseIf X > 1 Then
  47.                     M1 = Application.Small(AR, X - 1)
  48.                     M1 = .Top + (.Top - Application.Small(AR, X - 1))
  49.                 ElseIf X = i Then
  50.                     M1 = Application.Small(AR, X + 1)
  51.                 End If
  52.                 .Top = M1
  53.             End With
  54.         Next
  55.     End If
  56.     With Sh.Pictures.Insert(MyPicture)
  57.         If i = 0 Then
  58.             .Top = 0
  59.             .Left = 0
  60.         ElseIf i >= 1 And i <= UBound(AR) Then
  61.             .Top = Application.Small(AR, i)
  62.             .Left = Sh.Shapes(P(1)).Left
  63.         ElseIf i > UBound(AR) Then
  64.             M = Application.Small(AR, UBound(AR))
  65.             M = Application.Match(M, AR, 0)
  66.             .Top = Sh.Shapes(P(M)).Top + Sh.Shapes(P(M)).Height + [A1].Height
  67.             .Left = Sh.Shapes(P(M)).Left
  68.         End If
  69.         .Height = 200
  70.         .Width = 200
  71.     End With
  72. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : §Ú­Ì­n°µ¦nªÀ·|ªºÀô«O¡A¤]­n°µ¦n¤º¤ßªºÀô«O¡C
ªð¦^¦Cªí ¤W¤@¥DÃD