• ベストアンサー

VBAでの[]

end-uの回答

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.3

「N_SrtNO」はCtrl+F3「名前の定義」を使ってセル範囲に付けられた名前でしょう。 『Evaluateメソッド』のヘルプを参照してください。 http://msdn.microsoft.com/ja-jp/library/aa191489.aspx >メモ Evaluate メソッドの代わりに角かっこを使っても、同じ結果が得られます ([A1:C5] など)。 参照するオブジェクト---今回の事例では名前「N_SrtNO」のセル範囲---を文字列で指定できます。 [N_SrtNO].Column は Evaluate("N_SrtNO").Column つまり Range("N_SrtNO").Column です。 関連QA: http://okwave.jp/qa/q6681089.html?order=asc

msndance
質問者

お礼

ありがとうございます。プログラムが解読できてきました。

関連するQ&A

  • VBAのWorksheetFunctionの引数に配列を使いたい

    VBAにチャレンジし始めて、1ヶ月ほどの者です。 WorksheetFunctionの引数にVBAの配列を入れて計算させたいと思っています。 例えば、作業用の配列temp_arrayを定義し、temp_array()に格納した数字の平均値をWorksheetFunctionで求めるといったことです。 しかし、 Dim temp_array() As Variant Dim a As Double a = WorksheetFunction.Average(temp_array()) としても、 「実行時エラー'1004' WorksheetFunctionクラスのAverageプロパティーを取得できません」 というエラーで叱られます。 ネットで調べていると、Excelのワークシート関数には、引数として配列を扱えるものが多いとあったので、試してみています。 例えば、参考にしたのは下記のサイトの記述です。 http://www.clayhouse.jp/array/array03_d.htm もちろん、平均値を求めるぐらいなら、自分で関数をつくった方が早いのだとは思いますが、エクセルには色々な統計関数があるので、本当に配列として、WorksheetFunctionに簡単にわたせるなら、相当プログラムが楽でシンプルにできるなぁと思います。 もし、よくご存じの方がいたらアドバイスいただけませんでしょうか?

  • vbaプログラム

    excelの列に文字列があり、その文字列をvbaを使って他のシートに貼り付けます。 空白になるまでの文字列をコピーして貼り付けます。for文を使って、null-1までコピーします。 配列を使って、そのnull-1までの添え字の値を取得したいのですが、どのようなプログラムを作ればいいのでしょうか? sheet1のA5以降をコピーして(空白になるまで),それをsheet2のA5以降にコピーして、その列数を反映させたくて。。。 for文と配列を使いたいのですが、よろしくお願い致します。

  • VBA

    VBA エクセルで検索と置換えの機能がありますが VBAでプログラムで検索をしたいのですが、できますか?

  • Excel2007VBA引数が時間であればtrue

    引数が時間であればtrueであればtureを返す VBA関数を探しています。 具体的には、IsDate関数は引数が日付であればtrueを返すように あるセルに"h:mm"形式であればtrueを返すVBA関数は あるかどうか探しています ご存知の方ご教示願います。

  • Win7とWinXPでのバッチ引数について

    いつもお世話になります。 この度仕事上で、壁に当たってしまいましたのでご質問させて頂きます。 WindowsXPで作られている、バッチからプログラム(引数あり)を実行する処理をWindows7に載せ替えているのですが、ここで動作の差異が発生しました。 Environment.CommandLineで引数を取得しているのですが、WindowsXPで実行すると、プログラムパスと引数との間の空白は、1ケタ分になりますが、全く同じプログラムをWindows7で実行すると、空白が2ケタとなります。 プログラム上は、半角スペースをsplitさせているので、引数を参照する添え字が変わってしまい、処理が正常に行われません。 皆様の中で、この様な経験をされた方、アドバイスをお願いします。 【言語】  VB2008 【テスト端末】  Windows7 SP1  WindowsXP SP2 ←ツッコまないでください^^; 【テストPG処理概要】  ・Environment.CommandLineにて引数を取得  ・split関数にて動的配列へ格納  ・配列全てをmsgboxへ表示 【動作結果】  ≪Windows7≫   ・Environment.CommandLine取得時     「C:\test.exe**ABC」 ※便宜上、半角スペースを*で表す   ・配列表示     添え字0:C:\test.exe     添え字1:     添え字2:ABC  ≪WindowsXP≫   ・Environment.CommandLine取得時     「C:\test.exe*ABC」 ※便宜上、半角スペースを*で表す   ・配列表示     添え字0:C:\test.exe     添え字1:ABC

  • VBA&c++のデータ受け渡り

    excel VBAを使用し、セルに入っているipアドレスを文字列をc++で作成したDLLファイル内にある関数に引数として渡したいのですが、関数内で確認すると旨く渡っていません。(正しく表示されない) 何か特別な方法やアドバイスが有れば宜しくお願いいたします。 現在の状況は文字列をstringに入れそのアドレスを引数としています。DLL内関数の引数の型はcharのアドレスです。

  • Excel VBA 配列の開始添字について

    Excel VBAで、「Option Base 1」により配列の添字を1開始にしない場合、セルの値を取り込んだ配列の処理に凄く困らないでしょうか?例えば Dim A,B A=Range(Cells(1,1),Cells(100,500)).value B=Array(1,3,5,7) とかいう場合、どうしてもAは添字が1開始になり、Bの方は0開始になりますよね? AとBについて、ループであれこれ処理する場合、開始添字の違いをイチイチ意識しながらコーディングするのは明らかに間違いの元だと思います。こういうのって、どう対処すれば良いのでしょうか?

  • エクセルのVBAでオブジェクトの配列変数は使えますか?

    VBですとオブジェクトの配列変数というか、コピーしたときに自動的に配列になってしまいますが、エクセルのVBAの場合でオブジェクトの配列変数は使えますか? なにをしたいかというと、ボタンが多すぎて一つ一つにプログラム定義は面倒、そこで配列にしてまわすことにしたいのですが、エクセルで可能でしょうか。 どなたかお願いします。

  • ExcelのVBAに詳しい方、教えて下さい。

    VBAの中でVLOOKUP関数を使っています。 対象となるリストの中に、検索値に相当する文字列が無かったとき、 「WorksheetクラスのVlookupプロパティを取得できません。」という表示がでて、演算が止まってしまいます。 excel単体でVlookupを使ったときのように、検索値が無い場合は「N/A#」と表示させるか、 他の表示をさせて演算を継続させたいのですが、 どのようにしたら良いでしょうか? ご存じの方、教えて下さい。

  • countif/sumifのようなVBA関数

    こんにちは エクセルVBAで配列aをワークシート関数countifで計算したいのですが、できないようです。代わりになるVBA関数はないでしょうか?もしくは、代替可能な方法はないでしょうか?sumifの代わりもご教示ください! よろしくお願いします。 --------------- a(0)=1 a(1)=10 a(2)=100 msgbox worksheetfunction.countif(a,">50") 'ここでエラーとなる。 -- エクセル2003