参考:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10121948830
参考コードを参考に、改造してみました。
以下のコードが、画像化コードです。
警告:このコードを実行するときのシートは「Sheet1」で実行してください。
注意:このコードを実行するときは低スペックPCでの実行をお勧めしません。
Sub FaceID一覧表()
Application.ScreenUpdating = False
Dim R As Range
Dim CB As CommandBar
Dim IX2 as long
Worksheets.Add.Name = "FaceId"
Range("A:J").RowHeight = 22
Range("A:J").ColumnWidth = 12
Range("A:J").HorizontalAlignment = xlCenter
On Error GoTo ENDJOB
Set CB = CommandBars.Add(Name:="AllFaceId")
CB.Visible = True
With CB.Controls.Add
IX2 = 0
For Each C In Range("A1:J300") '1
IX2 = IX2 + 1
.FaceId = IX2
.CopyFace
C.PasteSpecial
With Worksheets("Sheet1")
With.Shapes(.Shapes.Count)
.Height = 8 '2
.Width = 8 '3
End With
End With
C.Value = IX2
Next
End With
ENDJOB:
CB.Delete
Application.ScreenUpdating = True
End Sub
検証済Office:参考サイトから・Excel 97 からできる模様
(もちろん最新の2013でも検証済)
解説:
'1 A1はそのまま。J300。ここが奥深いです。例えば、
3000個見たい時は300(このコードは3000個専用)
5000個見たい時は500
10000個見たい時は1000(xp・2003では不可)
20000個見たい時は2000(2010以上のOfficeのみ)
25000個見たい時は2500(2013以上のOfficeのみ)
と、改造することができます。
'2 横のサイズ。
'3 縦のサイズ。
このコードで実行された画像をGIMP(16×16)にペーストすると、
ちょうど合うように設計されています。
32×32などの別サイズは各自改造してご利用ください。