7.1 カーソルは今何どこにいる?
エクセルのアプリケーションを作っているとき、現在選択されているセル(カーソルがいるセル)が
何行目にいるか
や、
何列目にいるか
を知りたいことはありませんか?
これらを知りたいときは、
ActiveCell.Row
で現在選択しているセルの行番号、
ActiveCell.Column
で現在選択しているセルの列番号、
ActiveCell.Address(a, b, c)
ではそれらを
A1やC15
などのセル名で取得することができます。
ActiveCell.RowとActiveCell.Column
ActiveCell.Row
と
ActiveCell.Column
のの使い方です。取得できる内容は、
どちらも数値
です。例では、現在選択しているセル(カーソルがいるセル)の行番号をセルA1に、列番号をセルA2に入れています。
Sub prcActiveCellRowsColumn()
'現在選択しているセルの行番号を取得します
Range("A1")="行番号は:" &
ActiveCell.Row
'現在選択しているセルの列番号を取得します
Range("A2")="列番号は:" &
ActiveCell.Column
End Sub
※このエクセルマクロはワークシート内へ記述するマクロです
ActiveCell.Address(a, b, c)
次に、
A40やR2C15
などのセル名で取得する
ActiveCell.Address(a, b, c)
を使った方法です。
ActiveCell.Address(a, b, c)
には、いくつか引数を与える必要がありますが、とりあえずこれだけあれば十分です。
■引数(抜粋)
a:行番号の取得形式
True だと「絶対参照形式」です。 例/A$10,R[10]C1
Falseだと「相対参照形式」です。 例/A10 ,R10C1
b:列名の取得形式
True だと「絶対参照形式」です。 例/$A10,R10C[1]
Falseだと「相対参照形式」です。 例/A10 ,R10C1
c:セル名の取得形式
xlA1だと、A1参照形式です。
xlR1C1だと、R1C1の参照形式です。
例では、セル名を
A1形式
かつ
相対参照形式
で取得し、結果をセルA1へ入れています。
Sub prcActiveCellAddress()
Rnage("A1")="セル名は:" &
ActiveCell.Address(True, True, xlA1)
End Sub
※このエクセルマクロはワークシート内へ記述するマクロです
エクセルマクロTips
応用技・その他編
◇その他の便利な機能
1.カーソルは今何どこにいる?
・何行目、何列目にいるかを知る
2.データがある最終行を知る方法
・最終列も同じ要領で
3.ワークブックの名前を知る方法
・ワークシートの名前やワークシート数も
・もちろん開いているワークブック数も
4.ワークシートの関数を使う方法
・Worksheetfunctionオブジェクト
5.並べ替えをしてみよう
6.開いたときに自動で実行!
・Workbook/Openイベント
・Auto_Openプロシジャ
・自動実行を回避する場合
7.マクロの記録機能を使ってVBAの記述を調べる
8.ワークブックのパスを取得
9.新しいメニューを追加する
10.追加したメニューを変更する
11.追加したメニューを削除する
12.アドインを作る
・XLAのアプリケーション
13.アドインを組み込む、解除する
・AddIns()
・ダミーの処理Auto_Remove?!
14.Offsetプロパティ
・基準の位置から指定した分ずらした場所
15.ワークシートの背景に画像を設定する・解除する
16.ワークシート上のコントロールを操作する
・テキストボックスなどを作成・操作する方法
17.列番号から列名を求める
・Addressプロパティを応用したテクニック
18.列番号から列名を求める究極の技
・26進法に変換して求めるテクニック
19.シート見出しを自動的に並べ替える
・バブルソートとModeメソッドの組み合わせ
20.ワークブックを開いているかどうか調べる
・Workbooksコレクションを調べる
21.株価情報を取得しワークシートに表示する
・IEオートメーションとの合わせ技
22.株価時系列データを取得しワークシートに表示する
・IEオートメーションとユーザーフォーム
23.為替レートを取得しワークシートに表示する
・MSXML2.XMLHTTP、タイマー処理、正規表現など
24.フォルダ内を検索する(FileSearch非互換対策1)
・Dir関数を使ってフォルダを検索する方法
25.フォルダ内を下の階層まで検索する
(FileSearch非互換対策2)
・ShellとFolderItemsオブジェクトを使う方法
26.誕生日(生年月日)から年齢を求める
・DateDiff関数と論理式を応用する
27.ハイパーリンクを使って住所から地図を表示する
・Hyperlinks.AddとURLの編集
L1.不要な行/列を全て削除する
・いらないデータも一網打尽!で削除する[L]
L2.コード値から名前を取得する
・VLookup関数の応用技[L]
*その他の便利な機能のコンテンツは、整理・踏襲時に別カテゴリへ移動する場合があります。[L]の項目は、他のカテゴリの項目です。
◇処理効率の向上に関する事例
1.SelectやSelectionは使わない
2.オブジェクト変数の方が速い!?
・セルをオブジェクト変数経由で使う
3.データの最後を探す場合
4.合計や平均を求める場合
5.大量のデータを取り出す、書き込む
・配列を使った方法
6.単純なコピペはDestination:=で
・切り取り→貼付けも同じ要領で
7.連続した領域はオブジェクトで
・For Each In〜Nextを使う
8.トドメは画面描画をOFF!
◇その他
「Excel VBAでできるRPGゲーム作成入門」の紹介/前編
・付属ゲーム「真・魔討伝」について
「Excel VBAでできるRPGゲーム作成入門」の紹介/後編
・本書の内容と、CD-ROM特典について
「真・魔討伝」のトラブルシューティング
・ゲームがうまく動かない場合
■ブック・シート操作編
■セル・行・列操作編
■セル検索編
■Applicationオブジェクト・イベント編
■オートシェイプ操作編
■グラフ操作編
■応用技・その他編
■サイト内を検索
Happy! Happy! Islandその他のコンテンツ
■
VBAプログラミング系
Access VBAのTipsとサンプル
Excel VBA(エクセルマクロ)のTipsとサンプル
VBScript/JScriptのTipsとサンプル
プログラミング基礎・入門
■
入門と使い方
Access入門と使い方講座97~2003/2007/2010/2013
Access VBAプログラミング入門 2013/2010/2007/2003
Excel入門と使い方講座2013/2010/2007
■
ダウンロードコーナー
AccessとExcelのフリーソフト
■
その他
質問受け付けコーナー「管理人に聞いてみよう♪」
BBS過去ログ広場
HTMLの書き方
管理人プロフィール
┗
twitter(外部サイト)
管理人へメール
■
別館(海外向けサイト)
Excel Games and Access Games
VBAプログラミング&Tips集の
"Happy! Happy! Island"トップページへ
[PR]管理人が心を込めて書いた本
■
最速攻略 AccessVBAサンプル大全集
Access 2013/2010/2007対応版
■
速効!ビジネスPC Accessマクロ&VBA
Access2013/2010/2007対応
■
最速攻略Accessクエリ テクニック大全集
Access2013/2010/2007対応
■
AccessVBAマクロ超入門講座 Access2010/2007対応
■
ExcelVBA超入門講座 Excel2010/2007対応
■
ExcelVBAでできる RPGゲーム作成入門
■
[改訂新版]実践COBOLプログラミング入門
■
最速攻略 VBScriptサンプル大全集
Windows7/Vista/XP/2000対応
(
アマゾン
へジャンプします)
[PR]注目の情報
転職成功の秘訣はサイトに公開されない求人にあった
採用人数が少ない・専門性が高い・競合他社に知られたくないなど、魅力的な求人情報ほど一般には公開できないのです。
株デビューするなら SBI証券!
業界屈指の格安手数料と業界最高水準のサービスで口座数はネット証券 No.1!口座開設料・管理料は無料。
GDOゴルフショップ
ゴルフ用品のオンラインメガストア。品揃え10万点!
アスタリフトコラーゲンドリンク
毎日続けるものだから・・まとめ買いで最大10%OFF!集中コラーゲンケアで、ハリと潤いの溢れる毎日へ。
[リンク]IT関連情報サイトなど
gihyo.jp
技術評論社提供のIT関連コンテンツサイト
Copyright(C) 1999-2015
結城圭介
(Ver.3.51) All rights reserved