タグ

シートに関するTomosugiのブックマーク (7)

  • Office TANAKA - シートの操作[シートを開く]

    シートを開くときは、SelectメソッドまたはActivateメソッドを使います。次のコードは、Sheet2を開いてメッセージを表示し、続いてSheet3を開きます。 Sub Sample01() Worksheets("Sheet2").Select MsgBox "Sheet2を開きました" Worksheets("Sheet3").Activate MsgBox "Sheet3を開きました" End Sub 厳密に言うと、SelectメソッドとActivateメソッドでは動作が異なりますが、そんなもの枝葉末節です。普通の人が普通のマクロを組むのでしたら「○○でなければダメ」など意識する必要はありません。ちなみに、Selectメソッドではシートをグループ化できます。次のコードはSheet1、Sheet2、Sheet3をグループ化します。 Sub Sample01_1() Workshe

  • アクティブシートのオブジェクトの取得

    ワークシートのオブジェクトを取得するには、インデックス番号を指定するかワークシート名を指定して Worksheet オブジェクトを取得していましたが、取得する Worksheet オブジェクトを指定する方法として、現在アクティブになっているワークシートと指定することが出来ます。ここでは Excel VBA を使ってアクティブシートのオブジェクトを取得する方法を解説します。

    アクティブシートのオブジェクトの取得
  • VBA基本(シートやブックを越えたRangeオブジェクト取得)

    さて、前項でシート内のセルやセル範囲をRangeオブジェクトに取得して操作することは説明しましたが、今度はシートやブックを越えてRangeオブジェクトを取得する方法を説明します。 前項の「RangeオブジェクトとRangeを返すプロパティ」でシート内のセルやセル範囲を「Rangeオブジェクト」に取得していろいろな形で操作・参照する方法は説明しました。 ですが、 のように、いきなり「Rangeプロパティ」や「Cellsプロパティ」から書き始める方法では、シートやブックを越えた操作・参照はできません。 章では、すでに「単一セルの転記操作」などでシートを越えた転記を説明してしまっており、何となく理解されているかも知れませんが、ここでは「Rangeオブジェクト」と同様にオブジェクト変数を用意して操作・参照することをやってみます。 では、まず、マクロを書き込んだ自分のブックのSheet3に前項の、

  • ブック・シートの指定|VBA入門

    最終更新日:2021-09-04 第37回.ブック・シートの指定 ここまでのマクロVBA入門では、アクティブブックのアクティブシートだけを扱ってきました。

    ブック・シートの指定|VBA入門
  • No.8 ワークシートの最終行、最終列を取得する

    ワークシートの最終セル(最終行、最終列)を取得する… VBAをはじめた人は誰しも最初に引っかかる問題ではありますが、幸いにもインターネットで検索するといくつもの解決法が見つかります。 ところが…動いたり動かなかったり、想定外の動作をすることがあります。そもそもいくつもの解決法があること自体おかしい、いったい当の答えはどれ?この際、白黒はっきりさせようじゃないかというのがこのページの趣旨です。 <S1> ワークシートの最大行、最大列を取得する MaxRow = Rows.Count MaxCol = Columns.Count まず基からですが、ワークシートの最大行、最大列を取得するコードです。もちろんこれ自体は最終行、最終列を取得するものではありません。 Rowsはワークシートの行全体をあらわすオブジェクトで、Columnsは列全体をあらわすオブジェクトです。そのメソッドCountは数

  • Office TANAKA - シートの操作[名前を設定する]

    シート見出しに表示されるシートの名前を設定してみましょう。 シートの名前はNameプロパティ シートの名前を操作するには、シートのNameプロパティを使います。次のコードはSheet1の名前を現在の時刻に変更します。 Sub Sample02() Sheets("Sheet1").Name = Format(Now, "hh時mm分ss秒") End Sub 既存の名前は設定できない 新しいシートの名前に、既存のシート名と同じ名前を設定することはできません。ひとつのブックに[Sheet1]が複数存在することは許されないのです。これから設定しようとしているワークシート名が、すでに他のシート名として使われているかどうか調べるには、すべてのシート名を次のようにチェックします。 Sub Sample02_2() Dim s As Variant, flag As Boolean For Each

  • シートをコピーして名前を変更するExcelマクロ:エクセルマクロ・Excel VBAの使い方/Sheets・Worksheet

    既存のワークシートをコピーして、名前を変更するマクロというのは実務でニーズがあります。 例えば、「2014年04月」という名前の交通費精算書のようなワークシートがあったときに、月初めに「2014年04月」シートをコピーして名前を「2014年05月」に変更して、入力されていた4月分のデータを削除するといった作業をマクロにしておくというのはよく行われていることでしょう。 このとき、シート名を変更するところでエラーになってしまうことがあります。 先の例なら、既に「2014年05月」という名前のシートが存在しているのに、コピーしたシート名を「2014年05月」に変更しようとしたときです。 Sub 名前変更でエラーが出ないようにアクティブシートをコピーする() Dim sh_name As String Dim n As Long sh_name = Format(Date, "yyyy年mm月")

  • 1