'OK(=6=はい)なら次へ。中断(=7=ダメ=いいえ)ならプログラムを抜ける(=終わる)。InputBox("最終セルの行番号を入力してください。'MsgBoxキャンセルされると「空文字」の「""」を返してきます。'と判断することができます。そのための処理をここでやります。'それをやっておかないと、エラーが出てしまうのでエラー回避の意味でもやっておきます。'●メイン処理:今居るセルが空白だったら、前のセルの値で埋めて、最終セルまで行く、という処理。'←行番号が「2」~「最終セルの番号」まで繰り返す、の意味です。現在のセルの値を代入します。値が空白かどうかを調べてそれぞれの自動処理をします。'今居るセルに、前のセルの値と同じ値を代入します。'空白じゃないときの処理。'何もせずスルーします。LastCelRowNum01」の行に戻ります。'2003タイプの表示形式にしてあります。'ソースの範囲の再設定をする必要はありません。'文言が表示されます。'空のシートで動かすとエラーになりますのでエラー回避コードは自作してください。'名前の定義の操作をして、ソースとなる表に「pvtsrc01」という名前を付けます。'ピボットキャッシュの作成(名前の定義をした「pvtsrc01」をソースにして。(実際に使いたいときは以降の部分をコメントアウトして試してみてください。行ラベルの設定(1つだけの場合。2段、3段、なら、多分だけど、Array("1段目の列名","2段目の列名","3段目の列名")でやる。Columnも同じだと思う。'2003タイプの表示形式にしてあります。'ソースの範囲の再設定をする必要はありません。'などの文言が表示され「ません」。'空のシートで動かすとエラーになりますのでエラー回避コードは自作してください。'済むようにする処置。'ソースとなる表に「pvtsrc01」という名前を付けます。'(ピボットのソース範囲の指定には、この「pvtsrc01」という名前を使います。ピボットテーブルで行や列を設定して集計をする例。(実際に使いたいときは以降の部分をコメントアウトして試してみてください。'作ったピボットテーブルをオブジェクト変数に代入。'「顧客ID」列を、1段目の行ラベルに設定。'「氏名」列を、2段目の行ラベルに設定。'「住所01」列を、1段目の列ラベルに設定。'「単価」列を、1段目の集計フィールドに設定。'「数量」列を、2段目の集計フィールドに設定。Sub123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364'''######################################################################'######################################################################'######################################################################'「ツールバー01」ツールバーが存在するかをチェックして'あればいったん消してから再作成するプログラムです。'ボタンの表示形式を「イメージとテキスト」にします。'ループで変数利用しています。'自動的に目的のツールバーをいったん消してから再作成するので、'メンテやコマンドボタン化に向くのではないかと思います。'すでにあるツールバーにボタンだけを追加するようなプログラムは、各ボタンについての'「あるか無いか」のチェックプログラムが要りそうで面倒くさいためやりません。String'作りたいツールバーの名前を、ここで「ツールバー01」決めておきます。'ここで別の名前に書き換えれば、たとえボタンの内容が同じだったとしても'別のツールバーとして、リボンの「アドイン」タブに新しく生成されます。"ツールバーの名前"」で指定した名前のツールバーが存在したら'いったん消す。C'直前のループを最後まで実行して指定した名前にのツールバーが見つからなかった時はここに来るので、'必要に応じて以下のメッセージを発する。"」ツールバーが消えてしまっているようです。"」ツールバーが消えてしまっているようですので再作成します。ボタンの表示形式を「イメージとテキスト」にする。ボタンの表示形式を「イメージとテキスト」にする。ボタンの表示形式を「イメージとテキスト」にする。ボタンの「テキスト」部分を、「hms(&C)」に変更する。「(&C)」を付けないとエラーになる。ボタンの表示形式を「イメージとテキスト」にする。ボタンの「テキスト」部分を、「ymd(&C)」に変更する。「(&C)」を付けないとエラーになる。ボタンの表示形式を「イメージとテキスト」にする。ボタンの「テキスト」部分を、「ymd(&C)」に変更する。「(&C)」を付けないとエラーになる。ボタンの表示形式を「イメージとテキスト」にする。ボタンの「テキスト」部分を、「Pvt生成01(&C)」に変更する。「(&C)」を付けないとエラーになる。Sub''################################################################'################################################################'################################################################'以降、各ボタン用のコード(プロシージャ)です。'一部、使わないプロシージャもあります。'cell_hiduke_yyyy_mm_dd()の2つだけです。Sub'時刻化するボタン用のプロシージャ(今回使います。Sub'ユーザー定義の「yyyy/mm/dd」化するボタン用のプロシージャ(今回使います。Sub'''################################################################'アクティブセルの列の空白セルを、前の行のセルの値で埋めるプログラムです。''ピボットテーブルの結果を他のシートにコピペして、更に何か集計をしたい時や、'ピボットテーブルを半利用して'「クロス集計表をリスト形式の表にできるだけ速く直す」処理をする場合、'等々に使えます。'インプットボックスで使います。キャンセル時に文字列型のデータ(空文字)が代入されるのですが、その際変数が数値型だとエラーになってしまうため、バリアント型を使います。中には、ユーザーがどのボタンを押したかの応えの情報(番号)が格納されます。'これはMsgBox関数の中でのきまりで、「はい」が押されたら「6」、「いいえ」が押されたら「7」、と決められています。