パワポの【疑問】を解決!「よくあるご質問」はこちら ▶︎
スポンサーリンク
スポンサーリンク

PowerPointで六角形のハニカム構造パターンを作るマクロ

PowerPointで六角形の図形をタイル状に並べてハニカム構造のパターンを作るマクロ「ハニカム」をご紹介します。

Illustratorでパターンオプションのタイルの種類を「六角形」に設定して図形を並べた状態のパターンが作れるマクロです。

スポンサーリンク

ハニカム構造を作成するマクロ

コード

Sub ハニカム()

    Dim copyNum As String
    Dim shpW As Single
    Dim shpH As Single
    Dim n As Long
    Dim shp As Shape
    Dim List() As Variant
    
    'コピー数を入力
    copyNum = InputBox("コピー数を入力してください。")
    
    '数値以外が入力された場合はマクロを終了
    If IsNumeric(copyNum) Then
        ElseIf copyNum = "" Then
        Exit Sub
    Else
        msg = "数値を入力してください。"
        MsgBox msg
        Exit Sub
    End If
    
    '六角形のサイズ
    shpW = Round(2.2 * 720 / 25.4, 1)
    shpH = Round(2 * 720 / 25.4, 1)
    
    '選択中のスライド番号を取得
    n = ActiveWindow.Selection.SlideRange.SlideIndex
    
    With ActivePresentation.Slides(n).Shapes

        '縦方向に繰り返し処理
        For i = 1 To copyNum
        
            '六角形を作成
            Set shp = .AddShape( _
            Type:=msoShapeHexagon, _
            Left:=0, _
            Top:=shpH * (i - 1), _
            Width:=shpW, _
            Height:=shpH)
        
            '図形の色
            shp.Fill.ForeColor.RGB = RGB(255, 255, 255)
            '線幅
            shp.Line.Weight = 1
            '線の色
            shp.Line.ForeColor.RGB = RGB(0, 0, 0)
            '図形の名前
            shp.Name = "shp" & i
            
        Next i
    
        '全ての図形を配列に追加
        For a = 1 To copyNum
            ReDim Preserve List(a)
            List(a) = "shp" & a
        Next a

        '全ての図形をグループ化
        .Range(List).Group
        'グループ化した図形をコピー
        .Range.Copy
        'グループ化解除
        .Range.Ungroup
   
        '横方向に繰り返し処理
        For i = 1 To copyNum
        
            'グループ化した図形をペースト
            With .Paste
            
                '横位置
                .Left = Round(1.7 * 720 / 25.4, 1) * i
                '偶数、奇数の判定
                If (i Mod 2) = 0 Then
                    '偶数列の縦位置
                    .Top = 0
                Else
                    '奇数列の縦位置
                    .Top = Round(1 * 720 / 25.4, 1)
                End If
                'グループ化解除
                .Ungroup
                
            End With
        Next i
    End With
End Sub

実行結果

実行するとダイアログが開くので、コピー数を入力して「OK」をクリックします。

六角形がタイル状に隙間なく並びます。正方形に近しいサイズになるように横方向をコピー数より1列多く複製しています。不要な部分は手動で削除しましょう。

ハニカム構造のダイヤグラムを作成する

ハニカムパターンの不要な部分を削除してハニカム構造のダイヤグラムを作ることができます。

スポンサーリンク

ハニカムでいろんな図形を並べてみよう!

ここからが「ハニカム」の醍醐味です。「ハニカム」で並べた六角形を他の図形と入れ替えるだけで、様々な図形をハニカム構造で並べることが可能になります。

円のハニカム構造

六角形を円に変更します。グループ化している場合は全て解除しましょう。

六角形を全て選択します。

図形を選択した状態で、「描画ツールの書式」タブ →「図形の挿入」グループ →「図形の編集」→「図形の変更」→「楕円」を選択します。

全ての図形が楕円に変わりました。

「図形の書式設定」ウィンドウ →「図形のオプション」→「サイズとプロパティ」→「サイズ」→「高さ:1cm」「幅:1cm」に設定します。サイズはお好みで変更してOKです。

色を変更して水玉模様の完成です。整列や計算をする必要がないので、簡単にハニカム構造のパターンが作れるようになりました。

水玉模様は「塗りつぶし(図またはテクスチャ)」で図形を並べて作る方法もあります。

詳細は、次のチュートリアルをご参考にしていただければ幸いです。

PowerPointでドット柄(水玉模様)パターンを作る方法
PowerPointで背景素材として使えるドット柄(水玉模様)パターンの作り方をご紹介します。Ill…

星のハニカム構造

前項と同じように「図形の変更」から「星:5pt」を選択します。星のハニカム構造は、平行・垂直方向に並べるよりも動きが出てキラキラ感がアップします。

矢印のハニカム構造

単体では使い方に困るような図形もハニカム構造で並べると、何だかポップでかわいくなりました。

「ハニカム」を使えば、今まで眠っていた図形にもスポットライトが当たるかも!

みんなも「ハニカム」でいろんな図形を並べてみよう!