ryokutya0721のブックマーク (14)

  • 【エクセルVBA】シートの追加も削除も、名前さえ変えさせない!VBAでブックの保護を設定する方法

    皆様こんにちは、ノグチです。 VBAでエクセルツールを作ったはいいけれど、「シートを追加されたり、削除されてしまうとマクロが動かなくなってしまう」「シートの名前を変えられるのも困る」 そんなお悩みはありませんか? 前回までにご紹介した、WorksheetオブジェクトのProtectメソッドを使ったシートの保護設定では、シート内容は編集できないようにできても、ブック内のシートの名前を変更したり、シートを追加・削除したりといったシートに対する操作に対しては管轄外なんですよね。 でもご安心を。ちゃんとブックの保護ができるメソッドも用意されていますよ。 それがWorkbookオブジェクトのProtectメソッドとUnprotectメソッド。 今回はこのメソッドを使って、エクセルVBAでブックの保護設定と、ブックの保護を解除する方法をご紹介します! ブックの保護とはなんぞや?や、何ができるのか?は下

    【エクセルVBA】シートの追加も削除も、名前さえ変えさせない!VBAでブックの保護を設定する方法
    ryokutya0721
    ryokutya0721 2017/06/07
    ブックの保護もVBAで!人間の手動よりも確実です。
  • 【エクセルVBA】VBAでパスワード付のシートの保護を設定・解除する方法

    前回は、ProtectメソッドのUseinterfaceOnlyオプションを使った、ユーザの操作は制限しつつ、VBAでのシート操作は許可するシートの保護設定の方法をご紹介しました。

    【エクセルVBA】VBAでパスワード付のシートの保護を設定・解除する方法
  • 【エクセルVBA】保護しているシートでマクロの操作だけ有効にする方法

    今回は、ProtectメソッドのオプションUserInterfaceOnlyを使って、手動のシートへの変更は不可にしつつ、VBAでのシート変更は可能にする方法をご紹介します! 保護されているシートはマクロからも操作できない まず、シートの保護を設定すると、ユーザの手動によるシート操作のほか、マクロからのシート内の処理も制限されてしまいます。 シートの保護を設定したシート上でマクロを実行すると、以下のような実行時エラーになり、シート上での操作ができないようになっています。 「シートの保護でユーザの操作を制限するのはいいけど、マクロからは操作できるようにしたい…」 そんな時に有効なのが、ProtectメソッドのUserinterfaceOnlyオプションです。これはシートの保護をユーザの手動シート操作に対してのみ有効にするかどうか、という設定を行うものです。 言い換えると、対象のシート上でVB

    【エクセルVBA】保護しているシートでマクロの操作だけ有効にする方法
    ryokutya0721
    ryokutya0721 2017/05/23
    ユーザの手動処理は防ぎつつ、マクロだけ操作できるシート保護の設定
  • 【エクセルVBA】Protect/Unprotectメソッドでシートの保護設定と解除をする方法

    皆様こんにちは、ノグチです。 VBAでツールを作ったはいいものの、使う人に勝手にシートを変更されてVBAが動かなくなってしまったことはありませんか? 「シートの保護でセルの変更を制限することはできるけど、VBAだけはセル操作させたい…」 また、「シートの保護を設定したシートのセルの値をVBAで変更したい」ということもありますよね。 そんなときに使えるのが、Worksheetオブジェクトの「Protect」メソッドと「Unprotect」メソッドです。 今回はこの2つのメソッドを使って、VBAでシートの保護設定と、解除する方法をご紹介します!

    【エクセルVBA】Protect/Unprotectメソッドでシートの保護設定と解除をする方法
    ryokutya0721
    ryokutya0721 2017/05/09
    シートの保護と解除を自動化
  • 【Excel】勝手なシート操作を防ぐ!初心者向けのブックの保護設定

    皆様こんにちは、ノグチです。 複数人で使うツールをエクセルVBAで作ったものの、「このシートは消されると困る」とか、「シートの名前を変えられるとVBAが動かなくなる」というお悩みはありませんか? またまた、「この人は変更してもいいけど、それ以外の人には変更させたくない」なんていうことはありませんか? 変更されたくないシートを非表示にしておいても、まだ心もとない… 今回はそんなお悩みを解決できるエクセルの機能、「ブックの保護」をご紹介します! シートの保護についてはこちらの記事でご紹介していますので、併せてご覧ください。

    【Excel】勝手なシート操作を防ぐ!初心者向けのブックの保護設定
  • 【Excel】勝手な編集は許しません!初心者向けのシート保護設定

    皆様こんにちは、ノグチです。 エクセルで帳票を作った時、「このセルは他の人に触らせたくないな」ということはありませんか? 或いは、「この人はこのシートを更新してもいいけど、他の人は見るだけにしたい」なんていうこともありませんか? 又は、「このセルの値を消されるとマクロが動かなくなっちゃう…」なんていうものもありますよね。 そんなとき使えるのが、エクセルの機能の一つ、「シートの保護」です。 今回は、この機能をご紹介します! シートの保護を設定する シートの保護は、そのワークシート上でできる操作を制限できる機能です。 使い方は、エクセルツールバーから「シートの保護」を選択します。 すると、「シートの保護」というウインドウが開くので… このウインドウにある、「このシートのすべてのユーザーに許可する操作」で、そのシートに対して「してもいい操作」(=このシート上ではその操作しかできなくする)を選択し

    【Excel】勝手な編集は許しません!初心者向けのシート保護設定
  • 書籍「ExcelVBAを実務で使い倒す技術」発売についてのお知らせ

    みなさん、こんにちは! タカハシ(@ntakahashi0505)です。 「ExcelVBAを実務で使い倒す技術 」が絶賛発売中です! 全国の書店ほか Amazon楽天ブックスでも購入できます! Amazonランキングで… 新着ランキング コンピュータ・IT:3位 アプリケーション:1位 表計算ソフト:1位 売れ筋ランキング Amazon総合:592位 ビジネス実用:54位 Word・ExcelPowerPoint:3位 コンピュータ・IT:29位 アプリケーション:3位 表計算ソフト:3位 にランクインしました!たくさんのご購入ありがとうございます!よろしければAmazonレビューなどを頂けるとたいへん喜びます。 さて、ページですが書籍「ExcelVBAを実務で使い倒す技術」の様々な情報を発信していく特集ページです。 お知らせ、関連記事、書評のご紹介などを随時更新してまいりますの

    書籍「ExcelVBAを実務で使い倒す技術」発売についてのお知らせ
    ryokutya0721
    ryokutya0721 2017/04/06
    実務に対応しうるコードなのか?はコーディングする人にとって大切な目線だけど、難しい。
  • 【エクセルVBA】 ピボットテーブルに行、列、値フィールドを追加する

    各オプションの使い方は、この「月別仕入表」というピボットテーブルを使って見ていきましょう。 ColumnFieldsオプションで列に追加するフィールドを指定 ピボットテーブルの列フィールドに追加する項目を指定するオプションです。 先にお見せしたピボットテーブル「月別仕入表」で、このピボットテーブルの列に「品目」フィールドを追加したい場合、下記のように記述します。 ActiveSheet.PivotTables("月別仕入表").AddFields ColumnFields:=Array("品目") そしてこのコードをピボットテーブル「月別仕入表」で実行してみると… 真っ白だったピボットテーブルの列に、「品目」フィールドが追加されていますね。 RowFieldsオプションで行に追加するフィールドを指定 ピボットテーブルの行フィールドに追加する項目を指定するプロパティです。 使用例はこちら。

    【エクセルVBA】 ピボットテーブルに行、列、値フィールドを追加する
    ryokutya0721
    ryokutya0721 2017/03/31
    ピボット全自動!
  • エクセルVBAでピボットテーブルを作成! CreatePivotTableメソッド

    CreatePivotTableメソッドとは 前回の記事で作ったPivotCacheオブジェクトを使ってピボットテーブルを作成するには、PivotCacheオブジェクトのCreatePivotTableメソッドを使います。 CreatePivotTableメソッドは、PivotCacheからピボットテーブルを作成するためのメソッドです。 記述方法はこちら。 Destinationオプションでピボットテーブルの位置を指定する ピボットテーブルを作成する場所を指定するオプションで、必ず指定します。 指定する場所は、作成するピボットテーブルの左上の端にあたるセルを指定します。 例えば、以下のコードの場合、アクティブになっているシートのA5セルから右、下方向に向かってピボットテーブルが作成されます。 記述方法は、こんな感じです。 PivotCache.CreatePivotTable TableD

    エクセルVBAでピボットテーブルを作成! CreatePivotTableメソッド
    ryokutya0721
    ryokutya0721 2017/03/21
    VBAでピボットテーブル作成。意外とかんたん。
  • エクセルVBAでピボットテーブルを作成!PivotCacheにデータソース範囲をセットする

    PivotCacheオブジェクトとは 手作業でピボットテーブルを作成場合、セル範囲を入力するなりドラッグするなりして、データソース範囲を指定しますよね。 エクセルVBAでピボットテーブルを作成する場合も、データソース範囲を指定するという点では手動作成の場合と手順は変わりませんが、手動でピボットテーブルを作成する際には意識しないものを使うことを知っておく必要があります。 それが、ピボットキャッシュです。 手動でピボットテーブルを作成するとき、データソースにしたい範囲を選択すればピボットテーブルができますよね。 なので、「ピボットテーブル=データソースに指定したデータそのもの」と考えがちなのですが、厳密に言うとエクセルの中では、 データソースからピボットキャッシュにデータをコピー ピボットキャッシュからピボットテーブル作成 という順序で処理されています。 ピボットテーブルのデータソースを書き換

    エクセルVBAでピボットテーブルを作成!PivotCacheにデータソース範囲をセットする
    ryokutya0721
    ryokutya0721 2017/02/13
    ピボットキャッシュって何ぞや?
  • エクセルVBAでピボットテーブルを操作するための第一歩~ピボットテーブルオブジェクト変数~

    ピボットテーブル自動化の代表例 ピボットテーブルの操作自動化には、VBAを使います。 ピボットテーブル操作をVBAで自動化する代表例には、以下のようなものがあります。 データソースからピボットテーブルの生成 指定したワークシートや、外部のデータをデータソースにして、ピボットテーブルの作成を行います。 VBAでデータソースを加工するコードの最後に記述しておけば、ワンクリックでデータソースの準備からピボットテーブル作成までできるようになりますよ。 ピボットテーブルの自動更新 一度作成しておいたピボットテーブルのデータを更新します。 手動操作の場合の、ピボットテーブルにカーソルを合わせて右クリック→「更新」をクリックするか、ツールバーの 「更新」ボタンをクリックする動作をVBAがやってくれます。 ピボットテーブルのデータソースが変わったのに、更新ボタン押し忘れる、ということもなくなりますよ。 ピ

    エクセルVBAでピボットテーブルを操作するための第一歩~ピボットテーブルオブジェクト変数~
    ryokutya0721
    ryokutya0721 2017/01/06
    ピボットテーブルも自動化しちゃおう。
  • エクセルピボットテーブルとVLOOKUPを組み合わせて複数のリストを合体!

    皆様こんにちは! 先日お仕事でエクセルの結合セルのコピー&ペーストに悩まされ、インターネット検索でこちらのブログの記事に行きついて救われたノグチです。 突然ですが皆様、ピボットテーブル、使っていますか? エクセルのピボットテーブルは、知っているととても便利な機能ですよね。 今回は、エクセルのピボットテーブルに関数を組み合わせて、複数のリストを合体させた表の作り方をご案内します! ピボットテーブルとVLOOKUP関数の組み合わせてできること ピボットテーブルは、データ集約の切り口を変えられるレポートツールとして、とても便利ですよね。 一つのシートにあるリストなら、ワンステップでテーブルにできてしまいます。 しかしピボットテーブルで指定できるデータ範囲は一つのシートにあるものだけですから、別々シートや別ファイルにに分かれたリストから、となるとワンステップだけでテーブル化とはいきません。 でも、

    エクセルピボットテーブルとVLOOKUPを組み合わせて複数のリストを合体!
    ryokutya0721
    ryokutya0721 2016/11/21
    ピボットテーブル+α
  • エクセルVBA Err.Numberを使ってエラー番号に応じた処理を指定する

    皆様こんにちは!ノグチです。 前回はこちらの記事でOn Error GoTo構文を用いた、エクセルVBAでエラーとなる場合の処理を指定する方法をご案内しました。 http://tonari-it.com/excel-vba-on-error-goto/ 今回は前回からのエラーつながりで、ErrオブジェクトとNumberプロパティを用いて、VBAのエラー内容に応じたメッセージを表示する方法をご案内します! エラー番号とは? まず、エクセルVBAで表示されるエラーには、それぞれ番号が振られています。 例えば、下記のメッセージ。 これは計算処理の対象にしていたセルに、数字型以外の値が入っていた為にエラーになったものです。 上記のメッセージをみてみると、「実行時エラー’13’」と書いてありますよね。 この’13’という数字がエラーに振られた番号、エラー番号です。 このエラー番号は各エラーに一意の番

    エクセルVBA Err.Numberを使ってエラー番号に応じた処理を指定する
    ryokutya0721
    ryokutya0721 2016/11/08
    エラー分岐処理編
  • ただのエラーじゃ勿体無い!On Error GoToでVBAエラー時に任意のメッセージを表示する

    皆様こんにちは、ノグチです。 VBA標準のエラーって、VBAを知らない人にとってはそもそもエラーメッセージの内容すら理解できないですよね。 せめて「何行目がおかしいよ」くらい表示してくれたらな~と思ったことはありませんか? 私はいつも思っています(笑)。 そんな時に使えるのがOn Error GoTo。 今回は、この構文を使って、VBAがエラーになった時に指定したメッセージを表示する方法をご紹介します。 これを使えば、VBAエラー時のメッセージを、VBAツールを使う人にわかりやすい内容にすることができますよ! On Error GoToとは さて、先述した On Error GoTo構文。 これは、On Error GoTo以下の処理がエラーになったとき、指定した場所までジャンプして、ジャンプ先に記述された処理を実行させる、というものです。 この構文を使えば、VBAがエラーになったときにエ

    ただのエラーじゃ勿体無い!On Error GoToでVBAエラー時に任意のメッセージを表示する
    ryokutya0721
    ryokutya0721 2016/10/22
    エラーだって使えるのだ
  • 1