1 名前:デフォルトの名無しさん [2007/12/12(水) 17:27:44 ] ExcelのVBAに関する質問スレです 質問前に 【 >>2-3 】 あたりを良く読むこと 前スレ pc11.2ch.net/test/read.cgi/tech/1189814602/
830 名前:デフォルトの名無しさん [2008/02/25(月) 15:57:11 ] 基本的な質問でスミマセン! ワークシートに新しい埋め込みグラフを作成(Addメソッドによる)したいのですが Dim co As ChartObject Set co = Worksheets("sheet1").ChartObjects.Add(50, 40, 200, 100) は正常に動くんですが Worksheets("sheet1").ChartObjects.Add(50, 40, 200, 100) は、構文エラーになります。なんで? わざわざ変数に格納しないと、機能しないのはなぜなのでしょうか? 詳しい人おられましたらご教授いただけないでしょうか?
831 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 16:00:26 ] そういう構文だからだろ。疑問を持つところじゃない。
832 名前:デフォルトの名無しさん [2008/02/25(月) 17:16:37 ] Rng AS Range Rng1 AS Range Rng2 AS Range Rng=Range("A1:G10") このRngから一番右の範囲をRng1に入れたい。 またRngから一番右の列を除いた範囲をRng2に入れたい。 どのようにすればよいでしょうか?
833 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 18:32:27 ] union
834 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 18:45:36 ] >>830 Callステートメント
835 名前:デフォルトの名無しさん [2008/02/25(月) 18:49:27 ] >>832 Rng1=Rng.Resize(Rng.Row.Count-1,Rng.Columns.Count).offset(1,0) Rng2=Rng.Resize(1,Rng.Columns.Count).offset(1,0)
836 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 22:51:26 ] >>830 Worksheets("sheet1").ChartObjects.Add 50, 40, 200, 100
837 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 23:07:06 ] ところで君たちは未だにVB独特のハンガリアン記法を守っているのかい? 今度VBAをメンテすることになって読みにくいなあと思ってるんだが・・・。
838 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 23:21:31 ] なんでExcelでシステムハンガリアン使うん?
839 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 23:40:24 ] >>835 はぁ? >>832 Set Rng1 = Rng.Columns(Rng.Columns.Count) Set Rng2 = Rng.Resize(, Rng.Columns.Count - 1)
840 名前:デフォルトの名無しさん [2008/02/25(月) 23:55:21 ] 質問です、デスクトップでユーザーフォームだけ残してエクセルは最小化する方法はありますでしょうか?
841 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:00:18 ] 任意のxisファイルを2個各シートに読み込みたいのですが どうやってもできません・・・ ファイルの読み込みってどうやればいいのでしょうか?
842 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:17:49 ] >>841 ブックを開いておいて、シートを移動すれば医院で内科医。
843 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:27:13 ] vbaを使用してRS232cで計測するはめになったんですが、エクセルのvbaはvb6のようなタイマがないので、 擬似的なタイマを作成するときに、何か注意点とか欠点教えてください
844 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:28:18 ] ご愁傷様。
845 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:30:47 ] >>842 VBAでボタンでファイルを選択って出したいのです! でも参照とか選択ってBOXの出し方すら分かりません・・・
846 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:56:58 ] >>845 ファイルを開くダイアログ ttp://www.serpress.co.jp/excel/vba030.html
847 名前:デフォルトの名無しさん [2008/02/26(火) 01:14:15 ] 質問です、デスクトップでユーザーフォームだけ残してエクセルは最小化する方法はありますでしょうか?
848 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 01:15:58 ] >>846 おお、これでBOX造れるんですね!どうも! またちょっと頑張ってみます
849 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 07:10:38 ] >>847 こういう事? Private Sub UserForm_Initialize() Application.Visible = False UserForm1.Show End Sub
850 名前:デフォルトの名無しさん [2008/02/26(火) 08:29:10 ] Dim a As Integer a = Count("a1:a4") For i = 1 To a Beep Next i シートのデーター数だけ繰り返し処理したいのですが a = Count("a1:a4")ここんとこがエラーになってしまいます。 どう処理したらいいのでしょう?
851 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 12:43:24 ] a = WorksheetFunction.Count(Range("a1:a4")) でどう? 試してないけど。
852 名前:デフォルトの名無しさん [2008/02/26(火) 16:50:49 ] 851さん 850です。動きましたありがとうございました。
853 名前:デフォルトの名無しさん [2008/02/26(火) 19:00:35 ] Renge(RefEdit1.Value)と使いたいのですが RefEdit1.Valueを『セル範囲』かどうか調べる方法はありますでしょうか? よろしくお願いします。
854 名前:デフォルトの名無しさん [2008/02/26(火) 20:10:29 ] フォームから入力するVBAを作成しました。 プログラムを走らせ、フォームがでますが、 何も入力せずに放置するとFrame内だけが白くなります。 改善する方法はありますでしょうか?
855 名前:デフォルトの名無しさん [2008/02/26(火) 21:57:03 ] 830です。 >>834 さん なるほど!。値を渡す構文になってしまっていたのですね! >>836 さん 本当だ!動きました。ありがとうございました。 834さん。836さん。お陰様で疑問が解決しました。感謝!感謝!
856 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:29:04 ] >>854 気にすると体に毒だぞ
857 名前:デフォルトの名無しさん [2008/02/27(水) 09:51:07 ] >>856 つまり対策はないと?
858 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 09:52:18 ] モニタの色温度を変えると白を赤っぽく変えたりできるよ
859 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 18:33:00 ] >>857 俺ら低レベルではわからないんだよ。
860 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 21:33:21 ] >>854 再現する最低限の構成で、ブックもしくはユーザーフォームモジュールをうp 情報全く無しじゃ、さすがに改善法どころか改善可能か否かすらもわからんわな
861 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 23:22:06 ] 俺らはそれだけVBAをさわってないってことさ。
862 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 00:26:29 ] 現実の出来事かどうかすらあやしい
863 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 05:23:21 ] 他のフォームでも同じ現象になるのか検証したの?
864 名前:デフォルトの名無しさん [2008/03/01(土) 04:27:20 ] エクセルで作った表を画像として保存するマクロってありますかねぇ?
865 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 04:55:31 ] >>864 VBAの範囲だけじゃ無理だけど実現可能
866 名前:入院中の側近 ◆0351148456 [2008/03/01(土) 08:15:23 ] >>864 (っ´▽`)っ 暇なので作ってみたよ☆ Option Explicit Private Declare Function GetVersionExA Lib "KERNEL32.DLL" ( _ ByRef pVersionInfo As OSVERSIONINFO _ ) As Integer Private Declare Sub keybd_event Lib "USER32.DLL" ( _ ByVal bVk As Long, _ ByVal bScan As Long, _ ByVal dwFlags As Long, _ ByVal dwExtraInfo As Long _ ) Private Const VK_SNAPSHOT As Long = &H2C Private Const VK_MENU As Long = &H12 Private Const KEYEVENTF_KEYUP As Long = &H2 Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 End Type (次レスに続く)
867 名前:入院中の側近 ◆0351148456 [2008/03/01(土) 08:16:12 ] (>>866 の続き) Public Sub printScreen() Dim pVersionInfo As OSVERSIONINFO pVersionInfo.dwOSVersionInfoSize = Len(pVersionInfo) If pVersionInfo.dwMajorVersion >= 5 Then Call keybd_event(VK_SNAPSHOT, 1, 0, 0) Else Call keybd_event(VK_MENU, 0, 0, 0) Call keybd_event(VK_SNAPSHOT, 0, 0, 0) Call keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0) End If End Sub
868 名前:入院中の側近 ◆0351148456 [2008/03/01(土) 08:36:24 ] (っ´▽`)っ >>866-867 はPrintScreenするマクロだよ。 あとは任せた☆(っ´▽`)ノシ
869 名前:デフォルトの名無しさん [2008/03/01(土) 08:41:50 ] 割り込みで申し訳ないですが、パラレルポート制御を 考えているんですが、VBIOSCMみたいなDLLってVista対応版は ありますか? その他でパラレル制御の方法はありますか? 是非ご教授願います。
870 名前:デフォルトの名無しさん [2008/03/01(土) 10:07:39 ] PC内のフォルダおよびファイルを全て エクセルシートに書き出したい。 DIR関数でやってみたけど、 フォルダを見つけたら階層を掘って、掘り尽くしたら戻って… て処理が上手く行かない。 ご協力頼んます
871 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 10:10:05 ] (っ´▽`)っ はプロかな?凄いな
872 名前:入院中の側近 ◆0351148456 [2008/03/01(土) 10:21:41 ] >>870 (っ´▽`)っ ヒント:再帰
873 名前:入院中の側近 ◆0351148456 [2008/03/01(土) 10:28:33 ] >>870 (っ´▽`)っ こういう関数を作る。 引数:フォルダ 処理 ・引数のフォルダの情報をワークシートに書き出す。 ・フォルダ内の全てのファイルの情報をワークシートに書き出す。 ・フォルダ内の全てのサブフォルダに対し、それを引数として当関数を呼び出す。 (っ´▽`)っ ちなみにエラーをキャッチしておかないと、 参照不可のフォルダ、ファイルのところで処理が止まるよ。 ファイル、フォルダに関してはScripting.FileSystemObjectを使うといい。
874 名前:870 mailto:sage [2008/03/01(土) 11:16:18 ] >(っ´▽`)っ ありがとう。やってみます。
875 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 13:25:08 ] なんだ、ファイルを全て書き出したいと言うから中身を書き出したいのかと思ったぜ。 単にファイル名を書き出したいだけなんだな。
876 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 21:36:05 ] FSOに慣れておくとASPにもVBSにも使えるからオトクです(^ω^)
877 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 23:32:26 ] >>870 ttp://www.atmarkit.co.jp/fwin2k/win2ktips/310filelist/filelist.html
878 名前:デフォルトの名無しさん [2008/03/02(日) 23:54:52 ] 物凄く基本的な事で申し訳ないのですが・・・、処理待ちでスリープを掛けたく、 WScript.sleep (250) と記述していますが、エラー424 オブジェクトが必要です というエラーが出るのです。 何か参照設定が足りないんでしょうか。。
879 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 23:56:42 ] ググれよ・・・
880 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 00:01:10 ] >>878 WScript.exeを参照設定しろー
881 名前:デフォルトの名無しさん [2008/03/03(月) 00:45:53 ] >>880 ありがとうございます。 WScript.exeを参照し、Windows Script Host(Ver5.6)を参照設定に加えたのですが やはり同じエラー出ました。 参照の問題では無さそうなので、設定も含めた他の部分をもう一度見直して見ます。 >>879 当然質問前に検索したのですが、WScriptの参照設定について記述されたページが見つからなかったもので・・・。 すみませんでした。
882 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 01:15:50 ] Win32 APIのSleep関数を使えばいいじゃない。
883 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 01:22:50 ] >>878 それって、Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)じゃいけないの?
884 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 10:54:00 ] 自分が過去に作ったソースをよく探すんですけど、 Excelファイルが散在してるし、開いてからAlt+F11を押す手間とか効率悪いです。 GoogleDesktopSearch用Excel VBAプラグインってないもんですかね?
885 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 11:52:08 ] 別にプラグインじゃなくてもブックファイルからVBAを抽出するだけでもよさそうな。 まぁ、そういうものがあるかどうかって話になるけど。
886 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 11:59:12 ] >>885 VBAのコードは、マクロでファイルにexportできるから、作ろうと思えば比較的簡単に作れる。 ただし、そのexportしたものがGDSでIndexingされるかどうかは、別の話。
887 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 13:43:25 ] こう? officetanaka.net/excel/vba/vbe/index.htm 保存するとき拡張子に.txtを追加してあげればいいよね。 とりあえず何とかなりそうな気がする。どもども。
888 名前:できたよん mailto:sage [2008/03/03(月) 18:53:27 ] VBAソースをいっぺんに吐き出すマクロ(Excel2003) 準備 ・A列にファイルリストを作る 参考:ttp://www.vbalab.net/vbaqa/data/excel/log/tree_199.htm ・ツール→マクロ→セキュリティ→信頼できる発行元 のVBプロジェクトへのアクセスを信頼するをON ext(1) = ".bas": ext(2) = ".cls": ext(3) = ".frm" Set xl = CreateObject("Excel.application") xl.Application.Visible = True xl.AutomationSecurity = msoAutomationSecurityForceDisable 'マクロ無効 For i = 1 To 9999 bookName = Cell(i, 1) If bookName = "" Then Exit For Set bk = xl.Workbooks.Open(bookName, False, True) With bk.VBProject.VBComponents For j = 1 To .Count If .Item(j).Type <= 3 Then _ .Item(j).Export bookName & "_" & .Item(j).Name & ext(.Item(j).Type) & ".txt" Next End With bk.Close SaveChanges:=False Next
889 名前:デフォルトの名無しさん [2008/03/04(火) 12:34:14 ] すいません。KILLの使い方が分かりません。 たとえば、BOOK1のファイルごと、削除したいのですが どうゆうコードで書いたらいいのですか?
890 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 12:41:43 ] killはファイルを消すときに使う
891 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 13:15:20 ] kill "your.xls"
892 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 16:57:42 ] Kill "BOOK1.*"
893 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 11:30:59 ] 質問させてください。 .value = "hogeの値は" + hoge + "です" の表記をしたいのですが、""テキストと、変数を並べて表記する方法が分かりません。 +で結合ではありませんでした。 VBAでのテキストと変数の表記方法を教えてくださいませ。
894 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 12:00:21 ] >>893 VBの文字列結合は &
895 名前:デフォルトの名無しさん [2008/03/05(水) 12:44:58 ] Private Sub CommandButton1_Click() Kill "BOOK1.*" End Sub book1のファイルのコマンドボタンでこれを実行すると、ファイルが みつからないとエラーだでてしまうのですが・・・ ファイルをかっこよく消したいです。
896 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 13:14:45 ] >みつからないとエラーだでてしまうのですが・・・ かっこわりw もしかして、ワイルドカードが使えないんじゃないの?
897 名前:デフォルトの名無しさん [2008/03/05(水) 13:17:44 ] *←これでしょ? でも使えないの・・・
898 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 14:18:02 ] * これを見るだけでなんか恥ずかしくなってしまうよな
899 名前:デフォルトの名無しさん [2008/03/05(水) 14:42:21 ] 違うの?
900 名前:デフォルトの名無しさん [2008/03/05(水) 15:30:35 ] すいません、ExecuteExcel4Macroで、ループを使わずに 一気に範囲データを読み込むことは出来ないのでしょうか?
901 名前:デフォルトの名無しさん [2008/03/05(水) 17:00:06 ] Dim d(100,100)AS Douale3Dim rng AS Range rng=Range("A1:C3") このrngから配列dに行列を入れ替えて代入する方法がわかりません。 どのようにすればよいでしょうか?
902 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 17:06:38 ] Excel VBAとかマジわかんないけど If ActiveCell.Column <> 1 Then Exit Function End If じゃだめなの?
903 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 17:29:47 ] >>901 訂正します。 Dim d(100,100)AS Double Dim rng AS Range rng=Range("A1:C3") d=(double)Transport(rng) ↑ このrngから配列dに行列を入れ替えて代入する方法がわかりません。 どのようにすればよいでしょうか?
904 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 20:34:08 ] >>900 おれも尻鯛
905 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 21:17:08 ] >>900 まずはどうしてもループが使えない事情があるなら説明してみろ 単に使いたくないとか時間が掛かるとかなら帰れ
906 名前:900 mailto:sage [2008/03/05(水) 21:19:31 ] >>905 お前に言う必要は無い。 わからないならレス不要
907 名前:900 mailto:sage [2008/03/05(水) 21:38:46 ] 自己解決しました。 お前らマジ役立たず
908 名前:900 [2008/03/05(水) 21:39:40 ] なんだか偽者出てるみたいですが、900です。 >>905 ループで一度データをコピーするプログラムを作成したのですが、 開始から終了までかなり時間がかかってしまうことが分かりました。 処理時間を軽減できないかと考えて、範囲ごとコピーできないかと考えた のが理由です。
909 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 21:43:04 ] 縦横変換したものを一旦シートに貼り付けて、それから変数に代入しろ
910 名前:デフォルトの名無しさん [2008/03/06(木) 02:28:41 ] >>900 速度向上のためにはSelectするな!withを使え! Rangeで取り込んで配列に一括取り込み。
911 名前:デフォルトの名無しさん [2008/03/06(木) 02:32:43 ] >>903 まず型変換して代入で可能 d=CDbl(rng) あと行列逆転はFor〜Nextで1セル毎にループでできるが、一括でできる方法はないかな?
912 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 08:45:45 ] 速度気にするなら、まずExecuteExcel4Macroでやろうってのが間違いだと気付け
913 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 09:06:42 ] >>908 ExecuteExcel4Macroなんか使って読みにくく、また他に使い途もないコードを書くより、 ADO使って"SELECT * FROM [Sheet1$]"みたいにやった方が、将来的に考えて 色々と応用できて幸せになれる確率が高いぞ
914 名前:900 mailto:sage [2008/03/06(木) 09:50:11 ] 御回答ありがとうございます。 ExdcuteExcel4Macroは使わない方針でいってみたいと思います。
915 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 09:59:52 ] >>911 >>909
916 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 10:11:06 ] Publicで宣言したプロシージャを ツール→マクロ→マクロとメニュー選択した際のダイヤログボックスに 表示させない方法があったと思うのですが、 どうやればいいでしょう????
917 名前:初心者 [2008/03/06(木) 11:40:13 ] 初歩的な質問かと思いますが、可能な限り過去の書き込みを検索しましたが、解決できませんでしたので、質問させていただきます。 A1からA10に数値の値が入っているとします。 もしこのA1からA10までの値がすべて0だったら、○○というプログラムを実行する、というマクロを組みたいと思っています。 If Worksheets("Sheet1").Range("A1:A10") = 0 Then Call ○○ End If というふうに自分では作ってみたものの、うまくいきません。 アドバイスの方よろしくお願いします。
918 名前:デフォルトの名無しさん [2008/03/06(木) 15:42:25 ] >>915 シート作成は速度の関係上できるかぎり避けたいのです。 関数やプロパティで行列を逆に入れ替える方法はないでしょうか?
919 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 15:47:34 ] >>918 計測してから物を言え。
920 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 16:12:20 ] >>917 dim i as integer for i = 0 to 9 if worksheets("sheet1").range("a1")..text <> "0" then exit for next if i == 10 then call *** end if
921 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 16:13:18 ] あ、思いっきり間違ってた。 if worksheets("sheet1").range("a1")..offset(i,0).text <> "0" then exit for が正解。
922 名前:デフォルトの名無しさん [2008/03/06(木) 16:47:13 ] >>919 シート作成するのが通常よく使うよね。 VBAではあまり速度を問われないことがおおいから。 私もそうですし他の方法しか教えられない。 >>918 気長にVBAスペシャリストを待ちましょう。
923 名前:919 mailto:sage [2008/03/06(木) 16:53:13 ] スペシャリストの俺に喧嘩売ってんのか?
924 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 17:02:20 ] 取りうる方法は三つしかない。 ・行列を変換しながら1セルごと配列にコピー ・rangeを配列にまるごとコピーした後に、行列を変換しながら別の配列に代入 ・行列を変換して別のシート(同じシートでもいいが)にコピーしてから、rangeを配列にコピー 実行する内容や量やExcelのバージョンやPCのスペックによって変わるから、 自分で測って一番速い奴を使え。
925 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 17:24:23 ] んなこたーない。 dim rng as range dim d as variant set rng = worksheets("sheet1").range("a1:c3") d = application.worksheetfunction.transpose(rng)
926 名前:デフォルトの名無しさん [2008/03/06(木) 18:43:57 ] 教えて先生!! あたしシートの追加をしたいのぉ Sub Macro1() Dim unko As String unko = "ウンコ" Sheets.Add ????? End Sub 変数名を取得して、その変数名をシート名としたシートを追加したいというかぁ リネームじゃなくて、ダイレクトに追加できればいいなぁとおもうの。 エロイ人おしえてーー。
927 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 20:07:32 ] >>901 dがVariant型でよければ、 d = WorksheetFunction.Transpose(Range("A1:C3")) でdには縦横入れ替えた2次元配列が格納される。
928 名前:927 mailto:sage [2008/03/06(木) 20:10:40 ] よく見たら>>925 でがいしゅつじゃねーか。
929 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 20:38:03 ] >>916 そういう時は、dummyで使わない引数をプロシジャの()の中にセットする様にしているけど邪道か?
930 名前:デフォルトの名無しさん [2008/03/06(木) 21:14:07 ] >>925 dim rng as range dim tmp as variant dim d as double set rng = worksheets("sheet1").range("a1:c3") tmp = application.worksheetfunction.transpose(rng) 最後に forループで tmp(i,j)からCDbl(d(i,j))に代入しました。 かなり速度が改善しました。 ありがとうございました。