1 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 12:25:04 ] 過去スレ 01 pc11.2ch.net/test/read.cgi/tech/1054356121/ 02 pc11.2ch.net/test/read.cgi/tech/1168308855/ 03 pc11.2ch.net/test/read.cgi/tech/1180192018/ 04 pc11.2ch.net/test/read.cgi/tech/1189814602/ 05 pc11.2ch.net/test/read.cgi/tech/1197448064/ 06 pc11.2ch.net/test/read.cgi/tech/1205231499/ 07 pc11.2ch.net/test/read.cgi/tech/1212587819/ 08 pc11.2ch.net/test/read.cgi/tech/1219673793/ 09 pc11.2ch.net/test/read.cgi/tech/1228372971/ 10 pc12.2ch.net/test/read.cgi/tech/1235332603/ 11 pc12.2ch.net/test/read.cgi/tech/1241885130/ 12 pc12.2ch.net/test/read.cgi/tech/1247566074/
152 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:54:47 ] >>150 コマンドボタンにもタブオーダーはあるよ
153 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:58:42 ] >>145 A1セルの場合 A=横=列=Column 1=縦=行=Row
154 名前:150 mailto:sage [2009/10/07(水) 21:12:30 ] >>152 プロパティのTabIndexをいじってみたら希望道理になりました。 どうもお騒がせしました m(_ _)m
155 名前:デフォルトの名無しさん [2009/10/07(水) 23:40:36 ] 西暦(2000年以降)年を入力したとき、その1年間の祝日の祝日名、月日及び曜日をイミディエイトウインドウに 表示するプログラムで、サブルーチンプロシージャまたは関数プロシージャを3つ利用しなくてはなりません。 ひたすらサイトを検索したのですが、見つかりませんでした。 全く手が出せず、困っています。どなたか教えてください。よろしくお願いします。
156 名前:デフォルトの名無しさん [2009/10/08(木) 00:06:09 ] 155です。 Excel2007を使用しています。
157 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 00:28:45 ] >>155 検索すると結構、マクロ、祝日関数あるよね ダウンロードしてそのソースをみて 考えればいんじゃない 解説してるサイトもあった気がする
158 名前:デフォルトの名無しさん [2009/10/08(木) 00:32:56 ] 155です。ありがとうございます。 祝日判定や、日にちを入れて表示させるものは 見つかったのですが、祝日名を表示させるものは ひとつしか見つからず、ダウンロードしても マクロは見られませんでした…
159 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 00:38:20 ] >>155 祝日名を表示させるコードの一例が載っています。 ttp://www.h3.dion.ne.jp/~sakatsu/holiday_logic.htm#VBA
160 名前:デフォルトの名無しさん [2009/10/08(木) 00:45:27 ] 先ほど参照していたのですが、 kt関数は使ったことがなく、わかりませんでした…。
161 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 01:36:09 ] >>155 質問の意図がちょっとわからんな。 そういう関数を作れっていう宿題なのか、どこかから手に入れたマクロの使い方を知りたいのか。 ちなみにkt関数は肝心の部分がプロテクトかかってて見えないんじゃなかったっけ?
162 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 13:09:35 ] 全くの初心者の質問なのですが、 ttp://www.matsumae.hokkaido-c.ed.jp/02school/kyouka_01.pdf このサイトにある例13の問題の、 ex13 上の例13のプログラムを参考にして,自然数Nを入力したとき, Nの約数の個数を求めるプログラムを,次の手順で作れ。 変数sを準備し,N以下の自然数で割り切れたとき,sに1を加える。 これのやり方が全くわかりません。 どなたか簡単に教えてくれないでしょうか。
163 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 13:45:39 ] >>162 宿題スレにいけ。ぼけ。 Sub test() Dim inputNum As Integer Dim count As Integer Dim divNums As Integer inputNum = InputBox("整数入力してね") For count = 1 To inputNum If inputNum Mod count = 0 Then divNums = divNums + 1 End If Next Debug.Print divNums End Sub ちなみにサンプル例が間違えてるからなw 松前高等学校のプログラム担当の先生に言っといて。
164 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 14:11:18 ] >>163 ありがとうございます。
165 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 15:16:46 ] これか pc12.2ch.net/test/read.cgi/tech/1200989025/115-
166 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 16:01:04 ] >>143 入力したキーのフックに使えるAPI関数があるにはある SetWindowsHookEx 恒常ループを設定して 多分出来ないんだろうが
167 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 16:13:28 ] >>多分出来ないんだろうが 何しに出てきたんだwww
168 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 17:13:36 ] >>167 キー入力のバインドは出来るんだろうが、他のセルに書きながら元セルのアクティブどうするかとか、全角や変換どうするんだとか考えたら難しいかなあと キー入力関係なく、一定時間ごとにセル内容を参照してってのも、入力を確定してないから無理だろうし セル入力中のデータを捕捉出来れば或いは
169 名前:デフォルトの名無しさん [2009/10/08(木) 18:17:21 ] 155です。 学校で授業でやっていて、「テストまでには出来るようにしておけ」 といわれています。 サブルーチンもまだ1度しか使ったことがなく、 マクロを見て理解するのが精一杯の状態です。
170 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 18:39:53 ] 課題には剥かないよな 休日と振替は法律で決まってるからアルゴリズムまるぱく出来るが、最近は数年で法律改正されてる
171 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 19:36:09 ] 頭のおかしな人には気をつけましょう info.2ch.net/before.html
172 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 19:40:37 ] なんだ突然
173 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 19:49:36 ] Excel2002で3D積み上げ棒グラフを作る方法を教えてください。 ttp://terrapy.sakura.ne.jp/image/3DStackedColumn.gif
174 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 20:14:32 ] >>169 カレンダー関連の処理は簡単に見えて実はかなり難しい。 はっきり言って初心者には無理。 > プロシージャを3つ利用しなくてはなりません。 てのがひっかかるんだけど、 学校が用意したサブルーチンがあって、それを呼び出せって話じゃないの?
175 名前:デフォルトの名無しさん [2009/10/08(木) 23:37:56 ] サブルーチンも別マクロで自分で作らなければなりません…
176 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 23:46:19 ] >>175 自分も初心者には少し荷が重い気がするけど 一度に全てやろうとするよりも 一つずつ片付けた方が良いとおもうよ 祝日に関しては内閣府ページ www8.cao.go.jp/chosei/shukujitsu/gaiyou.html が参考になると思うんで どのような処理が必要かまず検討してみたら? テーブルに1年分(1/1〜12/31)のデータ作成して それに祝日データを入れていく方法が一番分かり易いんじゃないかな 振替休日の判定とか 休日 平日 休日 → 休日 休日 休日 とする処理とかあるし
177 名前:デフォルトの名無しさん [2009/10/09(金) 00:07:41 ] 西暦年を入力→1/1の曜日を求める→出力「元日 1月1日 ○曜日」 →1月第二月曜の日を求める→出力「成人の日 1月○日 月曜日」 …の繰り返しをする、ということしか… さまざまなサイトに出ている「春分秋分」については、月日は「春分日」「秋分日」、 曜日は「未定」と表示すればよいのですが…
178 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 00:23:56 ] 2012以上の数字が入力されたら「その年の祝日はまだ決定していません」と表示するのが正解
179 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 00:26:24 ] 祝日法は数年ごとに改定されてるから、計算で求めようとしてもプログラムが長くなるだけ。 ワークシートか配列に50年分の一覧表を入れておいて、それを表示するだけの方がよっぽどコンパクトで正確。
180 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 00:36:00 ] 日付が決まっている祝日 第二月曜日など動く祝日 祝日と祝日の間、振替休日 の三つに別けてやるのがこの宿題の正解だな
181 名前:デフォルトの名無しさん [2009/10/09(金) 00:37:28 ] 元日 1月1日 成人の日 1月の第2月曜日 建国記念の日 2月11日 春分の日 春分日 昭和の日 4月29日 憲法記念日 5月3日 みどりの日 5月4日 こどもの日 5月5日 海の日 7月の第3月曜日 敬老の日 9月の第3月曜日 秋分の日 秋分日 体育の日 10月の第2月曜日 文化の日 11月3日 勤労感謝の日 11月23日 天皇誕生日 12月23日 について表示できれば良く、改定については考慮しません。
182 名前:デフォルトの名無しさん [2009/10/09(金) 00:39:57 ] 祝日を表示したいので、振替休日についても考慮しません。
183 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 01:13:42 ] かなり楽に成っちゃったね ならば、日付が決まっている祝日 第二月曜日、第三月曜の祝日 秋分春分の三つに分けるのが正解かな
184 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 01:50:01 ] というか 後出し過ぎ
185 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 02:38:24 ] 会社の創立記念日とか
186 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 08:24:30 ] ム板だよな?ここ・・・
187 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 08:52:50 ] そっか今みどりの日だから祝日扱いなんだな
188 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 21:28:17 ] 質問をさせて下さい。スペックは Windows2000 Excel2000 です。 シート1に 名前 日付 数 名前 日付 数 ・・・ A氏 10/1 12 E氏 10/3 10 B氏 10/1 11 F氏 10/2 10 C氏 10/2 10 G氏 10/4 11 D氏 10/3 10 のような感じでデータが横に長く入力されているのですが、 これをシート2に一括のデータとしてまとめたいです。 名前には重複はありません。日付のみ重複しています。 申し訳ありませんが、よろしくお願いします。
189 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 21:30:51 ] >>188 に補足です シート2は 名前 日付 数 A氏 10/1 12 B氏 10/1 11 C氏 10/2 10 D氏 10/3 10 E氏 10/3 10 F氏 10/2 10 G氏 10/4 11 ・ ・ ・ の形にしたいです。
190 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 21:41:35 ] >>188-189 配列に入れたら簡単だよ。 それくらい人に頼らず自分で作れないとダメでしょ。
191 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 21:52:53 ] 配列にいれんでも 名前には重複がないんだったら そのままシート2へコピーすればいいだけてしょ 1)A氏〜D氏までのセルをコピー 2)その下にE氏〜G氏までのセルをコピー てな感じで ループ処理していけば
192 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:07:04 ] >>188 もうちょっと具体的に。 シート1は縦4列?
193 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:11:29 ] つか 丸投げな匂いがするのは気のせい?
194 名前:188 mailto:sage [2009/10/09(金) 22:28:11 ] 名前と日付と数でひとつのブロックになっていて、それが横に数十連なっています。 今までは手作業でコピーと貼り付けをしていたのですが 数が膨大になってきたので手作業ではまかなえなくなってしまいました。 とりあえず自分でマクロを組んでみたのですが、ブロックごとの数がまちまちで シート2の一括データに空白が出来て穴あきデータになっていしまいます・・・
195 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:41:20 ] >>155 希望に沿うか分からないですけど、作ってみました。 ttp://excelerthanexcel.blog103.fc2.com/blog-entry-1.html 3つのプロシージャをどう作るかを下の2択で迷い、後者にしました。 ・ 祝日の性質別(固定日、第n月曜日、秋分春分) ・ 機能別(日付確定、曜日確定、1行出力) よかったら参考にしてください。
196 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:57:49 ] >>194 デキタヨー Sub a() Set S1 = Sheets("シート1") Set S2 = Sheets("シート2") With S1 R_max = .UsedRange.Rows.Count C_max = .UsedRange.Columns.Count R_dest = 2 For c = 1 To C_max Step 3 For r = 2 To R_max If .Cells(r, c) <> "" Then S2.Cells(R_dest, 1) = .Cells(r, c) S2.Cells(R_dest, 2) = .Cells(r, c + 1) S2.Cells(R_dest, 3) = .Cells(r, c + 2) R_dest = R_dest + 1 End If Next Next End With End Sub
197 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:08:29 ] またコイツか・・・ 何でわざわざSetするの?
198 名前:デフォルトの名無しさん [2009/10/09(金) 23:11:46 ] >>195 本当にありがとうございます。助かります。 イミディエイトウインドウが表示されないです… 「春分秋分」については、月日は「春分日」「秋分日」、 曜日は「未定」 と表示すればよいのですが、その場合はどうすればよいか 教えていただきたいです。
199 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:14:50 ] 変数の宣言しないと分かりにくいかもねぇ。
200 名前:デフォルトの名無しさん [2009/10/09(金) 23:28:12 ] 198です。 イミディエイトウィンドウは表示されました。すみません。
201 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:29:33 ] >>197 あとから修正する可能性のある部分を先頭にまとめてるだけだよ
202 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:38:16 ] >>198 >学校で授業でやっていて、「テストまでには出来るようにしておけ」 じゃなかった? あんまり人まかせだと テストで 赤点てな事になるよ!
203 名前:195 mailto:sage [2009/10/10(土) 00:03:23 ] >>198 自己解決したとはいえ、イミディエイトウィンドウぐらいは質問せずに自分で開きましょう。 ブログ内のコードをぐだぐだに編集して、結果だけは希望通りに出るようにしました。 質を下げたもので良ければ利用してください。 プログラム板にしては非常にぬるま湯的な対応をしてしまったことを すごく後悔しています。でもまぁ、自分自身の勉強にはなったか。
204 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 00:17:17 ] >>196 ちゃんと内容は見ていないがSet □ = Nothing をする癖をつけた方がいいと思うよ。
205 名前:デフォルトの名無しさん [2009/10/10(土) 00:51:40 ] >>203 ありがとうございました。
206 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 01:10:37 ] >>204 ローカル変数って、たとえオブジェクト型でもモジュールの出口で自動的に開放されるんじゃないの?
207 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 03:57:40 ] 礼儀だよ。
208 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 04:17:30 ] モジュールが無事終了するとは限らないだろ
209 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 05:39:19 ] >>204 いらないよ。 >>207 何の礼儀だよ? >>208 だから?
210 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 06:03:58 ] ↑こいつ最高にアホw
211 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 07:23:40 ] ↓こいつ最高に天才www
212 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 10:05:40 ] ∩――、 /(゚)丶_ 丶 / (● (゚)|つ | (入_ノ ミ | (_/ ノ \___ノ゙ー-、 /\ _ \ (⌒O /\ (_ノ \ノ / 、 )0
213 名前:188 mailto:sage [2009/10/10(土) 10:16:15 ] >>196 テストしてみたところ問題なく動きました。 本当にありがとうございます。
214 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 10:51:27 ] >>210 羮に懲りて膾を吹く。 アプリ終了前にfreeしまくるがごとし。
215 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 12:23:40 ] >>197 >>196 を擁護すればSetした方が速いんだよ。 まぁCellsは遅いから、速くしたければ配列だろうけどね。 それからわざわざシート参照の変数をSet 変数 = Nothingとする必要はねーよ。 そんなこと気にするやつは、他にもっと気にすべきことが抜けてる場合がほとんどだ。
216 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 12:55:55 ] >>196 の >S2.Cells(R_dest, 1) = .Cells(r, c) >S2.Cells(R_dest, 2) = .Cells(r, c + 1) >S2.Cells(R_dest, 3) = .Cells(r, c + 2) この部分は S2.Cells(R_dest, 1).Resize(,3).Value= .Cells(r, c).Resize(,3).Value と1行で書けそうだな。
217 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 13:10:30 ] オブジェクトがデカいと メモリが少ないようなマシンで set=nothingしないとその後辛くないかな 何もないなら必要ないだろうけど。 試して言っている訳ではないです。
218 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 16:16:35 ] プログラマはsetした後nothingしないなんていわない
219 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:06:03 ] >>217 Worksheet型のオブジェクト変数はシートを作ってるわけじゃない。 ワークシートへの参照への参照だ。 メモリは32ビットCPUで4バイトだ。 マクロが終了すりゃちゃんと参照カウンタは0になる。 Set ** = Nothingを書くのを否定はしないが、書くのがあたりまえって意見は否定する。
220 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 20:02:13 ] 書くことを習慣づけろ
221 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:15:43 ] いらないものを書くやつは馬鹿じゃね?
222 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:18:02 ] これを習慣づけろっ!て言うことが 礼儀と呼ばれるんだろね 質問なんですが 他に礼儀ってどんなものが有りますか?
223 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:19:16 ] >>221 如何に記述量を増やすかがプロなんだよ。 最小限で簡潔になんてアマチュアのやること。
224 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:22:39 ] プロってすごいんだね。
225 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:26:09 ] うるさい、黙ってNothing書け!
226 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:27:51 ] なにこの流れww
227 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:36:46 ] つまり、理由も根拠もないんだが、自分のやりたいことを他人に強制したいときの エクスキューズが「礼儀」ってことだ。
228 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:45:54 ] >>215 普通はSetした方が速いが>>196 は未宣言のVariant型だから速くはならんね。 Nothing云々より変数宣言が大事だな。
229 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:57:25 ] つまりプログラムにおいて礼儀とはK&Rであると
230 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:57:50 ] で、それ百万回実行して何ms違うの?
231 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:59:54 ] >>217 関数抜けたら解放されるんじゃ?
232 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 22:02:12 ] >230 普通なら宣言しないほうが早い でも場合によってはエラーが引き起こされたりメモリが足りなくなったりする エラー処理するかどうかなんて人それぞれだし、押し付けるようなもんじゃないんじゃないん
233 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 22:16:56 ] Excel2007 シート上にボタンを2つ貼りつけています。 動作はブックのコピー先をどこにするかだけの違いだけです。 そこでボタンは2つで同じマクロを呼び出し、どのボタンから呼ばれたか によって動作を変えたいのですが、そういう事出来ますか? フォーム上のボタンであれば、 Private Sub btn_A_Click() CopyExec A End Sub Private Sub btn_B_Click() CopyExec B End Sub みたいにそれぞれパラメータを与えて切り替えというのが出来ると思うのですが
234 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 22:33:54 ] これから速度厨と礼儀厨の熾烈な戦いが始まります。
235 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 22:39:35 ] >>233 貼りつけているのは、CommandButtonなの? Private Sub CommandButton1_Click() End Sub Private Sub CommandButton2_Click() End Sub てのが出来るどこれとは違うのかな?
236 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 22:49:17 ] 10usくらいの差なんてどうでもいいよ
237 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 22:50:35 ] おまえらもういいよムリしなくて 速度とかIndexとかVlookupとかピボットとかNothingとか全部ネタのクセに わかってるからさ!
238 名前:235 mailto:sage [2009/10/10(土) 22:53:23 ] 同じマクロを呼び出したいのね ただ >フォーム上のボタンであれば、 以下の文面では フォーム上でも同じマクロを呼び出してないけど それはいいの?
239 名前:233 mailto:sage [2009/10/10(土) 22:55:20 ] >>235 そうです。CommandButtonです。 それはフォームについてVBEで書く時ではないですか? シート上に貼りつけて、対象マクロを選択する時ってマクロの登録(N)から マクロを選択するけど同じのを選択した時に、どのように区別がつけられるのか? と思いまして質問しています。どうなんでしょうか。
240 名前:デフォルトの名無しさん [2009/10/10(土) 22:56:50 ] >>238 あれは CopyExec というマクロに対して、パラメータとして AまたはBを与えるという意味で 書きました。判りにくくてすいません。
241 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 23:01:50 ] >>239 Excel2007じゃないんでなんとも言えないけれど 対象ボタンを右くりっくして "コードの表示"をすると シートオブジェクトのコード画面に Private Sub CommandButton1_Click() End Sub とかできない?
242 名前:239 mailto:sage [2009/10/10(土) 23:08:48 ] >>241 ボタンを右クリックして出てくるメニューの一覧が 切り取り コピー 貼りつけ ------ テキストの編集 ------ グループ化 順序 ------ マクロの登録 コントロールの書式設定 でコードの標示というのはここからは出来ないみたいですが
243 名前:241 mailto:sage [2009/10/10(土) 23:12:16 ] >>242 自分のExcel古いせいかメニューが違うようで お力になれませんでした! すみません
244 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 23:41:15 ] >>242 VBE開いてボタン貼り付けたシートのコードの表示すればいい
245 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 23:49:31 ] デザインモードになってないだけじゃないの。 デザインモードにしてボタンをダブルクリックでVBEの画面になる。
246 名前:デフォルトの名無しさん [2009/10/11(日) 00:36:01 ] エクセル2007で質問です。 アドインタブのユーザー 設定のツールバーのところにボタン1、ボタン2を作って、 ボタン1を押したら、ボタン1のEnabledをFalse、2をTrue ボタン2を押したら1はTrue、2はFalseに設定したはずですが、 ボタン1を押したあと、ボタン2が押せる状態になっていません。タブを切り替えるとなぜかうまくいくんですが。 2007はこういう仕様なんでしょうか
247 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:43:51 ] またーり行こうぜ
248 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:54:36 ] タブってリボンのことか?
249 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:59:03 ] >>239 同じマクロを呼び出した場合、呼び出し元の区別はつかんだろうな パラメータが指定できるなら そこで区別つけるしかない あと フォーム上でもシート上でも クリックイベントのプロシージャは利用できる
250 名前:239 mailto:sage [2009/10/11(日) 06:55:15 ] >>249 >呼び出し元の区別はつかんだろうな 今回は同じマクロを使う事は諦めます。ありがとうございました。
251 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 07:38:14 ] それActiveXコントロールのボタンじゃなくて、フォームのボタンだよね。 application.callerでボタンのテキストが取得できるから、それで判断。
252 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 08:04:41 ] >>251 MsgBox "呼出し元 " & Application.Caller でシート上のボタンでも呼出し元を判別する事が出来ました。ありがとう!