タグ

Excelとセルに関するTomosugiのブックマーク (6)

  • エクセルで別ブックのセルを参照する式の内部

    エクセルで別ブックのセルを参照する式の内部 別ブックのセルを参照する時は ='パス名[ブック名]シート名'!セル名 という式みたいなので、 ='item\zaiko\[zaiko_2010_06_01.xls]在庫シート'!B5 という式を作りました(パスは適当です)。 それで、 ='item\zaiko\[zaiko_2010_06_01.xls]在庫シート'!B5 ='item\zaiko\[zaiko_2010_06_02.xls]在庫シート'!B5 ='item\zaiko\[zaiko_2010_06_03.xls]在庫シート'!B5 ='item\zaiko\[zaiko_2010_06_04.xls]在庫シート'!B5 と日付を連番で複数のセルに入れていきたいので、 日付の 2010_06_01 の部分を他セルから持ってきたいのですが、 この式の中に 文字列参照のMID()

    エクセルで別ブックのセルを参照する式の内部
  • Office TANAKA - セルの操作[セル範囲の取得]

    操作の対象セル範囲が不定の場合 ここまでの解説では、操作の対象を「セルA1に」とか「セル範囲A1:C3に」などと簡単に決めてきました。もちろん解説なのですから、それは勘弁していただきたいのですけど、実際のマクロ作成では操作の対象を特定することに苦労するものです。操作の対象セルを、どう的確に特定するかが、VBAのビギナーとベテランで差が出るところでもあります。たとえば、次のようなデータを考えてみましょう。 このデータをマクロでクリアします。ただし、データが何行何列あるかは、そのときによって異なります。セルをクリアするにはRangeオブジェクトのClearContentsメソッドを使います。次のコードはセル範囲A1:D5をクリアします。 Sub Sample1() Range("A1:D5").ClearContents End Sub クリアすべきセル範囲の左上はセルA1です。したがって、セ

  • No.8 ワークシートの最終行、最終列を取得する

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

  • エクセルのマクロで上のセルの数式を相対参照でコピーしたい(フィルみたいに) - OKWAVE

    エクセル2002で以下のようなシートがあります。 | A | B | C | D --------------------------- 1 |  1| 10| 100| =C1-1 --------------------------- 2 |    |    |    | ここで、B2に文字が入力されると、A1とC1とD1をコピー、B2が消されるとA2とC2とD2を消去するマクロを書きました。 現在以下のように書いていますが、これでは入力位置がB2だろうがB3だろうかB20だろうが、D2と同じ数式になってしまいます。B5に入力されたならD5の数式はC5-1にしたいのですが、このような入力をするにはどうすればよいでしょうか。 ちなみにD列の数式は当はもっと複雑です(この数式ならTarget.Offset(0, -4).Value = Int(Target.Offset(-1, -4).

    エクセルのマクロで上のセルの数式を相対参照でコピーしたい(フィルみたいに) - OKWAVE
  • Office TANAKA - Excel VBA Tips[入力されているデータの最終セルを取得する]

    これは基的なテクニックだと思って今まで解説しませんでしたが、セミナーなどで質問が多かったので、簡単に書いておきます。たとえば、下図のようなリストがあったとします。 この、現在入力されている最終セル(あるいは最終行)を取得するには、どうしたらいいでしょう。 Excelに詳しくない、VBAのプログラミング的なことしか知らないような方でしたら、次のように考えるかもしれませんね。「A列を上から順番に見ていって、空欄セルが見つかったら、その直前が最終セル」だと。その方法でやってみましょうか。 Sub Sample1() Dim i As Long, r As Long For i = 1 To 10000 Range("A" & i).Select If Selection = "" Then r = i - 1 Exit For End If Next i Range("A" & r).Sele

  • 連続してデータが入っているセル範囲の取得 - アプリケーションとしてのVBA

    ◆連続してデータが入っているセル範囲の取得 Excel仕事をさせる場合、ソートやフィルターオプションなどでは、セルの範囲を 指定する必要があります。 データの範囲がいつも一定ならば良いのですが、CSV ファイルを読み込んでデータを 処理するアプリケーションを作成する場合などは、データの範囲を特定してやる必要 があります。 そうしないと汎用性のあるアプリケーションを作成できません。 そんな時に知っていると便利な Tips です。 複数のセルにデータが入っている Sheet を用意してください。 データが入っているセルのひとつを選択して ctl + shift + * を押してください。 どうですか? データが入力されているセル全てが選択されました。 「ctl + shift + * 」をマクロ記録させると、 Selection.CurrentRegion.Select になります。 ちな

  • 1