1 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 23:16:33 ] ExcelのVBAに関する質問スレです 前スレ pc11.2ch.net/test/read.cgi/tech/1212587819/ ★1 質問テンプレ(雛形)は用意しませんが、OSとExcelのバージョンは必ず書きましょう。 ★2 ExcelのVBA以外の部分に関する質問はNGです。 但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。 ★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。 VBAとは、『Visual Basic for Application』の略で Application ├Workbooks |└Workbook | ├Worksheets | |└Worksheet というApplication以下のオブジェクトを、VB言語で操作するものを指します。 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。 ★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。 ★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。 ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。 ★6 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
107 名前:105 mailto:sage [2008/09/06(土) 07:39:52 ] 説明が抽象的になってしまいすいません。 A列からF列までそれぞれの列に情報を入力してリストを作っているのですが、 既に何百行も情報を入力していて、都合上同じ情報を追加で入力してしまう恐れがあり、 現在は毎回入力の前にCtrl+Fの検索で既に入力された情報かどうか調べています。 そこでA列のセルに入力があれば入力されたセルより上の既に入力された全てのセルの文字列と比較して、 既に同じ入力があればエラーメッセージを出すというマクロを作りたい次第です。 マクロを作成するにあたって、「A列に入力があれば」という部分をどう書けばいいかわからなかった為質問させていただきました。 A列に同じ情報が入力されるという事は都合上絶対に有り得ない事なのでA列のセルを比較しようと考えています。 ・A列には1行目から空白なく順番に情報が入力されている。 ・新規に入力する際は現在のリストの最終行の次の行に情報を入力している。 という条件があるので、A列に入力があればというよりA列の最終行の次の行に文字が入力されればという方が正しいかもしれません。 説明が下手で申し訳ありません。 宜しくお願いします。
108 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 09:22:13 ] >>107 Worksheet_SelectionChange
109 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 09:27:52 ] リアルタイムのイベントハンドラかぁ・・・。 VBAって自分でイベントの作成は出来るのかな。あまり詳しくないんで分からないや:( 若干重くなるけど、sheetのchangeイベントで、セルを移動した時に、A列の最終行の内容と同じ物をチェックするとか。 うーん・・・あまり美しくないよね。 自分でイベント作成出来るのか、私も知りたいです。 詳しい人お願いします。
110 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 10:56:04 ] >>103 ありがとうございました。
111 名前:105 mailto:sage [2008/09/06(土) 14:30:52 ] >>108 ,109 アドバイスをくださってありがとうございます。 参考にマクロを組んでみようと思います。
112 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 14:45:53 ] >>107 重複データがあるかないかを調べるだけでよければ VBA使わなくても条件付き書式でできる。
113 名前:デフォルトの名無しさん [2008/09/06(土) 16:14:55 ] Excelの VBA の関数の呼び出し方法が分かりませんので、誰か教えて戴けませんでしょうか? C では // 関数の定義 void abc(void) // メインルーチン void main(void) { // 関数名 abc(); } void abc(void) { --- } 上記の方法で関数を呼び出そうとして、 Sub 名前() abc() End Sub :abc() --- return 上記記載の方法では動きませんでした。 素人な問い合わせで申し訳ありませんが宜しくお願いします。
114 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 16:25:59 ] 関数なんだからなんらか値を返す 仮にintegerの型でパラメータを受取ってintegerの何かを返すとして Sub 名前() Dim a as integer Dim param as integer param=100 ←何かの数字(integerの範囲内) a = abc(param) End Sub Function abc(param as integer) as inetger 〜 abc = **** ←何か処理した結果のintegerの数字 End Function
115 名前:デフォルトの名無しさん [2008/09/06(土) 17:04:48 ] <<114 113 です。早速のお教え有難う御座います。 なんらか値を返す様に変更します。
116 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 17:10:04 ] >>113 のCのコードを何も考えずにVBAにするとこうだぞ。 Sub main() Call abc() End Sub Sub abc() --- End Sub 戻り値の型がvoidの関数はSub、それ以外はFunction。 戻り値を受け取らない場合、Sub/FunctionにかかわらずCallを付ける(Call使わない記法もあるけど)。
117 名前:デフォルトの名無しさん [2008/09/06(土) 17:30:42 ] >>116 113 です。いろいろお教え戴き有難う御座います。 この方法が簡単なので採用させて戴きます。
118 名前:デフォルトの名無しさん [2008/09/06(土) 18:07:40 ] >>114 >>116 113 です。プログラム作成途中ですが、両方とも必要になりましたので、 共に採用させて戴きます。いろいろと、有難う御座いました。
119 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 21:14:05 ] pc11.2ch.net/test/read.cgi/tech/1204552981/878
120 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 23:37:07 ] 関数は、なんらかの値をかえすべきであるという考えた方が 身に染み付いてるから、SubとVoid関数は非常にきもちわるい。
121 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 23:38:23 ] 要するに時代遅れですね
122 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 00:36:46 ] かえり値もたない関数は、デバッグがむずかしくなるから、医療系の俺の会社じゃ よほどのことがないかぎり作らない。むしろ121がしろうと
123 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 00:52:19 ] >>122 VBAスレで恥ずかしい事いうなよおっさん。
124 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 01:49:03 ] LispとかMLでの話なら>>120 >>122 も分かるが、 VBAで純粋関数型プログラミングは無茶があるだろ、常識的に考えて。
125 名前:89 mailto:sage [2008/09/07(日) 03:31:47 ] むっちゃ早く打つ案に似た解決策で自己解決しました。 必殺コピペです。 グローバルエリアに変数定義しようとしたらDimと打った時点でエラーメッセージが頻発 変数書こうとしても打っている途中でメッセージ頻発して書けない。 どこかにエラーチェックのタイミングプロパティがあると思うがコピペで解決したから諦めようかと思います
126 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 07:55:30 ] そういや、functionしか存在しない言語もあるな。
127 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 10:23:41 ] よくいるんだよね。VBにしかVariant型がないと思ってる自称上級者
128 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 14:27:52 ] ファイルを開かずにアクティブシートを変更するにはどうしたら良いでしょうか。 AccessのTransferSpreadsheetでエクセルの任意シートへデータを出力していますが、 エクセルファイルを開いた時に、値を出力したシートがアクティブになっているようにしたいのです。
129 名前:128 [2008/09/07(日) 14:30:04 ] ついでに読み取り専用属性の操作もできればサイコーです
130 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 14:45:07 ] please tell ass in Japanese... Sheets("hoge").Activate Sheets("hoge").SaveAs "c:\hoge.xlsx", xlWorkbookNormal, , , True
131 名前:128 mailto:sage [2008/09/07(日) 15:15:51 ] えー、ファイルを開かない状態でアクティブシートを変更したいのです。 そのやり方だとインデックスエラーになっちゃうんですけど。
132 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:26:27 ] Excelオブジェクト生成 ファイルオープン(非表示) シートをアクティブにする 保存
133 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:30:41 ] ここっていちいち一から百まで説明しないといけないから疲れるな 結局ファイルを開かなきゃいけないってことですね。どうもありがとうございました。
134 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:39:47 ] 偉そうに言ってますな w
135 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:45:40 ] そりゃそうだ。エスパーなんてここにはいない。
136 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:46:46 ] ここの奴らほとんど、ろくな知識も無いのに 知ったか振っててうざいんだもん これぐらい言わせなよ
137 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:51:18 ] うわぁ・・・低脳すぎて煽るきにもならない
138 名前:128 mailto:sage [2008/09/07(日) 15:52:01 ] あと別におまえらがエスパーである必要はねーけど 言われた事から、相手がなぜそうしたいのか、ではどういう方法が適切かくらい想像しろよ、と思うね おまえら自分の知ってることが唯一の回答であるようにこじつけてるだけだろ。 そういうのをバカの一つ覚えって言うんだよ。 でも回答ありがとう。じゃね。
139 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:52:32 ] っていうかxlsファイルを開くのとExcelのGUIを開くのを同じことだと思っている低脳っているんだね
140 名前:>137 mailto:sage [2008/09/07(日) 15:53:30 ] じゃあ書くなよウスノロw
141 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:53:47 ] うわぁ・・・ひどい池沼ですね・・・
142 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:55:07 ] 日本語で質問できるようになったら書き込みしような。
143 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:56:22 ] 高卒とかFランは書き込みできないようなフィルタかけてくれよ
144 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:59:21 ] 盛り上がってますね
145 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:01:56 ] >>133 最低限1から5くらいまで説明しようぜ。 俺らお前のお母さんじゃないんだからよ。
146 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:02:48 ] というより、 出来ないことは出来ないと説明した上で代替案を示すなら ここまで荒れないと思うのだが。 条件に反することを回答するからこうなる
147 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:03:39 ] >>132 でできると思うぜ。
148 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:10:34 ] >>145 えっ? >128を1から5くらいの説明で理解できるのか? 最近のお母さんてスペック高いんだな!
149 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:11:33 ] OBJ.FileOpenは知ってたけどコードがごちゃごちゃするから嫌いなのよ。 他にもっとシンプルなやり方が無いのかな、って思っただけ。
150 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:12:30 ] >>147 非表示だけど、ファイル開いてるからNGだろ。 想像力のない俺からすれば、元の質問自体がNGだけどな。
151 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:13:04 ] 変な知ったかいいわけ始めたぞ
152 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:14:32 ] ファイル開かずにファイルを変更するなんて方法があったら俺が知りたいな
153 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:16:31 ] 128ってそんなに難しいか まさかとは思うがプログラム板なのにAccessのVBAを知らん奴がいるのか
154 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:20:31 ] 簡単だぞ。質問がヘタなだけ。で質問の答えに対して実装できるスキルもないだけ。
155 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:23:38 ] 要するに低脳というわけですね。分かります。
156 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:24:49 ] 盛り上がってますなあ
157 名前:128 [2008/09/07(日) 16:38:58 ] 結局お前らAccessVBAが理解できなかっただけ佳代w 低能エクセル厨乙w
158 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:49:47 ] スレタイ100回音読してみろ。 それから自分の質問と回答を100回音読しろ。
159 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:56:43 ] 下手な釣りだなあ。次の質問どうぞ。
160 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:49:05 ] >>128 が見えない
161 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 20:20:00 ] excel vba 極めたいのですけど お勧めの参考書はありますか?元制御系プログラマで プログラミングの基本は充分できています。 技術評論社のポケットリファレンスはどうですか?
162 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 20:25:06 ] 便乗質問・・・。 win32APIを勉強したいのですが、お勧めの本ってありますか? 使用目的はExcel VBAで呼び出す事です。
163 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 20:29:47 ] Excel VBAによるWin32 APIプログラミング入門 (単行本) ぐぐることも出来ないの?
164 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 23:32:31 ] 質問者も回答者もバカが多いな
165 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 00:05:08 ] お前ほどじゃないがな
166 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 03:03:14 ] だな
167 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 03:08:05 ] 157 名前:128[] 投稿日:2008/09/07(日) 16:38:58 結局お前らAccessVBAが理解できなかっただけ佳代w 低能エクセル厨乙w こいつリアルでもこんな感じなんだろうな
168 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 07:45:44 ] >>162 マジレスするとWin32APIの為に本を買うのはもったいない。 MSDNとネット上のAPIサンプル集とかで十分。
169 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:00:04 ] detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1112704276 上のようなことの逆は可能ですか? 例えば、セルAに映画のタイトルが縦に並んでて、 セルBにはその映画の詳細が見れるHPアドレスが沢山並んでます。 セルBのそれぞれのアドレスを、セルAに一括でハイパーリンクさせる(埋め込む) 方法が知りたいです。 ご教授、宜しくお願い致します。
170 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:41:35 ] pc11.2ch.net/test/read.cgi/bsoft/1219830884/238
171 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:08:18 ] >>170 循環参照になってる
172 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:09:26 ] 笑!
173 名前:y mailto:sage [2008/09/08(月) 20:21:47 ] >>169 セルB1にあるアドレスを、セルA1にハイパーリンクとして埋め込むのは、 次のようにすればできます。 Sheet1.Hyperlinks.Add Anchor:=Cells(1, "a"), _ Address:=Range(1, "b"), _ TextToDisplay:=Cells(1, "a").Value (マクロの記録を使って、ハイパーリンクを埋め込む動作を記録してみれば簡単です) これをループで括って、「1」となっているところ(これは行番号にあたります)を 変えていけば、お好みの行数分操作できます。
174 名前:y mailto:sage [2008/09/08(月) 20:25:13 ] あ! すみません。 169はマルチポストだったんですね。 気づかずに答えてしまいました。 >>169 ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88 一度ここを読んでおいてください。
175 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:29:35 ] > Range(1, "b") ?
176 名前:y mailto:sage [2008/09/08(月) 20:29:41 ] さらに自分のレスの間違いに気づきました。 Address:=Range(1,"b") → Address:=Cells(1,"b")
177 名前:169 mailto:sage [2008/09/08(月) 21:03:00 ] >>173 マルチ悪かった。 ツール→マクロ→VBA→標準モジュールに保存した後、 マクロ実行してみたけどできません。 初心者なんでもう少し詳しく教えていただけませんか?
178 名前:169 mailto:sage [2008/09/08(月) 21:54:01 ] 1行だけできましたけど、 行数分操作ができません。 Cells(1, "a"), 1の部分の範囲指定はどうすればいいの?
179 名前:169 mailto:sage [2008/09/08(月) 21:55:21 ] できればセルを範囲指定して、マクロ実行で 一括で変更できると助かります
180 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 22:01:32 ] ググレ
181 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 22:27:39 ] >>180 いろいろ調べてもわからねぇよ 質問スレなんだから聞いてるんだろ。。意地悪しねぇで教えろよ。 その気がないなら返信するな
182 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 22:45:30 ] >>179 =>>169 =>>こないだの池沼 な
183 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 22:46:16 ] >>181 =>>179 =>>169 =>>こないだの池沼
184 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 23:16:26 ] モーグでも行けよ池沼
185 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 23:40:48 ] で、また169が暴れるのか?
186 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 23:43:52 ] >>181 =>>179 =>>169 =>>184 =>>こないだの池沼
187 名前:デフォルトの名無しさん [2008/09/09(火) 01:33:11 ] XMLファイルをVBAで扱いたいんですけど、そういった方面を勉強できるような書籍はないでしょうか。 「XML入門」みたいな本はたくさん見るんですけど、あれって具体的なコーディングについては記述が無いorごく少ないですよね。。。 あってもPHPとかばっかりだし。。。
188 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 08:48:08 ] 書籍があってもバカじゃどうしようも無い まともな頭があればVBAでCOM(XMLDOM)使ってXML扱うくらい、 ネットの情報だけで事足りる
189 名前:デフォルトの名無しさん [2008/09/09(火) 10:31:32 ] あるセルからあるセルまでソルバーを使うということをやりたいのですが、 ↓のを作ったのですが、出来ません。どうすればいいですか? SOLVERの参照設定はやりました。 Sub Macro1() Dim x As Integer For x = 1 To 5 Range("Cells(x, 3)").Select SolverOk SetCell:=Cells(x, 5), MaxMinVal:=3, ValueOf:="0", ByChange:=Cells(x, 2) SolverSolve Userfinish:=True Next x End Sub
190 名前:y mailto:sage [2008/09/09(火) 19:35:50 ] >>177 173の後半を、もう少し具体的に書きます。 まずループ用の変数rを宣言し、ここでは例として For 〜 Next間を5回繰り返すループを示しておきます。 Dim r as Long For r = 1 to 5 Sheet1.Hyperlinks.Add Anchor:=Cells(r, "a"), _ Address:=Cells(r, "b"), _ TextToDisplay:=Cells(r, "a").Value Next 繰り返しのたびに、rは1, 2, 3, 4, 5と変化していくので、 上のコードでは1〜5行目に対する操作が行われることになります。 初心者の方なら、「VBA デバッグ」などで検索してみて、この過程を 一つ一つ目で確認する方法を身につけると、上達が早くなります。 For r = Inputbox("開始行?") to InputBox("終了行?") とすれば、処理をしたい行の範囲を簡単に指定できますが、 もっと便利にしたければ、自分でも他の方法を色々調べてみてください。 質問する時は、どんなに間違っていてもいいので、とにかく何か自分なりに 調べて考えたコードを貼って、それに対するアドバイスを求めた方がいいですよ。 181のようなことを書くと、>>1 の★5にあるように、「また丸投げか」と 怒りを買ってしまいます。
191 名前:y mailto:sage [2008/09/09(火) 20:01:47 ] >>189 マクロの記録を使って、ソルバーでやりたい作業をマウスでやってみて、 どんなコードが記録されるか確かめてみてください。(>>1 ★5) 189のコードについては、 @単純な構文ミス Range("Cells(x, 3)").Select → Cells(x, 3).Select A目的セルをどこにしたいのか、可変セルをどこにしたいかが不明 です。特に、Aが分からないとアドバイスができません。
192 名前:y mailto:sage [2008/09/09(火) 20:03:56 ] >189 「>>1 ★6」でした。失礼しました。
193 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 20:44:23 ] >>190 ご親切にありがとうございました。 勉強になりました
194 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 22:41:34 ] >>191 すみません 目的のセルがCells(x, 5)で、可変セルがCells(x, 2)のつもりでした。 で、@のやつをやったら出来ました。 ありがとうございました。
195 名前:デフォルトの名無しさん [2008/09/09(火) 22:50:31 ] VBA初心者です 何か作ろうと思うのですが…自分では思いつかないので… 何か問題お願いします。
196 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 22:57:53 ] >>195 このスレを集計してyの貢献度を調査せよ。
197 名前:195 [2008/09/09(火) 23:04:59 ] >>196 ラジャ
198 名前:デフォルトの名無しさん [2008/09/09(火) 23:34:22 ] 式を教えてください。 A列には文章が入っています。 B列には文章に含まれる単語、C列にはコード番号が入っています。 それぞれ数百〜数千行になります。 A列にはB列の単語のいずれかが含まれる場合には、 単語に対応するC列のコードをD列に表示させたいのですが、 どのような式がよいでしょうか。 VLOOLUPやFINDなどを組み合わせてみても上手くいきません。 お手数ですが、どなたか至急お教え願えますでしょうか。
199 名前:デフォルトの名無しさん [2008/09/10(水) 00:31:40 ] 具体的なセルの中身教えろよ このスットコドッコイ
200 名前:デフォルトの名無しさん [2008/09/10(水) 07:26:43 ] A列…デフォルトの名無しさん、具体的なセルの中身教えろよ、このスットコドッコイ B列…デフォルト、セル、スットコドッコイ C列…E46194、H23t55、342421
201 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 07:44:07 ] ここはExcel VBAのスレです
202 名前:デフォルトの名無しさん [2008/09/11(木) 00:16:48 ] XPでExcel2003です c:\aaa 配下にある全てのファイルとサブフォルダを c:\bbb 配下に全てコピーする事は可能ですか? また、サンプルコード等ありましたらヒントを頂けると助かります 色々と探してはいるのですが、いまいちピンとこないので サンプルがあると助かるのですが、、、、 VBAはまだまだ初心者なので未熟者で恐縮です。
203 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 06:12:54 ] >>202 >>1 ★3 ★4
204 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 19:30:31 ] たまにmougヲチするんだけど、痛い回答者が多いのね。
205 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 19:59:47 ] シートにコンボボックスを貼り付けて AddItemで追加した後にシートを Xボタンを押して閉じようとすると 変更を保存しますかと聞かれるんですが このチェックを外す方法ってあります? OSはXPでExcel2003です。
206 名前:y mailto:sage [2008/09/11(木) 20:15:03 ] >>198 文章中の、特定の単語の有無の判定なら、たぶんInStr関数で何とかなると思います。 調べてみて使えそうなら使ってください。 >199にもありますが、具体的なデータが分からないとアドバイスしずらいです...
207 名前:y mailto:sage [2008/09/11(木) 20:17:20 ] >>195 どんな業界で働いている方か分かりませんが、 実務に役立つ知識が増すようなテーマを選ぶと、 何かと都合がいいのではないでしょうか。 為替、株式市況、地価、青果水産物市況など、 ネット上にはたくさんの生データが公開されています。 それらを自動的に取得し、テーマに沿って演算し、 レポートを出力するマクロを組むだけでも、 相当勉強になると思います。 やるのであれば、日々刻々と変化する数字の方が面白いです。 例えばある人は、東京に10数箇所ある中央卸売市場の毎日の市況データを 取得し、各市場の卸売価格差をグラフに出力するマクロを作っていました。 仲買業者なら、どこの市場で買い付けをすれば一番安いか、 逆に生産者なら、どこの市場に出荷すれば一番高いか、 一目で分かるというものです。ちなみに彼は商社に勤めていますが、 似たようなことをしている人は結構いるでしょう。 Excelは基本的にデータ処理の道具なので、何を試すにしても、 まずは題材になるデータを見つけてこなければなりません。 ならば自分が、分析対象として最も興味を覚えるデータを選ぶのがベターです。 その上で、自分のスキルに応じた試行錯誤をしてみればいいと思います。 仮に「VBA解説書に載っている多機能な家計簿を作るんだ」と決意したとして、 自分で小遣い帳をつけているほどの人ならともかく、付属CDに入っている 仮想データを使って作っていくようなやり方は、モチベーションが湧きづらい ように感じます。