人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルのマクロで列を指定するのに、1行目の名前を使って指定するにはどうかけばいいのでしょうか? シートで列を挿入されると動作が変わってしまうので、名前ベースでやりたいのです。名前がないときは、エラーを出してとまってくれるマクロならなおよしです。


●質問者: kaiketsu
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:エクセル エラー ベース マクロ 名前
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Mook
●60ポイント

1行目の名前というのは名前の定義ではなく1行目のセルの値ということでしょうか。

であれば、下記のようでどうでしょうか。

Sub test()
 Dim name As String
 name = "abc"
 If getColumn(name) = 0 Then
 MsgBox name & "はありません"
 Else
 MsgBox name & "は" & getColumn(name) & "列です"
 End If
End Sub


Function getColumn(cName As String)
 Dim res As Range
 Set res = Rows(1).Find(what:=cName, lookat:=xlWhole)
 If res Is Nothing Then
 getColumn = 0
 Else
 getColumn = res.Column
 End If
End Function

列を取得したい場所で getColumn( 名前 ) というように使用すれば取得できます。

http://excelvba.pc-users.net/fol7/7_1.html

◎質問者からの返答

ありがとうございます。やはりめんどうですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