1 名前:既定のプロパティさん mailto:sage [2012/01/29(日) 00:05:13.16 ] 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/ 14 pc12.2ch.net/test/read.cgi/tech/1262748898/ 15 pc12.2ch.net/test/read.cgi/tech/1271261239/ 16 hibari.2ch.net/test/read.cgi/tech/1280045912/ 17 hibari.2ch.net/test/read.cgi/tech/1289182437/ 18 hibari.2ch.net/test/read.cgi/tech/1298240666/ 19 hibari.2ch.net/test/read.cgi/tech/1305754555/ 20 hibari.2ch.net/test/read.cgi/tech/1312435844/ 21 hibari.2ch.net/test/read.cgi/tech/1316931607/ 前スレ: Excel VBA 質問スレ Part22 toro.2ch.net/test/read.cgi/tech/1322400978/
818 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:20:45.41 ] >>775 これで指定したレンジ範囲の数値を、小さい順に並べた場合の各々の差が、x以上であるとかx以下であるといった判定をするにはどう書けばよいですか!
819 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 20:30:24.96 ] >>818 IsNumeric関数とIfステートメントを使う 詳細はヘルプを読めばわかる
820 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:05:47.67 ] isnumericじゃできなくね?
821 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:08:14.94 ] 数値かどうかの判定に必要だと思ったんだけど、不必要だと思ったなら使わなくても何ら問題ない 強制力なんかないからね
822 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:55:40.15 ] if a1>a2+x>a3+x thenが上手く動かないのだが、なぜか?
823 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:59:30.43 ] >>822 if a1>a2+x and a2+x>a3+x then
824 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:02:42.68 ] これがa3までじゃなくa100まである場合、どうすればいい?
825 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:04:33.81 ] 誤り if a1>a2+x>a3+x then 訂正 if a1>a2+x>a3+2x then
826 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:07:17.88 ] そうか全組み合わせの差の絶対値の最小値がx以上ならいいわけか しかしx以下の場合を求めたいときはどうすればいい?
827 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:08:16.93 ] 何だVBA力のおっさんか
828 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:13:47.11 ] >>824 VBAを使うしかないだろうな
829 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:23:17.89 ] >>824 アンダースコアを使えばステートメントを複数行に分けて記述することができる 例えばこんな感じ If 条件式1 And _ 条件式2 And _ 条件式3 And _ 条件式4 And _ 既にスレチなので>>2 をよく読んでくれ
830 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 02:53:38.96 ] 例えば処理したい「実行1」というプロシージャがありあまして。 call 実行1 で普通に処理されるのですが。 Dim moji As string moji = "実行1" call moji は当然ですが実行されません。ですが、何かプロシージャそのものを変数化させて 状況に応じて呼び出せるようにする方法があるでしょうか? ユーザーフォームのリストボックスに何十種類ものプロシージャがあるのですが、それらを 効率的に場合わけして処理するのに、それが出来ると便利なのですが。 方法はないのでしょうか?
831 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 03:35:34.73 ] >>830 Application.Run ThisWorkbook.Name & "!" & moji 普通は Call ほにゃらら(moji) ってやって、ほにゃららの中でmojiによって分岐するようなプログラムを書くもんだけど
832 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 03:37:32.62 ] ifとかselectでそれらを場分けしてcallする処理を1個用意すりゃ良いじゃん つか普通そうする プログラミングの手法とかそういう話だから後はそういうスレで聞いてくれ
833 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 03:38:56.85 ] あ、リロードしないのが自分の悪いクセだな…
834 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 06:28:18.30 ] >>831 ありがとうございます。 >>832 実はそのように、select で、分岐していたんですが、数が多くなりすぎて。 ただ、selectの分岐がいくら多くなっても、速度とかに影響するという わけでもないので、良いといえば、良いのですが、スマートにできないかと 気になってしまいまして。
835 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 12:59:29.22 ] for i=1 to n if a(i-1) - a(i) <= x then y= false next I
836 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 15:22:52.17 ] a列とb列の相関を調べたい
837 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 15:31:17.78 ] VBA使う必要ないけど
838 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 17:04:00.73 ] 複数のCSVファイルをひとつのXLSファイルへまとめるにはどのようにしたら効率がよいですか? 20120201.csv 20120202.csv ・・・ 20120228.csv というファイルを201202.xlsファイルにまとめたいと考えています。 (シート名を01,02,・・・,28にして、1bookに28シートが出来上がるイメージ)
839 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 18:13:25.03 ] >>838 ご自身のコーディング速度と手作業での速度を比較してみればどちらが効率がよいか一目瞭然です 1回限りの作業であれば手作業でやるのが一番効率がよいでしょう ExcelVBAに関係がない話題なのでこのへんで終了
840 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 19:06:52.20 ] 配布物にExcelを利用したいのですが 配布物の中の別のファイルの情報を取得する場合 ttp://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_140.html で相対パスだと危険があるとあったのですが ThisWorkbook.Path & "\..\date\ファイル名" のようなやり方だと階層をまたいでも中をいじられない限り どんな環境の人が使っても問題ないと思っていいのでしょうか それと、相対パスで一つ上の階層に行くやり方で Dim mPath As String mPath = ThisWorkbook.Path i = Len(mPath) - Len(Replace(mPath, "\", "")) If i > 1 Then mPath = Mid(mPath, 1, InStrRev(mPath, "\") - 1) End If というやり方が紹介されていたのですが これは..に対して上に階層があるのか調べる機能が付いただけ という認識でいいのでしょうか
841 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 19:18:37.85 ] >>840 お前の認識間違えてるぞ アホ ちゃんと読め
842 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 19:18:46.91 ] >>840 すべてにおいて見当違い 手始めに「相対パス」がなんなのか理解してきた方がいい
843 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 20:40:54.08 ] >>839 一回限りの作業ではなく、毎月発生する作業です。 現在は 新しいブックに開く→シートの移動 を繰り返すコードにしてるのですが、 見るからに効率が悪くなっています。
844 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 20:51:07.07 ] >>842 相対パスって基準から見た位置ですよね URLのは基準を指定しないとカレントフォルダからになるから危なくて ThisWorkbook.Pathで基準をブックのある位置を指定すれば問題ないのかなと思ったんですが
845 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 20:57:55.20 ] >>843 検索すれば、参考になるコードいくらでも出てくるだろ。 Dir 関数使えばいいんじゃない。
846 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 21:37:10.43 ] >>843 見るからに効率が悪いことに気づいてるんだったら改善すればいい
847 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 21:37:33.36 ] >>844 「危ない」とか「問題」ってのは具体的にどういうことなの? 具体的に説明してくれないと誰もわからないよ
848 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 21:55:49.31 ] >>843 QueryTables.Add使え
849 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 22:44:15.07 ] >>847 「絶対的基準に基づいてないから危ない」とか言い出すぞw
850 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 22:54:44.01 ] >>844 もう一回お前のリンク先読み直してから来いよ 音読な
851 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 01:01:30.47 ] >>838 ,840 Excelどうこうよりも、まず日本語の読み書きを勉強した方がいいと思う 社会人になってから苦労するよ?
852 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 16:27:18.20 ] EXCEL VBAは基本的にはオブジェクト指向言語。 だからJAVA, C++と同様にクラス間の継承もあるが、EXCELで予め定義された 既存のクラスのみでその関係があり、↓ここを見るとプログラマが定義する マクロのクラスで、継承関係にあるものを作ることはできないみたい。 members3.jcom.home.ne.jp/daruma_kyo/aboutooa/vba_limit.html 既存のクラスの継承関係。例えば、collection WorkSheets,Chartsは、 collection Sheetsを継承している。 ActiveWorksheetでその時にカーソル(focus)を当てているものを示す、 property Selection。 その時にカーソルを何に当てているかによって、Selectionのクラスが、 Range, Shape, ChartAreaなどに変化しているみたい。 このproperty Selectionを定義しているクラスは、多分、あらゆるクラス の継承元になっているclass "Object"でないかと思っていますが、 どうなんでしょうか。
853 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 16:48:39.95 ] >>852 オブジェクトブラウザというものがある
854 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 17:19:20.10 ] 複数の行の挿入が面倒くさかったのでVBAを学んでみようと思ったのですが試しに作ったマクロが Sub 行の挿入() Dim i As Integer i = 1 Rows("i:2").Insert Shift:=xlDown End Sub 型が違うと出てきます iの定義が間違ってるのかと思うのですが LongやVariantなども試したもののだめで、整数値で型が違うといわれるのもなぜかわかりません 初歩的で申し訳ないですが教えてください
855 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 17:40:07.26 ] >>854 “Rows”の上にカーソルを置いて[F1]キーでヘルプを開いて読め
856 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 17:58:53.56 ] >>855 できました ありがとうございます
857 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 21:51:31.61 ] >>852 >EXCEL VBAは基本的にはオブジェクト指向言語。 VBAはもともとオブジェクト指向ではない言語をオブジェクト指向に拡張した言語(の派生) オブジェクト指向言語だと言いきるには不備が多い >既存のクラスの継承関係 基本的に継承関係は保障されているわけではない(と思う。保障されてるならソース教えてくれ) つまり(Setによる代入で)キャスト出来るかどうかは実行してみないと解らない >ActiveWorksheetでその時にカーソル(focus)を当てているものを示す、property Selection。 ActiveWorksheetなんてクラス(型)はない。WorksheetにはSelectionなんてプロパティはない >Selectionのクラスが、(略)変化しているみたい。 Selectionなんていうクラスも無いのは理解できてるのか? (Windowクラスの)Selectionの戻り値の型について、Object型で実際はいろんな型が戻されるんだぞ >このproperty Selectionを定義しているクラスは、 Selectionなんてクラスはないし、Selectionプロパティを実装(定義)してるクラスはどんな型だろうと関係ない 問題はSelectionプロパティ(の戻り値)の型 >あらゆるクラスの継承元になっているclass "Object"でないかと思っています VBAにはObjectという型はあるが、Objectクラスというクラスはない(はず) Object型にはあらゆるクラスが格納できるが、それは全てのクラスがObjectから派生してることを意味しない なぜならVBAは純粋なオブジェクト指向言語ではないから
858 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 11:52:43.27 ] >>857 > 基本的に継承関係は保障されているわけではない(と思う。保障されてるならソース教えてくれ) > つまり(Setによる代入で)キャスト出来るかどうかは実行してみないと解らない できない例は?
859 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 14:59:45.96 ] >>>857 class, object, collection, propertyの概念の区別がきっちりできていな いです。 >>Selectionなんてクラスはないし、Selectionプロパティを実装(定義)してるクラスはどんな型だろうと関係ない object browserで見ると、Selectionはobject Applicationとobject Windows のmember(property)になっているみたいです。 これのヘルプを見る。 >>Property Selection As Object 読み取り専用 >>Selection プロパティ >>Application オブジェクトでは、アクティブウィンドウで現在選択されて >>いるオブジェクトを返します。 >>Windows オブジェクトでは、指定されたウィンドウで現在選択されている >>オブジェクトを返します。 >>オブジェクト指向言語だと言いきるには不備が多い ↓参考 sites.google.com/site/compositiosystemae/home/vbaworld/upper/exp3/polymorphi VBAのclass moduleでクラスを定義するとき クラスの構築子(constructor)に当たるもの Class_Initialize() クラスの消滅子(destructor)に当たるもの Class_Terminate() 構築子の引数はサポートされていない。
860 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 16:13:38.21 ] >>859 > class, object, collection, propertyの概念の区別がきっちりできていな > いです。 できてないのはお前だけじゃないの?
861 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 16:32:30.71 ] なんかVBAがオブジェクト指向的に駄目だ駄目だって言う奴多いけど、 適切なところでclassモジュールを使って、VBAで使える範囲の機能を 使えばいいのにっていつも思う。 とか言うと、VBAじゃ適切なところなんてない的な話になりがちな気がするが。
862 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 16:36:41.16 ] この手の話を質問スレでしないで欲しい 自分の中で答え持っててそれを主張するだけなんだから
863 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 16:57:49.74 ] VBAスレはここだけしかないんだから、ここでいいだろ
864 名前:862 mailto:sage [2012/03/28(水) 17:07:48.32 ] あ、これ質問だったのか ごめんよく読んでなかったは
865 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 17:23:26.77 ] ガキはすっこんでろ。
866 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:12:36.94 ] >861 はげどう。 継承だって工夫すればできるし、 コンストラクタの引数がないのも特別不便ではない。
867 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:31:02.19 ] オブジェクト指向厨は市ね。 VBAごときの小規模アプリに オブジェクト指向など無用だ。
868 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:33:47.05 ] 工夫した継承はコード量が多く、結局オブジェクト不志向(データ志向っての?)に落ちついてしまう って事があったなーと、ふと思い出したっす。
869 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:45:10.16 ] ツールバー追加のマクロを組んだのですが、ブックを閉じるときに ツールバーを削除しようとするとエラーが出ます。 原因をご教示下さい。 コードは長くなるので分けて書き込みます。
870 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:48:22.21 ] Private Sub Auto_Open() Dim xlAPP As Application Dim objBar As CommandBar Dim objCont As CommandBarControl Dim objBtn As CommandBarButton Dim vntCaption As Variant , vntTipText As Variant , vntOnAction As Variant Dim IX As Integer Dim blnTRUE As Boolean Set xlAPP = Application vntCaption = Array("登録(&A)", "更新(&U)", "削除(&X)") vntTipText = Array("登録を行ないます", "更新を行ないます", "削除を行ないます") vntOnAction = Array("BTN_TOUROKU", "BTN_KOUSHIN", "BTN_SAKUJO") Set objBar = xlAPP.CommandBars.Add(Name:=g_cnsTITLE, Position:=msoBarTop) blnTRUE = False For IX = 0 To 2 Set objCont = objBar.Controls.Add(Type:=msoControlButton) objCont.BeginGroup = blnTRUE ' CommandBarButtonオブジェクトの参照を取得 Set objBtn = objCont objBtn.Style = msoButtonCaption objBtn.Caption = vntCaption(IX) objBtn.TooltipText = vntTipText(IX) objBtn.OnAction = vntOnAction(IX) blnTRUE = True Next IX objBar.Visible = True objBar.Protection = msoBarNoChangeVisible ActiveWindow.ScrollRow = 1 Set objBtn = Nothing Set objCont = Nothing Set objBar = Nothing End Sub
871 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:50:44.42 ] ' 閉じる時の自動実行処理 Private Sub Auto_Close() Dim xlAPP As Application Dim objBar As CommandBar Set xlAPP = Application ★Set objBar = xlAPP.CommandBars(g_cnsTITLE) objBar.Delete Set objBar = Nothing End Sub ★の部分で 実行時エラー'5': プロシージャの呼び出し、または引数が不正です。 となります。原因と対策をご教示下さい。
872 名前:デフォルトの名無しさん mailto:sage [2012/03/29(木) 00:07:11.46 ] >>871 g_cnsTITLEに該当するツールバーがないんじゃない?
873 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 00:17:48.05 ] >872 直接ツールバー名を指定したら無事動きました。 ありがとうございました。
874 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 10:35:16.91 ] >>868 Strategy Patternとか超便利なんですけど。
875 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/02(月) 20:03:26.77 ] 動的に作成したCommandButtonにクリックイベントを 登録するにはどうすればいいの?
876 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/02(月) 20:29:50.48 ] Outlookで仕事で毎日送ってるメールがあるんだけど 本文で日付以外は全部一緒。 Templateで、日付もその日のが自動入力、って設定する方法はどうやりますか? マクロでもokです。
877 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 20:45:11.26 ] date | Mail -s 今日のメール who@where.co.jp Unix使えよオマエら
878 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 20:51:58.76 ] >>876 OutlookのバージョンとExeclのバージョンを教えて
879 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/02(月) 21:14:12.72 ] ともに2007です >>878
880 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/03(火) 01:39:29.67 ] >>876 EXCELまったく関係ないのはスレ違いなんだが outlook テンプレート 日付 でググって最初のページでも見てろ
881 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/03(火) 11:47:57.65 ] どう考えてもこのスレに辿り着くより解法が載ってるサイトに辿り着く方が早いと思うんだけど 検索サイトを一体どんな風に利用しているんだろう?
882 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/03(火) 19:39:23.25 ] >>875 WithEventsで宣言した変数に参照代入する
883 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/04(水) 17:49:54.34 ] A3の範囲に入っている数字が読めるように 列幅を大きくするとOKで 列幅を小さくして数字が##のようにすると Set C がNothing になってしまう、いい方法ありますか A2 = "gg50": A3 = "gg11:gg45" n = sh4.Range(A2) Set C = sh4.Range(A3).Find(Val(n), LookIn:=xlValues)
884 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 18:07:52.43 ] >>883 検索するときに列幅を広げて 検索が終わったら列幅を元に戻す
885 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/04(水) 18:14:12.91 ] わかりました、そーします ありがとう
886 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 08:36:11.39 ] だれかSQLでdecodeに当たるような関数をVBAで教えてくれ 調べてもreplaceしか出てこないんだ 内部処理で文字列を違う文字列として扱ったりしたいんだ
887 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 10:29:49.84 ] >>886 IIf関数かIf...Then...Else ステートメント ちなみに標準SQLにはDECODE関数なんて無い
888 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/05(木) 11:11:06.09 ] >>886 Choose officetanaka.net/excel/vba/function/Choose.htm
889 名前:886 mailto:sage [2012/04/05(木) 23:16:08.15 ] >>887 >>888 さんくす!iPhoneからだと規制されてて書き込めなかった 今日、現場の作業で活用させて頂きました
890 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 04:53:41.84 ] オフィス田中はNGにしてほしい
891 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 07:29:19.45 ] >>890 なんで?
892 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 07:32:09.99 ] >>891 そんな有名なところだれでも知ってるから すでに読んでる
893 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 08:20:34.61 ] ↑ 自分が知ってることは他人も全部知ってるべきだと思ってる池沼
894 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 10:04:50.92 ] まぁ>>888 みたいにリファレンスとして貼るならMSのサイトを貼れよとは思う
895 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 19:27:40.21 ] >>892 何が「誰でも知っている」だ。 俺はそんなサイト知らねえぞ。 お前のためにあるスレじゃねえから 自己厨レスはやめとけ。
896 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 19:30:55.02 ] >>894 マイクロソフトみたいな有名なところだれでも知ってるから すでに読んでる
897 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 00:22:42.19 ] セル範囲を飛び越えて選択したいのですが Range("A1,B3")をRange(cells(1,1),cells(2,3))でやることってできますか? 試しにコンマ入れてみたけどできませんでした
898 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 00:36:09.97 ] >>897 Application.Union(Cells(1, 1), Cells(2, 3))
899 名前:897 mailto:sage [2012/04/07(土) 00:47:26.65 ] できました ありがとうございます
900 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 03:29:15.39 ] オフィス田中は何ググッても出てくるよな
901 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 05:29:02.44 ] オフィス田中は数年前に行き着いたが間違い記事があり それを2,3年経っても放置している上に、自分と大差ないレベルらしく 読んでても新たな発見とか嬉しい驚きとか全然無いんで全く行かなくなった
902 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 07:16:36.62 ] MSDN一日中眺めてればいいよ
903 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 07:39:34.18 ] 20年くらい前はそれでも全体見廻せたが いまそれやると一生無駄にすると思う
904 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 08:32:51.50 ] >>892 >>>891 >そんな有名なところだれでも知ってるから google検索なんか利用できないじゃん。有名なところしかヒットしない仕組みなんだもの。
905 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 17:05:07.95 ] シート2のA1:A30のデータをシート1の B2:B12,D2:D12、F2:F12 の用に3行に分けて張り付けたいときは FOR ....next で繰り返しするしかないのでしょうか? 何か一発で行けるようなスマートなやり方はないでしょうか?
906 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 17:31:13.82 ] >>905 B2:B12、D2:D12、F2:F12は3行じゃなくて11行だと思うけど? 一発じゃないけどループ使いたくないならこんなのとか With Range("A1:A30") Dim v As Variant v = .Offset(0) Range("B2:B12") = v v = .Offset(10) Range("D2:D12") = v v = .Offset(20) Range("F2:F12") = v End With
907 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 17:49:21.59 ] >>906 >>B2:B12、D2:D12、F2:F12は3行じゃなくて11行だと思うけど? 確かに・・・ B2:K2、B4:K4、B6:K6の間違いでした。 シート2のA1:A30には不連続のデータが入っていて、 それのA1:A10をB2:K2に A11:A20をB4:K4に A21:A30をB6:K6にコピーしたいのです。 >906を試してみると一行に全ておなじデータが入ってしまいました。
908 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 18:01:47.39 ] >>907 コピペしたら? Range("A1:A10").Copy Range("B2").PasteSpecial Transpose:=True Range("A11:A20").Copy Range("B4").PasteSpecial Transpose:=True Range("A21:A30").Copy Range("B6").PasteSpecial Transpose:=True
909 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 19:47:57.72 ] >>908 やはりそうするのが無難ですよね。 別件なのですが、Findで検索してヒットしたせるから 10行目までの範囲を指定したい場合はどうしたら いいですかね? Offsetを使って色々しているのですが上手くいきません。
910 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 19:52:21.42 ] >>909 Resizeプロパティ
911 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 22:45:34.62 ] >>910 サンクス
912 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/08(日) 13:54:16.86 ] 教えてください。 OS:XP EXCEL:2007 ユーザーフォームを起動させると、言語バーの輝度が落ちてしまい日本語入力ができなくなります。 F8ポチポチでは再現せず…適当なポイントで止めても再現せず… 一旦エクセル落として開き直せば復帰します。 ユーザーフォームはクラスを使ったカレンダーフォームです
913 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/08(日) 18:30:01.65 ] Excel VBAは基本的なところ(セル・シート・ブック)は完ぺきにマスターしたのですが 苦手なのがサブルーチンをいっぱい作ってそれらを効果的に使う方法や、どうやって全体像を把握するのかや、 フォームを駆使して、それをどうやって標準モジュールと連携させるかとか、 変数についてローカル変数やグローバル変数をどう概念的に理解して使いこなすとか そのへんでつまづいています。 基本的なところ(セル・シート・ブック)は、入門書やすこしレベルが上のものでも、本やサイトでいいのがいっぱいありますが、 「サブルーチン」「フォーム」「変数」とかについてに特化した入門向けから上級者向けの本やサイトがあれば教えてもらえますか?
914 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/08(日) 18:48:40.75 ] 個人用マクロ(PERSONAL.XLSB)を作っているのですが [X]で閉じるときもう一回押さないと閉じないんです。 これを回避する方法ありますか?
915 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/08(日) 19:02:50.68 ] >>913 >>2
916 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/08(日) 19:03:25.69 ] >>914 >>2
917 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/08(日) 19:13:04.47 ] >>913 難しく考えすぎ。 「使いこなそう」などと考えるのがおかしい。 VBAはシートと関数で実現が難しい機能が ある場合の補助手段。 フォームとか面倒くさい機能は使うな。 シートという立派なGUIがあるんだから。 あとルーチンも変数も全部Publicでいいから。
918 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/08(日) 20:58:39.07 ] 「完ぺきにマスターした」なんて書いてる時点で釣りなんだからスルーしとけ