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/
357 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 22:22:58 ] 保護モード Navigateでぐぐれ
358 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 22:33:05 ] >>355 わざと後出ししたな
359 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 22:41:16 ] Webクエリをマクロで記録は気に食わないのか? Sub Macro1() With ActiveSheet.QueryTables.Add(Connection:="URL;www.google.co.jp ", _ Destination:=Range("$A$1")) .Name = "www.google.co.jp" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With End Sub
360 名前:348 [2009/10/18(日) 22:41:33 ] >>356 だめか? >>357 保護モードを解除したがだめです。 >>358 すまん
361 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 22:45:47 ] webbrowserコンポーネント使えば?
362 名前:348 [2009/10/18(日) 22:48:17 ] 金曜日の夜からVBAを触り始めまして、WEBクエリという単語は何度か目にしましたが スルーしてました。 これだとテキスト形式での貼り付けになってしまいますね? ページを丸ごとコピーして(HTML、画像も)貼り付けたいのです。 できるのかな?ちょっとクエリについて勉強してみます。 残り73分で!
363 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 23:03:06 ] OSとIEのバージョンを後出しされてしまったでござるの巻
364 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 23:06:24 ] > ちなみにVISTA,IE7,officeXPという環境です。 正直言おう その環境を再現して動作確認するのが面倒
365 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 23:11:07 ] VistaにIE7にOfficeXPって、わざといらない子ばかり集めて何してんの?何かの罰ゲーム?
366 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 23:17:04 ] Webクエリで画像まで取り込む方法ってあったっけ?
367 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 23:24:31 ] >>348 VBA初めて作る初心者です 初めてでIEからデータ取得なんてできるわけないし、 ここにソースを貼ってもらっても使いこなせるわけ無い むだ
368 名前:348 [2009/10/19(月) 00:29:41 ] できた。 みんなありがとう
369 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 00:32:13 ] シートにwebbrowser貼れば?
370 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 00:59:37 ] >>368 できたら何がダメだったか原因書こうな たとえショボミスでも、だ 同じ質問がきたときウザいだろ
371 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 02:03:39 ] VBA使いの皆様へ VBAとExcelは余り相性が良くありません。 VBAをExcelの上で使うとVBAもExcelも下手になることが 多いです。Excelを使う場合は、出来る限りVBAを使わず シートの上の数式だけでなんとか出来ないか先ず考えま しょう。 Excelで本格的な大量計算を行うのは向いていません。 Excelは概して計算が早く無いからです。 VBAを学びたいというのであればAccessのほうが がおすすめです。
372 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 04:51:58 ] hagedo
373 名前:325 mailto:sage [2009/10/19(月) 12:55:44 ] >>343 ネットワークドライブの割り当てもやってみたんですが、「ネットワーク名がみつかりません」になってしまうんです。 >>341 やってみましたが、結果は変わらずでした。ありがとうございます。 >>342 オフコン系SEなのでWEBDAVとは初耳でした、ありがとうございます。色々調べてみます。 ちなみに新しいブラウザにURL入力しファイルを開いてもhttp://〜のままでした。
374 名前:デフォルトの名無しさん [2009/10/19(月) 13:33:05 ] >>371 WorksheetFunction使えばいいやん
375 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 13:47:51 ] userformを見えなくするのに unload meと userform1.hide が有りますけど(他にもあるのか知りませんが)、この違いって何ですか?
376 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 14:33:00 ] >>375 hideは見えなくなるだけでまた復活させることができる。例えばテキストボックスの中身とかそのまま残ってる。 unloadは完全に消去
377 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 16:21:50 ] >>375 簡単に言うとUnloadはメモリから削除してしまう。 hideは字の如くメモリに残したまま見えなくするだけ。
378 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 17:22:44 ] >>376-377 ありがとです。 後で再利用するなら hide もう要らないなら unload ですね。
379 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 17:47:45 ] unload 378
380 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 18:28:22 ] >>379 379.visible = false
381 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 19:12:37 ] ユーザーフォームを印刷しようと思ってるのですが、ユーザーフォーム自体のサイズが大きいのでA4のサイズに納まらずはみ出てしまいます… A4サイズに縮小して印刷する方法はないでしょうか? コードはシンプルに userform1.printform だけです。 かなりググッたりしてみましたが、良いホムペもなかったので…
382 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 19:37:40 ] >>373 いやだからhttp://でアクセスできるんだけど読み取りになるんだよ。 それはhttpプロトコルの制約だから。 http://を\\サーバIPにして後ろの/を全て\になおしてみて。
383 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 19:43:01 ] >>381 縮小印刷はプリンタドライバの仕事。機種依存になるので自力で試行錯誤が必要
384 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 20:33:33 ] excel2007 リストボックスに3列データを入れる事が出来るようになったとこなんですけど (1) これタイトルみたいなのを付ける事は出来ないんですか? コード 商品名 支店 ←付けたいタイトル 9999 xxxxxxxxx xxxxxxx ←データ みたいな感じで。 (2) code=Userform1..ListBox1.Text で選択したコードを拾う事は出来たんですが、この例で商品名を拾うにはどのようにすれば良いのですか?
385 名前:デフォルトの名無しさん [2009/10/19(月) 21:22:18 ] 【1 OSの種類 】 Windows XP SP2 【2 Excelのバージョン】 Excel2000 【3 VBAが使えるか 】 4日目 勉強中 【4 VBAでの回答の可否】 可 まだひよっこちゃんですが皆さんよろしくお願います。 マクロの勉強兼ね、エクセルでTOEICの単語帳を作ろうと思っています。 形としましては、 英単語および日本語訳をシートのA、B列に羅列し、 ユーザーフォームで、 英単語用のテキストBOX1、コマンドボタン1、 日本語用のテキストBOX2、コマンドボタン2 暗記済みのチェックボックスが3つ という構成で、 コマンドボタン1を押すとランダムで英単語が選択され、テキストボックス1に表示 その状態でコマンドボタン2を押すとその訳がテキストボックス2に表示され、 暗記済みの時はチェックボックスにチェックをつけ、3つたまるとその単語は二度と出てこないようにしようと思います。 また、再度ファイルを開いても単語ごとに同じ状態が保存されているようにしたいと思います。 単語数が600あるという設定で、以下のように作ってみましたが、日本語訳表示の時点で詰まってしまいました。
386 名前:385 [2009/10/19(月) 21:24:01 ] Private Sub UserForm_Click() End Sub Private Sub UserForm_Initialize() End Sub Private Sub CommandButton1_Click() Dim intmax As Integer Dim intmin As Integer intmax = 600 intmin = 1 TextBox1.Value = Cells(Int((intmax - intmin + 1) * Rnd + intmin), 1) End Sub Private Sub CommandButton2_Click() TextBox2.Value = TextBox1.Value.Offset(0, 1) End Sub CommandButton2 の TextBox2.Value = TextBox1.Value.Offset(0, 1)なんかは 明らかにおかしいかと思いますが、テキストボックス1に表示した、英単語をどのように返せばいいのでしょうか。 Cells(Int((intmax - intmin + 1) * Rnd + intmin), 1)を再度使うと、新たなランダム値を取得してしまうのですしょうか? かなり初歩的かもしれませんが、紙にプリントしてさっさと単語覚えた方が早いんじゃないかと、焦ってきましたもんで でも何とか完成させたいので、どなたか以下のいずれでもいいのでご教授ください。 ・ランダム値が同じ順序ではなく、常に変化する方法 ・チェックが各英単語ごとに反映させる方法 ・そのチェックがファイルを閉じても保存される方法 ・3回チェック済みの英単語を非表示にする方法(削除ではなく) よろしくお願いします
387 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 21:56:18 ] >>385 ・ Cellsを使う時は、シートを指定したほうが良い ・テキストボックス2に日本語訳を返す為に 英単語を表示する時に使用したセルの行位置を保存しておく →モジュールレベル変数を利用する つー事で下記はいかが? Private mRow As Integer Private Sub CommandButton1_Click() Dim intmax As Integer Dim intmin As Integer intmax = 9 intmin = 1 mRow = Int((intmax - intmin + 1) * Rnd + intmin) TextBox1.Value = Worksheets("sheet1").Cells(mRow, 1).Value End Sub Private Sub CommandButton2_Click() TextBox2.Value = Worksheets("sheet1").Cells(mRow, 2).Value End Sub
388 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 22:07:56 ] 今まで快適に使えていたエクセルファイルが、 突然アホみたいに重くなって起動が容易じゃない。 色々調べたけどさっぱり解らない…。 誰か助けてください。 ・サイズは600KBほど ・隠れてるオブジェクト無し ・使用範囲以外に隠れデータ一切無し (書式設定やリンクなど) ・シート30枚ほど ・モジュールの解放もやってみたが改善せず
389 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 22:13:45 ] 特定ファイルだけ? ハードディスクが死にかけてるとか
390 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 22:18:01 ] ウィルスチェックoffにして開いてみれ
391 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 22:19:53 ] 他のファイルのシートと連動させてるようなのだと ファイルの置き場所変わっただけで リンク先行方不明連発で死亡とかあるから Excelきらい
392 名前:388 mailto:sage [2009/10/19(月) 22:54:19 ] >389 特定ファイルだけです。 会社で作成したデータ集計用のファイルです。 これ1つだけが異常に重くなり、開く時に CPU100%を食う状況になっています。 >390 ウィルスチェックoffにすることは出来ないです。 会社で常にネットワーク接続されてるもので…。
393 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 23:22:01 ] >>388 ここは Excel VBAスレなんでスレ的に考えると VBAの処理が 異常に時間がかかってるのでは? 原因として ・VBAのコードを変更した為に 異常なループが発生した ・元々のVBAのコードにバグがあって あるデータの組み合わせで 異常なループとなった とか? だとすれば とりあえずオープン時実行するイベント処理停めてみたら? イベントプロシージャの先頭に Exit Sub を入れてみる
394 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 23:31:32 ] >>392 ローカルにコピって スタンドアロンのPCでテスト汁 さらにウィルスチェックoffにして開いてみれ
395 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 23:46:05 ] >>392 xlbファイルを削除する。 CドライブをExcel*.xlbで検索してみて。
396 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 23:58:33 ] >>391 そんな使い方しないよ。
397 名前:385 [2009/10/20(火) 00:54:42 ] 387さんありがとうございます。 値を保存するという便利な方法があったんですね。 勉強になります。おかげさまで単語帳っぽくなりました。 残りのチェックボックスにかかわる部分ですが、もう少し努力してみます。 ただ ・チェックを各英単語ごとに反映させる方法 ・3回チェック済みの英単語を非表示にする方法(削除ではなく) これらがどうにもできそうにないです… すんません チェックボックスにチェック入れた単語のどこかの列に、何かしら数字など加え その値を返して、状態を判断することしか思いつかないのですが、 何かもっと良い方法ありますかね?
398 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 01:21:27 ] とりあえず出来る方法を思いついたなら、それでやればいい その方法だとこんな問題がある、とかならそれを質問すればいい もっと良い方法とか漠然と聞かれると速度房がアップ始めるぞ
399 名前:384 mailto:sage [2009/10/20(火) 08:16:29 ] 自己解決 (1) これタイトルみたいなのを付ける事は出来ないんですか? フォームのリストボックスの上方にラベルを配置し、それをタイトルとするように しました。 (2)code=Userform1..ListBox1.Text で選択したコードを拾う事は出来たんですが、 この例で商品名を拾うにはどのようにすれば良いのですか? Dim n As Integer n=UserForm1.Listbox1.ListIndex xxx = ListBox1.List(n,0) yyy = ListBox1.List(n,1) zzz = ListBox1.List(n,2) 以上、スレ汚しでした
400 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 10:28:27 ] あらあらこんなに汚しちゃうなんて……イヤラシイ子ね……フフフ
401 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 12:38:07 ] ここに速度厨なんている? 俺は速度より美しいか汚いかにこだわるが、たまに速度厨と勘違いされる。 汚いのは遅いって大体決まってるけどな。 そこの君、お前だよw
402 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 19:25:43 ] >>385 完成したらサンプル見せてください。お願いします。
403 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 21:14:22 ] VBA勉強中の初心者です。 セルA1〜A10まで100 A11に1 この状態で1がある行番号を手に入れたいんですが 結果は2です。 どうやったら11を入手出来るんでしょうか? Dim rng As Range Set rng = ActiveSheet.Range("A1:A11").Find(1) A = rng.Address B = Rows(A)
404 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 21:21:06 ] >>401 誰を煽ってるんだよw 唐突過ぎてわろたわ
405 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 21:49:07 ] >>403 100 という文字列での 1の部分でヒットしているみたいね とりあえず下記ではどう? Set rng = ActiveSheet.Range("A1:A11").Find(1, LookAt:=xlWhole)
406 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 21:56:20 ] Find関数はいろいろとバグがある。
407 名前:405 mailto:sage [2009/10/20(火) 22:08:06 ] >>406 たしかに今回の場合だと セルの表示形式を数値にすると ヒットしなくなるね
408 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 22:09:02 ] たしかにオートフィルタとかのVBAの使い勝手がいい
409 名前:392 mailto:sage [2009/10/20(火) 22:43:00 ] 解決しました。 tmpファイルを全て削除してみたところ、 かなり軽減されましたがまだ反応が鈍かったため、 思い切って新規エクセルに全て コピーしてみました。 結果、快適に動くようになりました。 おまけにサイズも400kbまで小さくなりました。
410 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 22:57:36 ] >405 有難うございます。 明日になってしまいますけど、試してみます。 上手くいったら、その時に LookAt:=xlWhole の意味を理解したく教えて下さい。
411 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 23:29:44 ] 特定の文字列にヒットする条件ならワークシート関数が強力だが 勉強しはじめなら、セルを一個一個確認してループさせる手法からハイルべき 特にエクセルVBAなら
412 名前:405 mailto:sage [2009/10/20(火) 23:37:10 ] >>410 & 411 >>411 の意見には賛成です 今回の場合は特に >>410 の質問の回答ですが Findは Excel本体の検索とほぼ同じものです マクロの記録をいろいろしてみると分かると思いますが "完全に同一のセルだけを検索する"です それと>>407 へ書いたけど セルの表示形式が数値だと失敗するかもです 一応 標準形式だとうまく検索できたのだけど
413 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 07:11:50 ] Findメソッドは基本的に文字列を検索するもんだ。 まさか数値を検索してバグがあるなんて言ってるんじゃねーだろうな。
414 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 13:53:11 ] ちょっと暇なときにVBA勉強しようと思うんですが、勉強するなら2003と2007どっちがいいですか?
415 名前:325 mailto:sage [2009/10/21(水) 15:09:21 ] >>382 ありがとうございます。勘違いしてました・・・・ しかし、\\サーバIPにしてもだめでした。 Sub COPY_SAMPLE() Dim objShell Dim objFolder Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace("\\サーバ名\フォルダ名1\フォルダ名2") If (Not objFolder Is Nothing) Then objFolder.CopyHere "c:\TEST.txt" Else MsgBox "Nothing" End If Set objFolder = Nothing Set objShell = Nothing End Sub Nothingのメッセージボックスが出ます・・・
416 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 15:37:47 ] >>414 自分が持ってんのがどっちなのかによるでしょ。 今からなら2007の方が良いのかなとは思うけど。
417 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 16:11:22 ] >>416 ありがとうございます。持ってるのが2000と2007だったので2007勉強することにしました
418 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 20:02:12 ] 2000と2007しかもってないのに2003を選択肢にするとは・・・できる
419 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 20:03:45 ] >>415 q.hatena.ne.jp/1108018134 これでやってみな。 ヒントはきちんといかそうぜ。
420 名前:410 mailto:sage [2009/10/21(水) 21:43:51 ] >411-412 上手くいきました。有難うございます。 >413 そのまさかなんですが・・・ なんとか上手くいきました。独学&ヘルプ@2007ではなかなか上達しないですね。今度、本屋行ってきます!
421 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 22:04:58 ] いやバグはあるよ。
422 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 22:09:25 ] 【合法】みんなズッキーニでヘヴン状態しようぜ!! namidame.2ch.net/test/read.cgi/yasai/1223375038/
423 名前:デフォルトの名無しさん [2009/10/21(水) 22:51:50 ] 初心者です。質問させてください。 XP、office2000において、onactionで呼び出すsub hogeにsingleの引数を複数渡したいのですが、どのようにすればよいか教えてください。 .onaction("'hoge, arg1,arg2'") とかだとうまくいきませんでした。
424 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:41:28 ] select case の使い方についてですが 例えば、A4の値及びB4の値によって条件を分岐させたい時に (A4 1または2 B4 同じく 1または2) Select Ccase Cells(4,1) Cells(4,2) case 1 1 case 1 2 … end select みたいな使い方出来ないんですかね?Excel2007では select case cells(4,1) cells(4,2) でエンター押した瞬間に エラーになっちまいましたが。
425 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:52:34 ] 二十判定は出来ない 変数とかに格納したり論理結合したり ただ1か2のどちらかなら、文字列結合すりゃいい
426 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:58:26 ] >>425 了解しました
427 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 09:32:17 ] >>423 .OnAction = ”'hoge””arg1””,””arg2””'”
428 名前:デフォルトの名無しさん [2009/10/22(木) 11:55:51 ] java経験しかないまったくの初心者ですが、質問させてください 列AQの行n1の文字列hoge1を取得して、hoge1を列Cより検索、 発見したらその行n2の列Bの文字列hoge2を列AUのn1のセルに代入 これをAQの行全てで実行したいのです Cにおいてhoge1が重複することはありません どうかよろしくお願いいたします
429 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 12:04:24 ] vlookup
430 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 12:21:27 ] 何行あるかしらんが、列全部にvlookupに限らず参照判定関数入れるのは そーゆーときは配列に流して連想しる
431 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 13:47:33 ] Ver.書くのを忘れてました!ごめんなさい XPでExcel2003です 列Dの行n1の文字列hoge1を取得して、hoge1を列Cより検索、 発見したらその行n2の列Bの文字列hoge2を列Hのn1のセルに代入 これをDの行全てで実行したい、に変更させてください VBAとExcelマクロの知識が0なんです… vlookupという関数を使えばいいのですか? Cは2988行、Dは1284行です sub test() dim name as string for i = 1 to 1284 name = cells(i, 4) if (vlookup(D$i, C1:C2988, 2, false)) = name then copy() pastespecial() endsub こんな方向性で大丈夫ですか?
432 名前:325 mailto:sage [2009/10/22(木) 14:38:41 ] >>419 そのURLはググってる最中に何度か訪れたんですけど、 ちょっと私には扱えそうもなかったんでスルーしてたんですけど、 頑張って調べながらやってみたら2〜3度エラーが出ましたが、 希望通りアップロード出来ました!誠にありがとうございました。 一年分の便秘が治ったようなすがすがしい気分ですw
433 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 15:16:28 ] >>431 no
434 名前:325 mailto:sage [2009/10/22(木) 15:22:42 ] >>419 すいません、これってLZHファイルとかは扱えないんでしょうか? TXTやSLK形式は成功したんですけど、LZH形式はエラーになったんです・・・
435 名前:434(325) mailto:sage [2009/10/22(木) 15:26:16 ] 自己解決しました。 LZH形式もいけました。ファイル名が不味かったようです。
436 名前:434(325) mailto:sage [2009/10/22(木) 15:28:23 ] 連投すみません。 LZH形式、エラーこそ出ませんでしたが、解凍すると文字化けしてまいした。
437 名前:434(325) mailto:sage [2009/10/22(木) 15:46:49 ] 再度自己解決しました。.typeと.charaset外したら正常に解凍出来ました。 スレ汚しすみませんでした。逝ってきます。
438 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 00:08:18 ] >>431 言いたい事は分かるんだけどさ。 列Dだの列Hだの、n1だn2だって、そんなのどうでもいいよ。 それで作りたいんだろうけど、読んでて辛いです。 Aから探してBにコピーとかでいいじゃん。組み合わせるだけでしょ。 for i = 1 to 1284 name = cells(i,4).value set rng = columns(3).find(name) if not rng is nothing then rng.offset(0,1).value = rng.value end if next みたいな考え方でやるよ。俺なら。 今ブラウザで書いたんで、動作保障も無し。
439 名前:434(325) mailto:sage [2009/10/23(金) 09:54:04 ] >>419 さんの方法でアップロード解決したんですが、半角カナ等のファイル名をうpすると、 実行時エラーになります。回避する方法ありますでしょうか? D&Dでうpすると正常に出来るんですが・・・・
440 名前:431 mailto:sage [2009/10/23(金) 11:17:12 ] >>438 わーい!教えていただいたものを道標に調べつつやってみたらできました! 一応完成版を張っておきます Sub macro() Dim code As String Dim rng As Range Dim name As String For i = 2 To 1284 code = Cells(i, 4).Value Set rng = Columns(3).Find(code) If Not rng Is Nothing Then name = rng.Offset(0, -1).Value Cells(i, 9).Value = name End If Next End Sub ありがとうございました!
441 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 12:20:06 ] >>439 エンコードでぐぐりな。
442 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 12:29:34 ] >>440 そんなんで完成? Findメソッドの引数が1個だけって大丈夫カヨ WhatとLookInとLookAtの最低三つは必要じゃないの?
443 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 13:52:52 ] >>442 一応ちゃんと動作しましたよ! 今回一回だけ動けばいいマクロなので、結果に間違いがなければOKです!
444 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 14:17:40 ] >>443 そりゃたまたまでんがな。 何もいじくってない状態じゃ部分一致だが、それでいいの?
445 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 14:28:40 ] 本人がOKってんだからいいんじゃね?
446 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 14:38:09 ] >>444 う、もしかして上手くいったと勘違いしてるだけなんですかね… codeはxx01みたいな形で、nameは文字列(重複部分多々あり)なんですが ちゃんと調べてみます!
447 名前:お願いします>< [2009/10/24(土) 01:26:35 ] VBA初心者です。 学校の宿題で 「y=sinXとY=Xの2本の直線で囲まれた面積をVBA関数を用いて求めなさい。」 という問題がでました>< ですが、今日初めてVBAという言葉を聞いたぐらいですので、まったく分かりません( ;∀;) どなたか記入するコードを教えて頂けないでしょうか?
448 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 01:45:00 ] 学校の宿題は自分でやらなきゃダメ>< 何の前提もなしにそんな宿題が出るはずないから、わからないのは貴方がサボっていたってことでしょ
449 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 02:20:06 ] 宿題スレ池
450 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 02:45:13 ] >>447 これは酷いwww これが社会に出て行くと思うと末恐ろしいな
451 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 10:22:29 ] sinXって直線なのかね
452 名前:デフォルトの名無しさん [2009/10/24(土) 10:57:44 ] >>424 遅レスですが、こんなアイディアも。 Select Case Cells(4,1) & Cells(4,2) case "11" case "12"
453 名前:452 mailto:sage [2009/10/24(土) 10:59:38 ] >>425 見てなかった… すまん
454 名前:デフォルトの名無しさん [2009/10/24(土) 11:43:07 ] セル参照の計算式 =G5*K3+M1 セル参照+数字の計算式 =F6*G6*3.14 数字のみの計算式 =15*21*45 この数式を区別して色分けする事は可能ですか? せめて上2つと下1つだけでも区別できればいいんですが
455 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 11:47:42 ] >>451 正弦波だから、Y=1 から Y--1 までを往復する曲線かな。 Y=Xの直線とは1点交差するけど、2点とは交差しなんじゃないか? よくわかんないけどw
456 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 12:13:36 ] だいたい2本の直線で囲まれる面積ってなによ 問題の意味すらわかんないならVBA以前の問題
457 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 12:25:46 ] 非ユークリッド幾何だと日常的