1 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 12:34:58 ] 過去スレ 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/ 13 pc12.2ch.net/test/read.cgi/tech/1254281104/
762 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:23:59 ] 最初のレスでG+e+n+e+ralで表示された結果って書いとけば良かったんだよ。 マニュアル読めとか出し惜しみすんなよ。
763 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:37:59 ] なんか再燃してるねぇ。 2chはこうじゃなくっちゃw >>752 暴言がどれをさすか知らんけど、クソ生意気と書いたのは俺で質問者じゃねーから。 >>762 出し惜しみする頭なんてあるわけないと思うw Formatの使い方よく知らないからヘルプヘルプとわめいてたんじゃね?
764 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 22:41:43 ] ヤレヤレ ┐(´ー`)┌ マイッタネ
765 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2010/03/20(土) 23:49:45 ] >>750 どうもです MSも相変わらずですか。
766 名前:デフォルトの名無しさん [2010/03/21(日) 10:49:19 ] >>744 でもダメですた。 競艇の自動投票を作っているんですけど競艇のサイトが特殊なのかな・・・ ラジオボタンのチェックが入りません。
767 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 10:58:32 ] >>750 何がどう間違っているのか書けよ屑
768 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 11:30:42 ] >>766 投票ページにアクセスするには会員登録が必要だろうから、 そのページのソースをどっかにアップしてくんない?
769 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:06:08 ] >>750 お前の存在が間違いじゃないの? そもそも荒れた原因はお前が最初にFormatのやつうざいと言ったからだろ? Valueから暴れてるよな? もういいから消えろ。 素人の好奇心云々や文系高卒やらさんざん暴言吐いてたのはお前だと思うが 素人はお前だ。 玄人と思ってるかも知らんけど、それは勘違いというものだ。 わかった?トウシロのぼくちゃんw
770 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:07:29 ] テンプレに、「まずOption Explicitをつけろ」も追加が必要だな
771 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:09:54 ] おーすまん>>750 上はもちろんトウシローの>>767 あてね
772 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:11:17 ] >>750 > 別にFormatの第二引数の記述が間違ってるわけではないでしょう。 これってへりくつって言うんですよ。 それに既に>>678 で説明済みのものを、自分の言葉で長々とかかずにはいられない ほど自己顕示欲をもてあましてるんでしょうか。
773 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:13:46 ] >>769 そんなに基本的な論理学もわかってなかったことを指摘されたのか痛かったのかな。 知らないことを教えてもらったという意味で、感謝されてもいいくらいだ。
774 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:13:54 ] 「間違いを訂正するときには、 名前欄に自分のレス番号を記入すること」も追加かな。
775 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:20:31 ] はっきり言って、>>2 にもあるように、Excelのバージョンくらい書くのがこのスレの礼儀だし、 まずヘルプを確認するのが常識なんだけど、それを指摘してる奴が痛すぎて、相対的に バージョンも書かない、ヘルプも読まない奴の方が正義っぽくなってる。
776 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:22:47 ] そいつの相手してる奴がこれまた痛いw
777 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:23:19 ] >>767 "M32032ral"って何かって質問だから>>762 を読めば? 何で出し惜しみしたの?
778 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:28:44 ] いろんな厨がいるが、ヘルプ厨ってのもいるんだなw
779 名前:744 mailto:sage [2010/03/21(日) 12:39:04 ] >>766 これ以上は自分の手に負えそうに無い感じだけど 最後に1点だけ If objITEM.Name = "kumiban1" And objITEM.Value = strRADIO(nNO) Then Debug.Print "ここに北" objITEM.Checked = True End If とかやってみ イミディエイトウインドに何も表示されないなら 対象タグを見つけられてない フレーム分割されているとかそんな感じじゃないのかな
780 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:42:42 ] >>777 俺は頭悪いからそんなこと分らないんだよ とにかくヘルプだヘルプ! VB.NETのヘルプじゃなくてVBAのヘルプな
781 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 12:49:17 ] わからなかったら素直にそういえばいいのに。 自分の無知を認めることも大事だ。
782 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:20:02 ] printf("%d", some_pointer)で変なマイナスの値が表示されることに 一生懸命説明する奴大杉。
783 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:32:05 ] 自作自演もほどほどにしようぜ
784 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:33:34 ] 必死だなw しかしまぁ流れを読んで見ると>>678 に対する>>679 が一番アホだな。 こういう馬鹿ヘルプ厨がいるからおかしくなるんだよ。
785 名前:679 mailto:sage [2010/03/21(日) 13:38:32 ] 今顔真っ赤です。 こうですか?わかりません(><)
786 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 13:47:38 ] >>785 お前は暴れてるやつの一人だと思ったが、ただ無知だっただけの善意の第三者か?
787 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 14:02:22 ] レスが集中してるから暴れてるのは一人か二人だと思う。 暴言吐いてる人が構ってチャンじゃないかな。
788 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 14:46:51 ] OAuthをExcelVBAで書きたいんだけれど サンプルどこかに転がってるでしょうか?
789 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 15:52:47 ] withevents を使用するために参照設定があれば教えてください また、使用方法の勉強に適したURLあればお願いします。
790 名前:766 [2010/03/21(日) 16:34:22 ] >>768 ソースアップしました。 firestorage.jp/download/90a5112c83637a3be41a86ca9723b61c6c7229b1
791 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 17:15:55 ] WithEventに参照設定要ったっけ?入れなくてもThisWorkBookモジュールに入れたら動いたけど あと、その競艇投票ソースとExcelとの関係は?
792 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 17:17:38 ] あ、それから説明サイトは、、、、 mougの即行テクニックで witheventsで検索すればちょろちょろと解説がある
793 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 01:55:13 ] VBAで練習用にマインスイーパ作った 他なんか勉強になって作って楽しいもんないかね
794 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 02:17:08 ] >>793 ゲーム作って勉強したいならこんなんあるみたいよ。 www.amazon.co.jp/gp/product/4844326864/
795 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 03:01:05 ] >>794 なんだかオモチャ臭がぷんぷんするけど どうなんだろうね
796 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 03:08:47 ] >>795 どうなんだろねー? 動画見たら、こんなんVBAで出来るの!?って興味持ったけど 値段高いからねぇ。 図書館で検索したけどなかったわw
797 名前:デフォルトの名無しさん [2010/03/22(月) 08:28:03 ] VBA、というよりはWin32APIを使いまくってるけどね ttp://gyouzausa.hp.infoseek.co.jp/mode1/GAME/index.html
798 名前:デフォルトの名無しさん [2010/03/22(月) 08:45:10 ] 初歩的な質問ですけど、教えてください '対象行をdataシートへコピーする Sub ColumCopy(ByVal cnt As Integer) Dim k As Integer Worksheets("data").Activate k = 0 Do k = k + 1 Loop Until Cells(k, 1) = "" Worksheets("Page1").Range(Cells(cnt, 1), Cells(cnt, 8)).Copy _ Destination:=Worksheets("data").Range(Cells(k, 1), Cells(k, 8)) Worksheets("Page1").Activate End Sub というのを作ったんです(cntには51という値が、kには1という値が入っています)が、 実行時エラー アプリケーション定義またはオブジェクト定義のエラーです でWorksheets("Page1").〜の部分で終了してしまってます どの様に直せばよろしいのでせうか?
799 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 09:38:03 ] すまん、俺のせいですげー荒れたみたいだな。 > 結局Formatじゃ駄目でWorksheetFunction.Textってことか。 > 俺の間違いだったわ。 ヘルプ見れば(もちろん679をレスした時点で俺はヘルプを見てる)、自分のやりたいことを Formatで実現するには"General Number"を指定しないといけないということに気づくんじゃ ないかと思ってヘルプ見ろって言ったんだよね。 次からは、ヘルプ見ろってつい言いたくなっても自重するよ。
800 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 09:42:47 ] もう一個言い訳しとくと、>>672 で > 知ってるのか知らないのかわからないが とつけたのは、1にならない理由がわからないのか、わざと定義されてない引数を指定したら 変な文字列になったけど、その変な文字列に変換されるロジックをしりたいのかわからなかった から。 多分前者だろうと判断して、こう書いた。 > Formatの第二引数の指定方法が間違ってる。
801 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 09:50:36 ] あと、>>675 でちょっとカチンときてしまった。ヘルプも見ない奴に言われたくないって。 愚痴ばかりですまん。しばらくこのスレの書き込み自重する。
802 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 11:52:04 ] >>798 CellsにもSheetを指定しなきゃダメ Worksheets("Page1").Range(Worksheets("Page1").Cells(cnt, 1), Worksheets("Page1").Cells(cnt, 8)).Copy _ Destination:=Worksheets("data").Range(Worksheets("data").Cells(k, 1), Worksheets("data").Cells(k, 8)) With Worksheets("Page1") .Range(.Cells(cnt, 1), .Cells(cnt, 8)).Copy _ Destination:=Worksheets("data").Range(Worksheets("data").Cells(k, 1), Worksheets("data").Cells(k, 8)) End With Dim Ws1 As Worksheet, Ws2 As Worksheet Set Ws1 = Worksheets("Page1") Set Ws2 = Worksheets("date") Ws1.Range(Ws1.Cells(cnt, 1), Ws1.Cells(cnt, 8)).Copy _ Destination:=Ws2.Range(Ws2.Cells(k, 1), Ws2.Cells(k, 8)) 好きな書き方でどうぞ
803 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:51:29 ] >ヘルプ見ろって言ったんだよね。 皆ヘルプ見て分からなかったから質問スレに書き込むんじゃないかな。 キーワードがヒットしなかったか、重要な情報を見落としたかはともかく。
804 名前:798 mailto:sage [2010/03/22(月) 14:10:23 ] >>802 Cellにも指定しないといけなかったんですか。 気が付きませんでした。 ありがとうです
805 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:23:03 ] Cell表記でいつも思うんだが Worksheets("data").Range(Worksheets("data").Cells(k, 1), Worksheets("data").Cells(k, 8)) より Worksheets("data").Cells(k, 1).Resize(1, 8) のほうがコード読み書きしやすくない?
806 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:32:39 ] ついでに言えばコピー先は左上だけ指定すればいい Destination:=Worksheets("data").Cells(k, 1).Resize(1, 8) ↓ Destination:=Worksheets("data").Cells(k, 1)
807 名前:デフォルトの名無しさん [2010/03/22(月) 17:47:27 ] workSheets(\\\"data\\\").select したほうが短くならない?
808 名前:デフォルトの名無しさん [2010/03/22(月) 18:22:09 ] VBAを学ぼうと本を買ってきたのですが、いざ読んでみたものの、 この次何をしたらいいかよくわかりません。 何をしたらいい?
809 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 18:36:00 ] PCを窓から捨てる
810 名前:デフォルトの名無しさん [2010/03/22(月) 18:42:57 ] >>809 (´・д・`)窓からPC捨てたら、VBAが学べるの?
811 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:21:37 ] >>805-806 同感 しかしクソIME(Microsoft Office IME 2007)は上の「どうかん」が変換できないよ。 他にも辞書登録しないと駄目なのがいっぱいあるが中国人に作らせたんじゃないだろうな。
812 名前:デフォルトの名無しさん [2010/03/22(月) 20:42:03 ] 2chとかに書き込む時はgoogleのが便利なのに(´・ω・`) 最近はちょっと軽くなったし
813 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:42:20 ] 中国人だよ。
814 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:32:01 ] テスト同感 >>812 Googleの日本語入力があるなんて知らなかったよ。 今ダウンロードして使ってる。 いいこと聞いたよ。 >>813 アチャー、中国神社無理もないな。 うーん、Googleも完璧じゃないな。
815 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:55:19 ] >>808 手段と目的が逆転した時は、まず目的を探せ
816 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 00:36:44 ] 「入門書はクリアしたので次のステップは何がよいでしょうか」 という問いかけかもしれん
817 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 02:13:17 ] >>816 じゃあやっぱり目的を探せであってるんじゃないか?
818 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 07:08:47 ] じゃあ次は中級の本を読めばいいんじゃね?
819 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 13:54:18 ] Cells(3,5*i-2)からCells(k,5*i+1)まで というように行位置と列位置で指定した範囲をコピペしたい場合 何かいい方法ありますか? 行位置と列位置からセル番地を求めて Range("○○:××")って形で指定くらいしか思いつかないんですが
820 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 13:57:09 ] >>819 CellsはRangeの範囲指定にそのまま使える。 Range(Cells(3, 5 * i - 2), Cells(k, 5 * i + 1)) と書けばいい
821 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 14:15:50 ] >>820 ありがとうございます!
822 名前:デフォルトの名無しさん [2010/03/24(水) 03:18:22 ] 教えてください。 office 2000、Win XP SP3です。 このようなことはできるでしょうか? ・マウスでセルをクリックすると、そのセルに、色が付くとか、あるいは●の文字が出る。 ・もう一度そのセルを押すと、色が無くなる(白になる)とか、あるいは文字が消える。 セルを、まるでチェックボックスに見立てたような動作です。 通常のチェックボックスをシート上に置けばよいのでしょうが、 行単位で、それぞれにチェックを付けたいのです。 そうすれば、行の挿入や削除したとき、チェックボックスも一緒に増減するからです。 このようなことがVBAでできるでしょうか? 宜しくお願いします。
823 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 04:05:05 ] >>822 無理。 Worksheet_SelectionChange、Worksheet_BeforeRightClick、Worksheet_BeforeDoubleClickなどで 代用する手はあるけど希望通りの動作にならなかったり副作用が出たりする。
824 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 04:13:30 ] セルのクリックってWin32APIでできそうなんだけどなあ。 需要もあると思うんだけど、検索しても見つけられないんだよな。
825 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 08:07:38 ] 2003 XPです Sub デイデータ制御() Worksheets("水産").Cells(5, 2).Select End Sub これを同じブック・違うシート上でやると実行時エラー1004が出ます。 あと、activate とselect って何が違うんですか?
826 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 09:37:56 ] >>825 activeは範囲選択したときのtabの動作 selectは左クリックで操作したときの動作 selectの方が早くて不具合も少なかったと思う 後マクロはシート1に Sub Macro1() Call デイデータ制御 End Sub 標準モジュールに Sub デイデータ制御() Worksheets("水産").Select Range("a1").Select End Sub と記述する。別シートを洗濯できないのはスコープの問題。 とりあえず簡単に、別シートのマクロは記述できないと覚えて置けば良い それでもWorksheets("水産").Cells(5, 2).Selectと一度に記述ができないのは何でだったかな 忘れた。
827 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 14:34:19 ] >>826 回答ありがとうございます。 一度に記載出来ないのは仕様だったのね・・・
828 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 16:56:07 ] 自動整形をやめる方法ってありますか? *はスペース hoge*=*1 hogehoge*=*1 でなくて hoge*****=*1 hogehoge*=*1 って揃えたいんですが
829 名前:デフォルトの名無しさん [2010/03/24(水) 18:17:14 ] FUNCTIONで関数を作っったら、ユーザー関数として使えるのでしょうか? 本では使えるようなことが書いてあるのですが、 関数の挿入のWINDOWでユーザー関数の項目が出てこないので選べません。 エクセルは2003で、超超・・(略)・・超初心者です。
830 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 21:55:11 ] とりあえず、>>1-7 見ような
831 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 00:48:52 ] >>828 無理
832 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 00:50:37 ] 特定の文字列が含まれているシートの特定のセルを参照して、それをフォームに一覧表示したいです。 すべてのシートから参照する方法は分かったのですが、特定の文字列を含むシートのみを抽出する方法が 分かりません。 なにとぞお願いします
833 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 00:51:13 ] >>829 使える 出てこないのはたぶんFunctionを書く場所が間違ってる
834 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 00:52:09 ] >>832 Find
835 名前:832 mailto:sage [2010/03/25(木) 01:31:19 ] すいません、具体性が足りませんでした。申し訳ないです。 例えば、○○○、□□□、○○○1、○○○2というシートがある時、 ○○○が含まれる3つのシートのC1の値を参照し、一覧にしてフォームに表示させたいのです。 私としては、foreachを使っていけば良いんじゃないかと思って考えてはいるのですが、具体的な形に ならないものではまって動けないという感じです。 知恵をお貸し下さい。お願いします。
836 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 01:51:53 ] ttp://officetanaka.net/excel/vba/function/InStr.htm
837 名前:832 mailto:sage [2010/03/25(木) 02:06:29 ] ヒントありがとうございます。また頑張ってみます。
838 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 16:41:54 ] ボタンをクリックして表示させるフォームに引数って渡せないでしょうか。 クリックしたボタンによって違う処理をしたいんですが、引数を渡せないと大量の同じようなフォームをできてしまうのでそれを避けたいのですが…
839 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 18:07:16 ] 継承が使えればformを継承し新しいクラスを作る もしくはshow関数をオーバーロード もしくはグローバル関数を使う もしくはテキトーなtextboxに値でもいれておき、それを参照するようにする 下に行くほど簡単。どれでも好きなものを
840 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 18:16:40 ] excel2007で質問させてください。 各シートから条件に一致したデータを抽出して印刷しようとしています。 印刷ひな形となるシートのコピーを作成して そのコピーしたシートにデータを書き込んで印刷→シート削除という流れなのですが worksheets(hoge).copyを使用すると Application.ScreenUpdating = falseにしていても 画面遷移が起こってしまいます。 画面遷移なしで処理したいのですが何か他に方法はありますか? ひな形シートの全セル選択で貼り付けると印刷設定が移動できませんし 印刷設定のプロパティも全部コピーしていくしか無いのでしょうか
841 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 02:13:27 ] ちょっとVBAに慣れると調子に乗って ExcelベースのGUIで便利なアプリにしてやろうなんて 夢想しがちだが、肝心な機能の呼び出しが非公開だったり することが多くて失敗しやすいね
842 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 05:24:58 ] >>840 印刷設定のコピー方法はプリンターの機種ごとに違ってて、そう簡単にはコピーできなかったと思う
843 名前:デフォルトの名無しさん [2010/03/26(金) 09:41:04 ] ←→ ┌─────┐┌─────┐ └─────┘└─────┘ 上のような感じで複数のセルの中から値の入力されてるセルの上端に双方向矢印を入力させるというマクロを作りたいのですが 可能でしょうか?双方向矢印を引くだけならマクロの記録を使ってできるのですが値のあるセルだけにという条件をくわえるにはどうしたらいいでしょうか? どなたか教えてください。
844 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:18:35 ] >>843 こんな漢字? Sub a() Set d = UsedRange For Each s In d If s.Value <> "" Then s.Offset(-1, 0).Value = "←→" End If Next End Sub
845 名前:デフォルトの名無しさん [2010/03/26(金) 13:58:50 ] >>844 うまく説明できてなくてすみません。。 例えばA1からD9までの範囲があったとしてそこの中のセルに値があるものだけを検索して 図形の双方向矢印をセルの上端の線に合わせて入れたいんですが可能でしょうか?
846 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 17:26:23 ] >>839 グローバル関数でいけました。ありがとうございました
847 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 21:14:29 ] >>843 やりたいのはこんな感じ カナ?カナ? Dim Sh As Worksheet Dim r As Range Dim X1 As Integer Dim X2 As Integer Dim Y1 As Integer Dim Y2 As Integer Set Sh = ActiveSheet For Each r In Sh.Range("A1:D9") If r.Value <> "" Then With r X1 = .Left Y1 = .Top X2 = X1 + .Width Y2 = Y1 End With With Sh.Shapes.AddLine(X1, Y1, X2, Y2).Line .BeginArrowheadStyle = msoArrowheadTriangle .EndArrowheadStyle = msoArrowheadTriangle End With End If Next
848 名前:デフォルトの名無しさん [2010/03/26(金) 22:49:43 ] >>847 ありがとうございます!!まさにそのとおりです。 ちなみに矢印を上端の中心に持ってきて左右の長さを縮めたいのですが・・・ ←→ .←────→ ┌─────┐┌─────┐ └─────┘└─────┘ 今のままでは右のようになるので左の図のようにしたいと考えてまして そういった方法の指定も可能ですか?
849 名前:847 mailto:sage [2010/03/26(金) 23:18:03 ] >>848 可能 Rangeオブジェクトのプロパティ Left Top Width Height 後はヘルプを見るなりして がんばってみてね
850 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 23:27:15 ] 色んなことをやりたい人がいるんだな
851 名前:デフォルトの名無しさん [2010/03/26(金) 23:35:17 ] このスレはVBAとPerl14 のスレなのになぜPerlネタが一切でてこないんだ?
852 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 23:49:26 ] 次の質問どうぞ
853 名前:847 mailto:sage [2010/03/27(土) 19:33:47 ] >>843 もう見てないかもしれないけれど >>847 のコードは 型宣言を 勘違いしてたみたい 変数 X1 X2 Y1 Y2 は Single型もしくはLong型で宣言するべきだった Integer型だと少数点以下がカットされるので線が少しずれてる さっきヘルプを見ていて気づいた ゴメンね
854 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 03:21:33 ] シェイプ関連の位置指定は、ポイント単位だからなあ。 て、Longも駄目だろw
855 名前:847 mailto:sage [2010/03/28(日) 10:55:03 ] >>854 がーーーん またまたすみません たっ たしかにそうでした 回答者に向いてないかも俺 さすがに落ち込みました
856 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 11:02:37 ] ドンマイ。よくあることだw
857 名前:デフォルトの名無しさん [2010/03/28(日) 21:05:10 ] 質問です。 CSVファイルをエクセルブック内のワークシートに貼り付けするとき、 Workbooks.Open Filename:=csvfile Workbooks(csvfile).Worksheets.Copy after:=Workbooks(mybook).Worksheets("ファイル一覧") Workbooks(csvfile).Close こんな感じで簡単に貼り付けています。 csvファイルが5MBとかサイズが大きくても上のようなやり方で問題ないでしょうか。 csvファイルの先頭から1レコードずつ取得して貼り付けるという方法もネットから探し出せたんですが どっちがいいのか判断しにくいです。
858 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 21:07:57 ] ExcelVBA開発がメインの人っているの? 趣味とか、基本的にはVBとか、やけにできる事務員とか、そんな感じですか?
859 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 21:21:12 ] 自称やけにできる事務員ですw
860 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 21:35:38 ] 英単語が並べられている列があり、隣の列に意味を書き出す、というのを作っています。 使用する英語の辞書のURLはwww.alc.co.jp/ です。 「apple」という単語を検索するとURLは eow.alc.co.jp/apple/UTF-8/?ref=sa となります。 ここで、英単語を検索した結果表示されたページから該当箇所を抜き出すというやり方が分かりません。 上記の「apple」の場合、「・apple」から「分節ap・ple」まで抜き出したいのです。 やり方がわかる方教えてください。
861 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 22:09:20 ] >>860 * データの転載は禁じられています。 class="midashi"
862 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 22:25:22 ] >>857 5MBのCSVなんて動作遅くならないか? 速さをなんとかしたいならsqlでやる。
863 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 00:28:17 ] >>860 VBA上から Webページのデータを取得するのは そのWebページのソースを見て理解できないと無理 (そしてそれをどうVBA上からコントロールするかも) ソースをみたけど <DIV class=mr_10 id=resultList ondblclick=seow()> ってのがあるから id=resultList ←これを利用すれば 「・apple」から「《コ》アップル・メニュー」 までは抜き出せるね あとはタグを辿っていくしかないかな
864 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 13:57:45 ] >>858 やけにできる事務員だった データの正規化やコピーする際に絶対にミスしないのが魅力的 速度自体は大して変わらん
865 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 10:59:35 ] 1ブック内に複数あるシート全てを選択した状態で、且つ一シート目にのみ開始ページ番号が振られている状態で 印刷したときに割り振られるページ数を、印刷せずにマクロで調べたいのですがどのような方法があるでしょうか? このシートのこのセルは何ページ目に該当する、ということを調べて行きたいです。 プレビューで見ていけば可能ですがページ数が膨大なのでマクロで処理したいと思っています。
866 名前:865 mailto:sage [2010/03/30(火) 11:02:54 ] すいません、バージョンは2000です。
867 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 13:47:33 ] >>865 『このシートのこのセル』はそもそもどうやって特定するの? 1シートで印刷するのは複数頁あるってこと?
868 名前:865 mailto:sage [2010/03/30(火) 16:43:41 ] >『このシートのこのセル』はそもそもどうやって特定するの? 全シート走査で特定単語を置換していくので、 その置換処理が行われたときのセルを元に出力時のページをその都度 調べてワークファイルに書き出したいと思っています。 (置換処理、書き出す処理はできてます) >1シートで印刷するのは複数頁あるってこと? そうです。 1シートに1頁の場合と複数頁ある場合とがあります。
869 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 20:18:53 ] 特定単語を置換する前に 検索→セル番地取得→セル番地から頁数割り出し という作業をかませばいいんでないの?
870 名前:865 mailto:sage [2010/03/30(火) 21:13:16 ] >>869 「セル番地から頁数割り出し」の部分がわからないんです…
871 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 21:41:45 ] 一度、印刷プレビューで1頁で何セル印字するのか調べてみたら
872 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:13:52 ] 使った事ないけど VPageBreak オブジェクト HPageBreak オブジェクト なんかどう?
873 名前:872 mailto:sage [2010/03/30(火) 23:30:03 ] ちょっとテストしてみたけど 頁数割り出しの参考にならないかな Sub test() Debug.Print "改ページ数:"; ActiveSheet.HPageBreaks.Count For Each a In ActiveSheet.HPageBreaks Debug.Print "改ページ 行位置:"; a.Location.Row Next End Sub
874 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 07:24:45 ] Application.OnTimeでサブルーチンを時間起動したいのですが、 セルをダブルクリックして値入力状態であったり、モーダルで バルーンを表示させていたりすると、Application.OnTimeに制御 が移らず、サブルーチンを起動できません。 これを回避する知恵をお持ちの方、ご教示願います。
875 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 16:52:52 ] 回避するって >セルをダブルクリックして値入力状態であったり、モーダルで >バルーンを表示させていたりすると、 はどうするねん 別にexcel.applicationを起こしてそっちでontimeさせればええやん
876 名前:デフォルトの名無しさん [2010/04/04(日) 19:32:11 ] XPsp2,EXCEL2003です。 ピボットテーブルをVBAで作成しているのですが、 データによって(件数?)、集計の仕方が、 「個数/金額」になったり、「合計/金額」になったりします。 常に「合計/金額」になるようにするには、どうすれば良いのでしょうか? コードは次の通りです。 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "ZZZWORK!R5C" & c_yymm_p & ":R" & lastrow & "C" & c_io_p).CreatePivotTable TableDestination:="", TableName:= _ "ピボットテーブル4", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select ActiveSheet.PivotTables("ピボットテーブル4").ColumnGrand = False ActiveSheet.PivotTables("ピボットテーブル4").AddFields RowFields:=Array("分類", "科目") _ , ColumnFields:="年月" ActiveSheet.PivotTables("ピボットテーブル4").PivotFields("金額").Orientation = _ xlDataField Application.CommandBars("PivotTable").Visible = False ActiveWorkbook.ShowPivotTableFieldList = False よろしくお願いします。
877 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 02:29:05 ] >>876 ActiveSheet.PivotTables("ピボットテーブル4").PivotFields("金額").Function = xlSum
878 名前:876 [2010/04/05(月) 08:04:46 ] >>877 レスありがとうございます。 そのコードを追加したら、 実行時エラー'1004': PivotFieldクラスのFunctionプロパティを設定できません。 になりました。どうすれば良いのでしょうか? 追加した位置は、下記のステートメントの次です。 ActiveSheet.PivotTables("ピボットテーブル4").PivotFields("金額").Orientation = _ xlDataField よろしくお願いします。
879 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 12:28:18 ] >>878 フィールド名の「金額」の部分を自分の作ったテーブルに合わせて書き換える テーブルの一番左上の灰色のセルの値を見る
880 名前:878=876 [2010/04/05(月) 17:07:07 ] >>879 レスありがとうございます。 常に合計になるようにできましたm(_ _)m
881 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 18:37:42 ] サブメニューを複数個作りましたが、 どのサブメニューを選択しても、同じSubプロシージャを呼び出したいです。 Subプロシージャ側で、どのサブメニューが選択されたかを知るにはどうすればいいでしょうか? パラメーターとか使えますか? 参考になるサイトがありましたら紹介していただけませんか。