パズル作成

冬ごもりの第2弾
エクセルマクロで、
オートシェイプで描いた絵を
5×10のピースにして、
パズルにします。
アスキーPCに載ってたマクロを
少々アレンジ。
b0186959_12215368.jpg


1.画像を準備
2.画像に合わせてセルの行高を変更。
 幅は8.38のまま、
 行高は40にしました。
 (画像により要調整)
3.わかりやすいように、
 セルH2~L11に格子の線を入れておきます。
b0186959_1353159.jpg

4.マクロ記述

Sub パズル作成()
'選択した画像で50分割のパズルを作成する
Dim FileName As Variant
Dim Zukei As Shape
Dim Piece As Range
Application.ScreenUpdating = False
FileName = Application.GetOpenFilename()
If FileName = False Then Exit Sub
For Each Zukei In ActiveSheet.Shapes
Zukei.Delete
Next Zukei
Range("b2").Select
ActiveSheet.Pictures.Insert(FileName).Select
Selection.Width = 270
Selection.Left = 50
Selection.Top = 40
Randomize
For Each Piece In Range("b2:f11")
Piece.CopyPicture
Range("h2").Select
ActiveSheet.Paste
Selection.Left = Rnd() * 501 + 600
Selection.Top = Rnd() * 31 + 150
Next Piece
Application.CutCopyMode = False
Range("a1").Select
Application.ScreenUpdating = True
End Sub

5.マクロ実行
 すると、
 まず、ファイルを開く画面が出て、
 目的の画像を指定、開く。
b0186959_12355377.jpg

6.すると、
 画像と、
 50ピースに切り取られた画像が
 表示されます。
b0186959_124087.jpg

7.これを、配置していきます。
 (Alt抑えながらドラッグすると、
 枠線にぴったり合って配置できます)
 わかりやすい部分から攻めて…
b0186959_12473378.jpg

8.完成!
b0186959_132625.jpg

画像の大きさによって、
数値を調整せんなんね(^-^;
[PR]
by school-pc | 2016-01-21 13:03 | Comments(0)