<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/konkensyu/">
    <title>konkensyu @ ウィキ</title>
    <link>http://w.atwiki.jp/konkensyu/</link>
    <atom:link href="https://w.atwiki.jp/konkensyu/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>konkensyu @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2011-08-03T09:55:41+09:00</dc:date>
    <utime>1312332941</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/konkensyu/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/konkensyu/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/konkensyu/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/konkensyu/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/konkensyu/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/konkensyu/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/konkensyu/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/konkensyu/pages/8.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/konkensyu/pages/9.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/konkensyu/pages/10.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/konkensyu/pages/18.html">
    <title>sample/karimoto-tyosa</title>
    <link>https://w.atwiki.jp/konkensyu/pages/18.html</link>
    <description>
      Option Explicit

Sub 仮元帳チェックマクロ()
&#039;
&#039;エラーの際は「エラー処理」へ
On Error GoTo エラー処理

&#039;変数定義
    Dim CYALL As Variant, 行数 As Variant, 列数 As Variant, データ名 As Variant
    
&#039;変数の値代入
    CYALL = Worksheets(2).Name
    行数 = Worksheets(1).Range(&quot;A1&quot;).End(xlDown).Row
    列数 = Worksheets(Worksheets.Count).Range(&quot;B26&quot;)
    データ名 = ActiveWorkbook.Name
    
