- ベストアンサー
VBAでの[]
end-uの回答
「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
関連する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文と配列を使いたいのですが、よろしくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- Excel2007VBA引数が時間であればtrue
引数が時間であればtrueであればtureを返す VBA関数を探しています。 具体的には、IsDate関数は引数が日付であればtrueを返すように あるセルに"h:mm"形式であればtrueを返すVBA関数は あるかどうか探しています ご存知の方ご教示願います。
- ベストアンサー
- Visual Basic
- 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
- 締切済み
- Visual Basic
- VBA&c++のデータ受け渡り
excel VBAを使用し、セルに入っているipアドレスを文字列をc++で作成したDLLファイル内にある関数に引数として渡したいのですが、関数内で確認すると旨く渡っていません。(正しく表示されない) 何か特別な方法やアドバイスが有れば宜しくお願いいたします。 現在の状況は文字列をstringに入れそのアドレスを引数としています。DLL内関数の引数の型はcharのアドレスです。
- ベストアンサー
- Visual Basic
- 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の場合でオブジェクトの配列変数は使えますか? なにをしたいかというと、ボタンが多すぎて一つ一つにプログラム定義は面倒、そこで配列にしてまわすことにしたいのですが、エクセルで可能でしょうか。 どなたかお願いします。
- ベストアンサー
- Microsoft ASP
- ExcelのVBAに詳しい方、教えて下さい。
VBAの中でVLOOKUP関数を使っています。 対象となるリストの中に、検索値に相当する文字列が無かったとき、 「WorksheetクラスのVlookupプロパティを取得できません。」という表示がでて、演算が止まってしまいます。 excel単体でVlookupを使ったときのように、検索値が無い場合は「N/A#」と表示させるか、 他の表示をさせて演算を継続させたいのですが、 どのようにしたら良いでしょうか? ご存じの方、教えて下さい。
- ベストアンサー
- Visual Basic
- countif/sumifのようなVBA関数
こんにちは エクセルVBAで配列aをワークシート関数countifで計算したいのですが、できないようです。代わりになるVBA関数はないでしょうか?もしくは、代替可能な方法はないでしょうか?sumifの代わりもご教示ください! よろしくお願いします。 --------------- a(0)=1 a(1)=10 a(2)=100 msgbox worksheetfunction.countif(a,">50") 'ここでエラーとなる。 -- エクセル2003
- ベストアンサー
- Visual Basic
お礼
ありがとうございます。プログラムが解読できてきました。