おすすめパワポ本12選!プロから学ぶ資料作成術

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で水玉模様(ドットパターン)の作り方をご紹介します。水玉模様は、正方形と半円を組…

星のハニカム構造

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

矢印のハニカム構造

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

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

正六角形を作る

図形「六角形」では、すべての辺の長さが等しい正六角形を描くのは困難です。そこで「SmartArt」と「図形の結合」を使い、華麗に正六角形を作るテクニックをご紹介します。

詳細は、次の記事で解説しています。

PowerPointで正六角形をSmartArtで作る方法
PowerPointの図形「六角形」では、全ての辺の長さが等しい正六角形を描くのは困難です。そこで「…