&#039;元帳操作
    With Worksheets(1)
        .Range(&quot;O1&quot;).Value = &quot;ST_部門ｺｰﾄﾞ&quot;
        .Range(&quot;P1&quot;).Value = &quot;ST_部門名称&quot;
        .Range(&quot;Q1&quot;).Value = &quot;判定&quot;

        .Range(&quot;O2&quot;).Formula = &quot;=VLOOKUP($K2,&#039;&quot; &amp; CYALL &amp; &quot;&#039;!$A$11:$AG$2000,&quot; &amp; 列数 - 1 &amp; &quot;,0)&quot;
        .Range(&quot;P2&quot;).Formula = &quot;=VLOOKUP($K2,&#039;&quot; &amp; CYALL &amp; &quot;&#039;!$A$11:$AG$2000,&quot; &amp; 列数 &amp; &quot;,0)&quot;
        .Range(&quot;Q2&quot;).Formula = &quot;=IF(OR(K2=0,K2=810002,K2=810064）,&quot;&quot;OK&quot;&quot;,IF(I2 = O2,&quot;&quot;OK&quot;&quot;,&quot;&quot;NG&quot;&quot;))&quot;
        
        .Range(&quot;O2:Q2&quot;).Copy
        .Paste Range(.Range(&quot;O2&quot;), .Cells(行数, 15))
&#039;OK行以外をオートフィル
        .Range(&quot;A1&quot;).AutoFilter Field:=17, Criteria1:=&quot;&lt;&gt;&quot; &amp; &quot;OK&quot;
    End With
Exit Sub

&#039;エラー発生時の処理
エラー処理:
    MsgBox Err.Number &amp; &quot;:&quot; &amp; Err.Description

End Sub    </description>
    <dc:date>2011-08-03T09:55:41+09:00</dc:date>
    <utime>1312332941</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/konkensyu/pages/17.html">
    <title>sample/sheet-3</title>
    <link>https://w.atwiki.jp/konkensyu/pages/17.html</link>
    <description>
      Sub ★シート並べ替え()

Dim i As Integer, sRange As Range, sName As String

Worksheets.Add(Before:=Worksheets(1)).Name = &quot;temp&quot;
For i = 4 To Worksheets.Count - 1
    Cells(i, 1) = Worksheets(i).Name
Next

Set sRange = Cells(4, 1).CurrentRegion
With ActiveSheet.Sort
    .SortFields.Clear
    .SortFields.Add Key:=Range(&quot;A2&quot;), SortOn:=xlSortOnValues, Order:=xlAscending
    .SetRange sRange
    .Apply
End With

For i = 1 To sRange.Row.Count
    sName = Worksheets(&quot;temp&quot;).Cells(i + 3, 1)
    Worksheets(sName).Move after:=ActiveSheet
Next

Application.DisplayAlerts = False
Worksheets(&quot;temp&quot;).DELETE
Application.DisplayAlerts = True


End Sub    </description>
    <dc:date>2011-08-02T12:09:21+09:00</dc:date>
    <utime>1312254561</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/konkensyu/pages/16.html">
    <title>sample/yojitsu</title>
    <link>https://w.atwiki.jp/konkensyu/pages/16.html</link>
    <description>
      Sub 予実FBファイル作成マクロ()

&#039;エラー処理用
    On Error GoTo errHandler
&#039;名称定義
    Dim 作業フォルダ名 As String
    Dim マクロ名 As String
    Dim 予算ファイル名 As String
    Dim 予算シート名 As String
    Dim 保存名 As String
    Dim 対象シート As Variant

&#039;条件取得
    作業フォルダ名 = ThisWorkbook.Path          &#039;作業するフォルダのパスを取得
    マクロ名 = ActiveWorkbook.Name              &#039;起動マクロのファイル名取得
    予算ファイル名 = Range(&quot;C7&quot;).Value            &#039;予算反映するシート名取得
   
&#039;対象カテゴリの指定
    Set 対象シート = Application. _
        InputBox(prompt:=&quot;予実FBを作成したいシート名を指定&quot;, Type:=8)   &#039;対象範囲指定
    対象シート.Select
                                   
&#039;対象のループ
    For Each 対象シート In Selection
       
        Workbooks(マクロ名).Worksheets(Worksheets.Count).Activate
        Range(&quot;C9&quot;).Value = 対象シート
        予算シート名 = Range(&quot;C9&quot;).Value            &#039;予算反映するシート名取得
        保存名 = 作業フォルダ名 &amp; &quot;\&quot; &amp; Range(&quot;C11&quot;).Value          &#039;保存名取得
       
    &#039;予算シートのコピー
        Workbooks(予算ファイル名).Activate
        Worksheets(予算シート名).Activate
        ActiveSheet.Range(&quot;F6:Q110&quot;).Copy
&#039;        ActiveSheet.Range(&quot;S5:AD109&quot;).Copy
   
    &#039;コピーした予算の貼付（値貼付）
        Workbooks(マクロ名).Worksheets(&quot;予算&quot;).Range(&quot;F6&quot;).PasteSpecial xlPasteValues
       
    &#039;予算シート記入名称の代入
        Workbooks(マクロ名).Worksheets(1).Range(&quot;E3&quot;).Value = 予算シート名
   
   
    &#039;データの保存
        Workbooks(マクロ名).Worksheets(Array(1, 2, 3, 4, 5)).Copy  &#039;予実報告～対象表をコピー
        ActiveWorkbook.SaveAs Filename:=保存名 &amp; &quot;.xlsx&quot;, _
                    FileFormat:=xlOpenXMLWorkbook    &#039;EXCEL2007形式で保存
    Next

    Exit Sub
   
errHandler:
    MsgBox Err.Description
       
End Sub    </description>
    <dc:date>2011-08-02T12:08:02+09:00</dc:date>
    <utime>1312254482</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/konkensyu/pages/15.html">
    <title>sample/sheet-2</title>
    <link>https://w.atwiki.jp/konkensyu/pages/15.html</link>
    <description>
      Sub ★選択範囲で印刷設定()
   
    With ActiveSheet.PageSetup
        .PrintArea = Selection.Address  &#039;選択範囲が印刷範囲
        .CenterHeader = &quot;&amp;16&amp;A&quot;         &#039;真ん中のヘッダー：16ポイントのシート名
        .RightHeader = &quot;&amp;12&amp;D&quot;          &#039;右のヘッダー：12ポイントのToday
        .CenterFooter = &quot;&amp;P/&amp;N&quot;         &#039;真ん中のフッター：11ポイントのページ連番
        .LeftMargin = Application.InchesToPoints(0.31496062992126)
        .RightMargin = Application.InchesToPoints(0.31496062992126)
        .TopMargin = Application.InchesToPoints(0.551181102362205)
        .BottomMargin = Application.InchesToPoints(0.354330708661417)
        .HeaderMargin = Application.InchesToPoints(0.196850393700787)
        .FooterMargin = Application.InchesToPoints(0.118110236220472)
        .CenterHorizontally = True      &#039;左右中央
        .Orientation = xlPortrait       &#039;印刷方向縦書き
        .Zoom = False                   &#039;拡大/縮小の設定オフ
        .FitToPagesWide = 1             &#039;ページ数を横１枚に
        .FitToPagesTall = 1             &#039;ページ数を縦１枚に
    End With
   
    ActiveWindow.SelectedSheets.PrintPreview &#039;印刷プレビュー表示

End Sub

Sub ★値貼り付け()
    &#039;ショートカット割当：Ctrl＋e
   
    Selection.PasteSpecial xlPasteValues
        &#039;形式を選択して貼り付け－値で貼付

End Sub

Sub ★書式貼り付け()
    &#039;ショートカット割当：Ctrl＋t
   
    Selection.PasteSpecial xlPasteFormats
        &#039;形式を選択して貼り付け－書式で貼付

End Sub

Sub ★数式貼り付け()
    &#039;ショートカット割当：Ctrl＋q
   
    Selection.PasteSpecial xlPasteFormulas
        &#039;形式を選択して貼り付け－数式で貼付
   
End Sub

Sub ★行列を入れ替えて値貼り付け()
    &#039;ショートカット割当：Ctrl＋Shift＋V
   
    Selection.PasteSpecial xlPasteValues, _
        Transpose:=True
        &#039;形式を選択して貼り付け－値で貼付
        &#039;行と列を入れ替える
End Sub

Sub ★コピー後右の列に値で貼付()
    &#039;ショートカット割当：Ctrl＋Shift＋A
    
    Selection.Copy
    ActiveCell.Offset(0, 1).PasteSpecial xlPasteValues
        &#039;アクティブセルの1セル右側に貼付
        &#039;形式を選択して貼り付け－値で貼付
    Application.CutCopyMode = False
        &#039;コピーのクリップボード解除
   
End Sub    </description>
    <dc:date>2011-08-02T12:07:12+09:00</dc:date>
    <utime>1312254432</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/konkensyu/pages/14.html">
    <title>sample/sheet-1</title>
    <link>https://w.atwiki.jp/konkensyu/pages/14.html</link>
    <description>
      Sub ★シートを新規ファイルにコピー()
    ActiveSheet.Copy
    Application.Dialogs(xlDialogSaveAs).Show arg1:=Range(&quot;D2&quot;).Value
   
End Sub

Sub ★全シートのカーソルをA1セルに移動()
    Dim 対象シート As Variant           &#039;定義：対象シート（Variant型）
    Dim i As Integer                    &#039;定義：i （Integer型）
   
    i = 1

    For Each 対象シート In Worksheets   &#039;全てのシートで動作
        If Sheets(対象シート.Name).Visible = True Then  &#039;表示されているワークシートなら
            Sheets(対象シート.Name).Select
            Range(&quot;A1&quot;).Select                  &#039;カーソルをA1セルに移動
        End If
    Next

    Do Until Sheets(i).Visible = True           &#039;表示されているシートになるまでLoopする
            i = i + 1
    Loop
   
    Sheets(i).Select            &#039;i番目のシートに移動

End Sub

Sub ★列幅を合わせる()
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

End Sub

Sub ★変更を保存して閉じる()
    &#039;ショートカット割当：Ctrl＋Shift＋S

    ActiveWorkbook.Close True

End Sub

Sub ★一定範囲コピペ値貼付後範囲外データ消去()
    &#039;ショートカット割当：Ctrl＋Shift＋V
    With ActiveSheet
        .Range(&quot;A:H&quot;).Copy
        .Range(&quot;A:H&quot;).PasteSpecial xlPasteValues
        .Range(&quot;I:N&quot;).DELETE
        .Range(&quot;A1&quot;).Select
    End With
End Sub

Sub ★全シート表示()
    Dim 対象シート As Variant               &#039;対象シートの定義（Variant型）

    For Each 対象シート In Worksheets       &#039;全てのシートで動作
        Sheets(対象シート.Name).Visible = True          &#039;ワークシートを表示する
    Next
　
    Sheets(1).Select                        &#039;１番左のシートに移動

End Sub

Sub ★★左側のシート全削除()
    Dim n As Variant
　 
    Application.DisplayAlerts = False
　 
    With ActiveWorkbook
        n = .Worksheets.Count
　     
        For i = 1 To n - 1
            .Worksheets(1).DELETE
        Next
    End With
    Application.DisplayAlerts = True
　
End Sub    </description>
    <dc:date>2011-08-02T11:36:18+09:00</dc:date>
    <utime>1312252578</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/konkensyu/pages/13.html">
    <title>sample/btob-1</title>
    <link>https://w.atwiki.jp/konkensyu/pages/13.html</link>
    <description>
      Option Explicit

Sub 数値代入(カテゴリ As Variant, フラグ As Variant, 範囲 As Variant, 対象列 As Integer)

    Dim i As Integer, j As Integer, k As Integer, sRange As Range, sName As String
  
&#039;該当月に関数代入（PJPLをSUMIFする）
    Workbooks(カテゴリ).Activate
    If フラグ = 1 Then
        j = 7
    Else
        j = 3
    End If

&#039;「○」から「●」までのシートで関数代入～値化～合計関数戻し
    For i = j To Worksheets.Count - 1
       
        Worksheets(i).Activate
        With Worksheets(i)
&#039;※$ZZ$8は十分値により修正の可能性有
            .Cells(4, 対象列).Formula = &quot;=SUMIF(&quot; &amp; 範囲 &amp; &quot;!$C$6:$ZZ$6,$B$2,&quot; &amp; 範囲 &amp; &quot;!$C8:$ZZ8)&quot;
            .Cells(4, 対象列).Copy
            .Range(Cells(4, 対象列), Cells(108, 対象列)).PasteSpecial Paste:=xlFormulas
            .Range(Cells(4, 対象列), Cells(108, 対象列)).Copy
            .Range(Cells(4, 対象列), Cells(108, 対象列)).PasteSpecial Paste:=xlValues
        End With
       
        For k = 1 To 105
            Select Case k
                Case 12, 16, 29, 49, 53, 54, 55, 62, 67, 80, 81, 86, 89, 92, 93, 96, 100, 101, 105
                    Cells(k + 3, 対象列).Select
                    Selection.FillRight
            End Select
        Next
        &#039;カーソルをA1セルに移動
        Range(&quot;A1&quot;).Select
    Next
   
    Worksheets.Add(Before:=Worksheets(1)).Name = &quot;temp&quot;

    For i = j + 1 To Worksheets.Count - 1
        Cells(i, 1) = Worksheets(i).Name
    Next
   
    Set sRange = Cells(j + 1, 1).CurrentRegion
    With ActiveSheet.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Cells(j + 1, 1), SortOn:=xlSortOnValues, Order:=xlAscending
        .SetRange sRange
        .Apply
    End With
   
    For i = 1 To sRange.Rows.Count
        sName = Worksheets(&quot;temp&quot;).Cells(i + j, 1)
        Worksheets(sName).Move after:=Worksheets(i + j - 1)
    Next
   
    Application.DisplayAlerts = False
    Worksheets(&quot;temp&quot;).Delete
    Application.DisplayAlerts = True
   
End Sub

Sub グループ判定(GP As String, FILE As String, AM1部 As String, AM2部 As String, MM室 As String, IMS合計 As String)
   
    If GP = &quot;ｱｶｳﾝﾄﾏﾈｼﾞﾒﾝﾄ1部&quot; Then
        FILE = AM1部
    ElseIf GP = &quot;ｱｶｳﾝﾄﾏﾈｼﾞﾒﾝﾄ2部&quot; Then
        FLE = AM2部
    ElseIf GP = &quot;ﾒﾃﾞｨｱﾏｰｹﾃｨﾝｸﾞ室&quot; Then
        FILE = MM室
    Else
        FILE = IMS合計
    End If

End Sub

Sub BtoB_PJPL作成マクロ()


&#039;エラーの際は「エラー処理」へ
On Error GoTo エラー処理

&#039;変数定義
    Dim SHEET_元帳 As Variant, SHEET_ピボット As Variant, SHEET_PJ列別PL As Variant
    Dim SHEET_存在判定 As Variant, SHEET_追記用PL As Variant, SHEET_ST管理表 As Variant
    Dim FILE_AM1部 As Variant, FILE_AM2部 As Variant, FILE_MM室 As Variant, FILE_IMS合計 As Variant, FILE_MACRO As Variant
    Dim ARRAY_追記ラベル As Variant
   
    Dim RANGE_ピボット As Variant, RANGE_ST管理表 As Variant, PATH_PJ列別PL_外部用 As Variant, PATH_データ格納 As Variant
    Dim COUNT_PJ As Variant, COUNT_行 As Variant, COLUMN_ST管理表 As Variant
    Dim COUNT_NEWPJ As Variant, SHEET_NEWPJPL As Variant, START_NEWPJ As Variant, END_NEWPJ As Variant
   
    Dim i As Variant, j As Variant, COLUMN_MONTH As Integer
    Dim xPCach As PivotCache, xPTbl As PivotTable
    Dim BEFORE_GP As String, AFTER_GP As String, JUDGE_GP As String
    Dim BEFORE_FILE As String, AFTER_FILE As String, FILE As String

&#039;名称代入
    SHEET_元帳 = &quot;元帳&quot;
    SHEET_ピボット = &quot;ﾋﾟﾎﾞｯﾄﾃｰﾌﾞﾙ&quot;
    SHEET_PJ列別PL = &quot;PJPL&quot;
    SHEET_存在判定 = &quot;存在シート判定&quot;
    SHEET_追記用PL = &quot;追記用PL&quot;
    SHEET_ST管理表 = Worksheets(Worksheets.Count).Name
   
    FILE_AM1部 = &quot;ｱｶｳﾝﾄﾏﾈｼﾞﾒﾝﾄ1部.xlsx&quot;
    FILE_AM2部 = &quot;ｱｶｳﾝﾄﾏﾈｼﾞﾒﾝﾄ2部.xlsx&quot;
    FILE_MM室 = &quot;ﾒﾃﾞｨｱﾏｰｹﾃｨﾝｸﾞ室.xlsx&quot;
    FILE_IMS合計 = &quot;IMS事業部(BtoB)合計.xlsx&quot;
    FILE_MACRO = ActiveWorkbook.Name
   
    ARRAY_追記ラベル = Array(&quot;事業部ｺｰﾄﾞ&quot;, &quot;事業部&quot;, &quot;部室ｺｰﾄﾞ&quot;, &quot;部室名&quot;, &quot;ｸﾞﾙｰﾌﾟｺｰﾄﾞ&quot;, &quot;ｸﾞﾙｰﾌﾟ名&quot;)
   
    PATH_データ格納 = ActiveWorkbook.Path
    PATH_PJ列別PL_外部用 = &quot;[&quot; &amp; FILE_MACRO &amp; &quot;]&quot; &amp; SHEET_PJ列別PL
   
&#039;変数の値代入
    COUNT_行 = Worksheets(SHEET_元帳).Range(&quot;A1&quot;).End(xlDown).Row
&#039;※$AG$2000は十分値により修正の可能性有
    RANGE_ST管理表 = &quot;&#039;&quot; &amp; SHEET_ST管理表 &amp; &quot;&#039;!$A$12:$AG$2000&quot;
    COLUMN_MONTH = Range(&quot;L3&quot;).Value
    COLUMN_ST管理表 = Range(&quot;I4&quot;).Value
   
&#039;各種ファイルオープン（AM1・AM2・MM・合計）⇒マクロシートに戻す
    Workbooks.Open PATH_データ格納 &amp; &quot;\&quot; &amp; FILE_AM1部
    Workbooks.Open PATH_データ格納 &amp; &quot;\&quot; &amp; FILE_AM2部
    Workbooks.Open PATH_データ格納 &amp; &quot;\&quot; &amp; FILE_MM室
    Workbooks.Open PATH_データ格納 &amp; &quot;\&quot; &amp; FILE_IMS合計
    Workbooks(FILE_MACRO).Activate


&#039;//--元帳操作
    With Worksheets(SHEET_元帳)
        .Activate
        .Range(&quot;Q1&quot;).Value = ARRAY_追記ラベル(0)
        .Range(&quot;R1&quot;).Value = ARRAY_追記ラベル(1)
        .Range(&quot;S1&quot;).Value = ARRAY_追記ラベル(2)
        .Range(&quot;T1&quot;).Value = ARRAY_追記ラベル(3)
        .Range(&quot;U1&quot;).Value = ARRAY_追記ラベル(4)
        .Range(&quot;V1&quot;).Value = ARRAY_追記ラベル(5)

        .Range(&quot;Q2&quot;).Formula = &quot;=VLOOKUP($K2,&quot; &amp; RANGE_ST管理表 &amp; &quot;,&quot; &amp; COLUMN_ST管理表 &amp; &quot;-5,0)&quot;
        .Range(&quot;R2&quot;).Formula = &quot;=VLOOKUP($K2,&quot; &amp; RANGE_ST管理表 &amp; &quot;,&quot; &amp; COLUMN_ST管理表 &amp; &quot;-4,0)&quot;
        .Range(&quot;S2&quot;).Formula = &quot;=VLOOKUP($K2,&quot; &amp; RANGE_ST管理表 &amp; &quot;,&quot; &amp; COLUMN_ST管理表 &amp; &quot;-3,0)&quot;
        .Range(&quot;T2&quot;).Formula = &quot;=VLOOKUP($K2,&quot; &amp; RANGE_ST管理表 &amp; &quot;,&quot; &amp; COLUMN_ST管理表 &amp; &quot;-2,0)&quot;
        .Range(&quot;U2&quot;).Formula = &quot;=VLOOKUP($K2,&quot; &amp; RANGE_ST管理表 &amp; &quot;,&quot; &amp; COLUMN_ST管理表 &amp; &quot;-1,0)&quot;
        .Range(&quot;V2&quot;).Formula = &quot;=VLOOKUP($K2,&quot; &amp; RANGE_ST管理表 &amp; &quot;,&quot; &amp; COLUMN_ST管理表 &amp; &quot;,0)&quot;

        .Range(&quot;Q2:V2&quot;).Copy
        .Paste Range(.Range(&quot;Q2&quot;), .Cells(COUNT_行, 17))
    End With

    Set RANGE_ピボット = Worksheets(SHEET_元帳).Range(&quot;A1&quot;, Cells(COUNT_行, &quot;V&quot;))       &#039;範囲設定
    Worksheets.Add Before:=Worksheets(SHEET_元帳)
    ActiveSheet.Name = SHEET_ピボット

&#039;//--ピボットテーブル作成
&#039;①ピボットキャッシュ作成
    Set xPCach = ActiveWorkbook.PivotCaches.Create _
            (SourceType:=xlDatabase, SourceData:=RANGE_ピボット)

&#039;②ピボットキャッシュを元にピボットテーブルを作成
    Set xPTbl = xPCach.CreatePivotTable _
            (TableDestination:=Range(&quot;A3&quot;), TableName:=&quot;Pivot1&quot;)

&#039;③ピボットテーブルの行・列・値などにフィールドを配置
    With ActiveSheet.PivotTables(&quot;Pivot1&quot;)
        &#039;行フィールド設定
        .AddFields RowFields:=Array(&quot;PL番号&quot;, &quot;PL科目&quot;)

        &#039;列フィールド設定
        With .PivotFields(&quot;プロジェクトコード&quot;)
            .Orientation = xlColumnField
             .Position = 1
        End With
        With .PivotFields(&quot;プロジェクト名称&quot;)
             .Orientation = xlColumnField
             .Position = 2
        End With

        &#039;データフィールド設定
        With .PivotFields(&quot;金額&quot;)
             .Orientation = xlDataField
             .Function = xlSum
             .NumberFormat = &quot;#,##0_ &quot;
        End With
        &#039;集計行非表示
        .PivotFields(&quot;PL番号&quot;).Subtotals(1) = False
        .PivotFields(&quot;プロジェクトコード&quot;).Subtotals(1) = False

        .InGridDropZones = True
        .RowAxisLayout xlTabularRow

    End With

    ActiveSheet.Range(&quot;C6&quot;).Select
    ActiveWindow.FreezePanes = True


&#039;//--PJPLシート追加～PJコードペースト
    Worksheets.Add Before:=Worksheets(SHEET_ピボット)
    ActiveSheet.Name = SHEET_PJ列別PL

    Worksheets(1).Activate
    ActiveSheet.Range(&quot;B8&quot;, &quot;D117&quot;).Copy
    ActiveSheet.Paste Worksheets(SHEET_PJ列別PL).Range(&quot;A3&quot;)
    Worksheets(SHEET_PJ列別PL).Range(&quot;A:B&quot;).Columns.AutoFit

    With Worksheets(SHEET_ピボット)
        .Activate
        COUNT_PJ = .Range(&quot;A5&quot;).End(xlToRight).Column
        .Range(&quot;C4&quot;, Cells(5, COUNT_PJ)).Copy
        .Paste Worksheets(SHEET_PJ列別PL).Range(&quot;C6&quot;)
        .Range(&quot;C8&quot;).Select
&#039;    Worksheets(SHEET_ピボット).Activate
&#039;    COUNT_PJ = ActiveSheet.Range(&quot;A5&quot;).End(xlToRight).Column
&#039;    ActiveSheet.Range(&quot;C4&quot;, Cells(5, COUNT_PJ)).Copy
&#039;    ActiveSheet.Paste Worksheets(SHEET_PJ列別PL).Range(&quot;C6&quot;)
    End With

    ActiveWindow.FreezePanes = True
    ActiveWindow.Zoom = 85


&#039;//--関数代入～PJPL全体の完成（関数のまま）※Case文使う方がわかりやすい
    With Worksheets(SHEET_PJ列別PL)
&#039;※$ZZ$50は十分値により修正の可能性有
        .Activate
        .Range(&quot;C8&quot;).Formula = &quot;=IF(ISERROR(MATCH($A8,ﾋﾟﾎﾞｯﾄﾃｰﾌﾞﾙ!$A$6:$A$100,0)),0,INDEX(ﾋﾟﾎﾞｯﾄﾃｰﾌﾞﾙ!$C$6:$ZZ$100,MATCH($A8,ﾋﾟﾎﾞｯﾄﾃｰﾌﾞﾙ!$A$6:$A$100,0),MATCH(C$6,ﾋﾟﾎﾞｯﾄﾃｰﾌﾞﾙ!$C$4:$ZZ$4,0)))&quot;
        .Range(&quot;C8&quot;).Copy
        For i = 1 To 105
            Select Case i
                Case 12, 16, 29, 49, 53, 54, 55, 62, 67, 80, 81, 86, 89, 92, 93, 96, 100, 101, 105

                Case Else
                    .Paste Cells(i + 7, &quot;C&quot;)
            End Select
        Next
        .Range(&quot;C8&quot;, &quot;C112&quot;).Copy
        .Paste Range(.Range(&quot;C8&quot;), .Cells(112, COUNT_PJ))
    End With


&#039;//--存在シート判定
&#039;※6月作成後、起点セル変更H3⇒I3 2011/7/14
    Worksheets(SHEET_ピボット).Activate
    COUNT_PJ = ActiveSheet.Range(&quot;A5&quot;).End(xlToRight).Column
    ActiveSheet.Range(&quot;C4&quot;, Cells(5, COUNT_PJ)).Copy


    With Worksheets(SHEET_存在判定)
        .Activate
        .Range(&quot;I3&quot;).PasteSpecial Paste:=xlValues, Transpose:=True
        COUNT_PJ = .Range(&quot;I3&quot;).End(xlDown).Row
        START_NEWPJ = .Range(&quot;B3&quot;).End(xlDown).Row + 1
        END_NEWPJ = START_NEWPJ

&#039;※$B$1000は十分値により修正の可能性有
        .Range(&quot;K3&quot;).Formula = &quot;=IF(ISERROR(VLOOKUP($I3,$B$3:$B$1000,1,0)),&quot;&quot;NG&quot;&quot;,&quot;&quot;OK&quot;&quot;)&quot;
        .Range(&quot;K3&quot;).Copy
        .Paste Range(.Range(&quot;K3&quot;), .Cells(COUNT_PJ, &quot;K&quot;))

        For i = 3 To COUNT_PJ
            If .Cells(i, &quot;K&quot;).Value = &quot;NG&quot; Then
                COUNT_NEWPJ = .Range(&quot;B3&quot;).End(xlDown).Row + 1
                .Range(.Cells(i, &quot;I&quot;), .Cells(i, &quot;J&quot;)).Copy
                .Cells(COUNT_NEWPJ, &quot;B&quot;).PasteSpecial Paste:=xlValues
                .Cells(COUNT_NEWPJ, &quot;D&quot;).Formula = &quot;=SUBSTITUTE(LEFTB(CONCATENATE(IF(B&quot; &amp; COUNT_NEWPJ &amp; &quot;&gt;=1000,B&quot; &amp; COUNT_NEWPJ &amp; &quot;,0&amp;B&quot; &amp; COUNT_NEWPJ &amp; &quot;),C&quot; &amp; COUNT_NEWPJ &amp; &quot;),30),&quot;&quot;/&quot;&quot;,&quot;&quot; &quot;&quot;)&quot;
                .Cells(COUNT_NEWPJ, &quot;E&quot;).Formula = &quot;=VLOOKUP($B&quot; &amp; COUNT_NEWPJ &amp; &quot;,&quot; &amp; RANGE_ST管理表 &amp; &quot;,&quot; &amp; COLUMN_ST管理表 &amp; &quot;,0)&quot;
                END_NEWPJ = END_NEWPJ + 1
            End If
        Next
       
        .Range(&quot;F3&quot;).Formula = &quot;=VLOOKUP($B3,&quot; &amp; RANGE_ST管理表 &amp; &quot;,&quot; &amp; COLUMN_ST管理表 &amp; &quot;,0)&quot;
        .Range(&quot;G3&quot;).Formula = &quot;=IF($E3=$F3,&quot;&quot;OK&quot;&quot;,&quot;&quot;NG&quot;&quot;)&quot;
        .Range(&quot;F3&quot;, &quot;G3&quot;).Copy
        .Paste Range(.Range(&quot;F3&quot;), .Cells(END_NEWPJ - 1, &quot;F&quot;))
       
    End With


&#039;//--新規PJのPLシート追加
&#039;テスト用
&#039;    START_NEWPJ = 225
&#039;    END_NEWPJ = 226

&#039;新規PJPLに関する情報を追記用PLに代入
    For j = START_NEWPJ To END_NEWPJ - 1
        With Worksheets(SHEET_追記用PL)
            .Range(&quot;B2&quot;) = Worksheets(SHEET_存在判定).Cells(j, &quot;B&quot;).Value
            .Range(&quot;E2&quot;) = Worksheets(SHEET_存在判定).Cells(j, &quot;C&quot;).Value
            SHEET_NEWPJPL = Worksheets(SHEET_存在判定).Cells(j, &quot;D&quot;).Value
            JUDGE_GP = Worksheets(SHEET_存在判定).Cells(j, &quot;E&quot;).Value

        &#039;グループ判定
            グループ判定 JUDGE_GP, FILE, FILE_AM1部, FILE_AM2部, FILE_MM室, FILE_IMS合計

            If JUDGE_GP = &quot;ｱｶｳﾝﾄﾏﾈｼﾞﾒﾝﾄ1部&quot; Then
                FILE_追記 = FILE_AM1部
            ElseIf JUDGE_GP = &quot;ｱｶｳﾝﾄﾏﾈｼﾞﾒﾝﾄ2部&quot; Then
                FILE_追記 = FILE_AM2部
            ElseIf JUDGE_GP = &quot;ﾒﾃﾞｨｱﾏｰｹﾃｨﾝｸﾞ室&quot; Then
                FILE_追記 = FILE_MM室
            Else
                FILE_追記 = FILE_IMS合計
            End If

        &#039;新規PJPL追加
            .Copy Before:=Workbooks(FILE_追記).Worksheets(&quot;●&quot;)
        End With

    &#039;シート名を変更して、マクロシートに戻る
        ActiveSheet.Name = SHEET_NEWPJPL
        Workbooks(FILE_MACRO).Activate
    Next
       
&#039;PJの部門が変更になったシートを移動させる
    With Worksheets(SHEET_存在判定)
         For j = 3 To START_NEWPJ - 1
            If Cells(j, &quot;G&quot;) = &quot;NG&quot; Then
                BEFORE_GP = .Cells(j, &quot;E&quot;).Value
                AFTER_GP = .Cells(j, &quot;F&quot;).Value
               
                グループ判定 BEFORE_GP, BEFORE_FILE, FILE_AM1部, FILE_AM2部, FILE_MM室, FILE_IMS合計
                グループ判定 AFTER_GP, AFTER_FILE, FILE_AM1部, FILE_AM2部, FILE_MM室, FILE_IMS合計
   
&#039;BEFOREファイル呼び出し
&#039;該当シート捜索
&#039;AFTERシートに移動




&#039;//--各データで数値代入※合計データのみフラグ「1」を立てる
    数値代入 FILE_AM1部, 0, PATH_PJ列別PL_外部用, COLUMN_MONTH
    数値代入 FILE_AM2部, 0, PATH_PJ列別PL_外部用, COLUMN_MONTH
    数値代入 FILE_MM室, 0, PATH_PJ列別PL_外部用, COLUMN_MONTH
    数値代入 FILE_IMS合計, 1, PATH_PJ列別PL_外部用, COLUMN_MONTH


&#039;//--IMS合計の総計PL金額とマクロのPJ列別PLの各行合計と一致するか確認する
   
    With Workbooks(FILE_MACRO).Worksheets(SHEET_PJ列別PL)
        .Activate
        COUNT_PJ = .Range(&quot;A7&quot;).End(xlToRight).Column
        .Cells(7, COUNT_PJ + 1).Value = &quot;PJ合計&quot;
        .Cells(7, COUNT_PJ + 2).Value = &quot;IMS合計PLより&quot;
        .Cells(7, COUNT_PJ + 3).Value = &quot;差異&quot;
        .Cells(8, COUNT_PJ + 1).Formula = &quot;=SUM(C8：&quot; &amp; Cells(8, COUNT_PJ).Address(0, 0) &amp; &quot;)&quot;
        .Cells(8, COUNT_PJ + 3).Formula = &quot;=&quot; &amp; Cells(8, COUNT_PJ + 2).Address(0, 0) &amp; &quot;-&quot; &amp; Cells(8, COUNT_PJ + 1).Address(0, 0)
        .Range(Cells(8, COUNT_PJ + 1), Cells(8, COUNT_PJ + 3)).Copy
        .Paste Range(Cells(8, COUNT_PJ + 1), Cells(112, COUNT_PJ + 1))
    End With
    
    Workbooks(FILE_IMS合計).Worksheets(1).Activate
    Range(Cells(4, COLUMN_MONTH), Cells(108, COLUMN_MONTH)).Copy
      
    Workbooks(FILE_MACRO).Worksheets(SHEET_PJ列別PL).Activate
    ActiveSheet.Cells(8, COUNT_PJ + 2).PasteSpecial Paste:=xlValues

Exit Sub


&#039;エラー発生時の処理
エラー処理:
    MsgBox Err.Number &amp; &quot;:&quot; &amp; Err.Description

End Sub    </description>
    <dc:date>2011-08-02T10:57:10+09:00</dc:date>
    <utime>1312250230</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/konkensyu/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/konkensyu/pages/2.html</link>
    <description>
      **メニュー
-[[トップページ]]
-[[プラグイン紹介&gt;プラグイン]]
-[[まとめサイト作成支援ツール]]
-[[メニュー]]
-[[メニュー2]]

----

**リンク
-[[@wiki&gt;&gt;http://atwiki.jp]]
-[[@wikiご利用ガイド&gt;&gt;http://atwiki.jp/guide/]]

**他のサービス
-[[無料ホームページ作成&gt;&gt;http://atpages.jp]]
-[[無料ブログ作成&gt;&gt;http://atword.jp]]
-[[2ch型掲示板レンタル&gt;&gt;http://atchs.jp]]
-[[無料掲示板レンタル&gt;&gt;http://atbbs.jp]]
-[[お絵かきレンタル&gt;&gt;http://atpaint.jp/]]
-[[無料ソーシャルプロフ&gt;&gt;http://sns.atfb.jp/]]

// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります

合計：&amp;counter()
今日：&amp;counter(today)
昨日：&amp;counter(yesterday)
トップページの合計：&amp;counter(total, page=トップページ)

//**更新履歴
//#recent(20)

&amp;link_editmenu(text=ここを編集)    </description>
    <dc:date>2011-07-14T09:46:55+09:00</dc:date>
    <utime>1310604415</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/konkensyu/pages/8.html">
    <title>プラグイン/動画(Youtube)</title>
    <link>https://w.atwiki.jp/konkensyu/pages/8.html</link>
    <description>
      * 動画(youtube)
@wikiのwikiモードでは
 #video(動画のURL)
と入力することで、動画を貼り付けることが出来ます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_209_ja.html

また動画のURLはYoutubeのURLをご利用ください。
＝＞http://www.youtube.com/

-----


たとえば、#video(http://youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。


#video(http://youtube.com/watch?v=kTV1CcS53JQ)

    </description>
    <dc:date>2011-07-14T09:41:41+09:00</dc:date>
    <utime>1310604101</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/konkensyu/pages/9.html">
    <title>プラグイン</title>
    <link>https://w.atwiki.jp/konkensyu/pages/9.html</link>
    <description>
      @wikiにはいくつかの便利なプラグインがあります。

-----


#ls

-----

これ以外のプラグインについては@wikiガイドをご覧ください
=&gt;http://atwiki.jp/guide/
    </description>
    <dc:date>2011-07-14T09:41:41+09:00</dc:date>
    <utime>1310604101</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/konkensyu/pages/10.html">
    <title>プラグイン/関連ブログ</title>
    <link>https://w.atwiki.jp/konkensyu/pages/10.html</link>
    <description>
      * 関連ブログ
@wikiのwikiモードでは
 #bf(興味のある単語)
と入力することで、あるキーワードに関連するブログ一覧を表示することができます

詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_161_ja.html

-----


たとえば、#bf(ゲーム)と入力すると以下のように表示されます。


#bf(ゲーム)
    </description>
    <dc:date>2011-07-14T09:41:41+09:00</dc:date>
    <utime>1310604101</utime>
  </item>
  </rdf:RDF>
