Excel VBA 質問スレ Part47 [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net (エーイモ SE8b-KBVs)
2017/03/15(水) 15:04:34.34ID:SB1qQF57Eコード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part46 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1487342545/
※関連スレ
VBAなんでも質問スレ Part2
http://echo.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://echo.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 125
http://echo.2ch.net/test/read.cgi/bsoft/1481369538/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
0002デフォルトの名無しさん (ワッチョイ cf85-Xd2l)
2017/03/15(水) 15:49:09.42ID:kLT26yGF00003デフォルトの名無しさん (ワッチョイ bfb2-lHz+)
2017/03/15(水) 16:03:44.51ID:qp+ADeck00004デフォルトの名無しさん (アウアウオー Saca-N544)
2017/03/15(水) 17:47:18.74ID:tXDGdK2ja0005デフォルトの名無しさん (ワンミングク MMa2-7UNQ)
2017/03/15(水) 19:07:50.21ID:vLzxteC2M0006デフォルトの名無しさん (スプッッ Sdb2-b4U9)
2017/03/15(水) 19:17:51.77ID:AelFluvTdApplication.ScreenUpdating = False
なんてしないよね?
0007デフォルトの名無しさん (ワッチョイ bfb2-lHz+)
2017/03/15(水) 19:26:19.15ID:qp+ADeck0ただExcel2013,2016対策でその一文で済まないことが出てきたけど・・・。
0008デフォルトの名無しさん (ワッチョイ f73c-N544)
2017/03/15(水) 19:59:24.70ID:9x7Uk/iK0するでしょ
セルへの書き込みいちいち描写すんの?
0009デフォルトの名無しさん (スプッッ Sdb2-b4U9)
2017/03/15(水) 20:25:29.85ID:AelFluvTd最近では自分はほとんどしなくなった
要所要所でしか書き込まないからちょうどいい進捗確認になる。
0010デフォルトの名無しさん (アークセー Sx57-HNYZ)
2017/03/15(水) 20:42:29.87ID:SxG8JjnMxそうね
recordset張り付けがほとんどだから
0011デフォルトの名無しさん (ワッチョイ f364-aizu)
2017/03/15(水) 22:06:14.60ID:8JhP7Jbn0でも昔作ったクラスを流用してるから計算と警告止めるついでに描画が止まる
0012デフォルトの名無しさん (ワッチョイ f73c-N544)
2017/03/15(水) 22:35:50.60ID:9x7Uk/iK0めんどくさくて適当に作ったときは使う
0013デフォルトの名無しさん (ワッチョイ f27b-B7n4)
2017/03/15(水) 22:59:51.14ID:SQ1wYD/X0>最新のプログラミング技術って今は何なんだろうな。
操作するだけで勝手にプログラムを書いてくれる技術。
これ以上のものはないんじゃないの。
0014デフォルトの名無しさん (ワッチョイ f73c-N544)
2017/03/15(水) 23:17:02.77ID:9x7Uk/iK0マクロの記録か!?
0015デフォルトの名無しさん (ワッチョイ bfb2-lHz+)
2017/03/15(水) 23:27:52.02ID:qp+ADeck0実は20年前にExcelは時代の最先端を進んでいたということかっ!?
0016デフォルトの名無しさん (ワッチョイ 323c-ZZsN)
2017/03/15(水) 23:53:07.36ID:FiGu7lnE00017デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/16(木) 02:30:58.40ID:BRJmk+vj0プログラムコード書いてくれたっけ?
0018デフォルトの名無しさん (スプッッ Sddf-Ma5U)
2017/03/16(木) 09:36:54.17ID:CmubgaKBd今まで律儀にプロジェクトから右クリックメニューからエクスポートしてたわw
0019デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/16(木) 10:43:45.54ID:nbrWiG2Iaめっちゃ便利じゃねえか!
もしかしてインポートも?
0020デフォルトの名無しさん (スプッッ Sddf-Ma5U)
2017/03/16(木) 11:50:16.42ID:CmubgaKBdYes.
さっき多数の.basモジュールをExcelからPublisherに移動させるときに気づいた。
0021デフォルトの名無しさん (ワッチョイ 33b2-ns4E)
2017/03/16(木) 15:58:53.62ID:wlBz8l330今日になって、いつも使用しているマクロの途中でExcelがハングアップするようになりました。
環境はWindows 7 pro 32bit、Excel 2010
発生するタイミングをトレースしたところ、Workbook.Open()メソッドでした。
全体的なフローとしては、
001.xlsxを読取専用で開く
→データを解析
→閉じる
→条件を観たした時、001.xlsxを書き込み可で開く※ココでエラー発生
となります。
・閉じた後のメモリの開放が不完全なのかと思い、Set WB = Nothingをしましたが効果はありませんでした。
・2回目に書き込み可で開く直前に、001.xlsxを空の新規ファイルに差し替えましたが、同様のエラーが出ました。
・他のPCも同様にダメでした。
(Windows10 Excel2016で試した場合はハングアップしない代わりに、Open直後でマクロが強制終了されたかのような状態になりました。)
※初回は大人の事情でどうしても読取専用で開く必要があります。
※関係あるかは不明ですが、昨日Windowsの更新がありました。
皆様の知恵をお貸し下さい。よろしくお願い致します。
0022デフォルトの名無しさん (ワッチョイ cf42-9jmm)
2017/03/16(木) 16:20:35.41ID:p/OuygEJ0これが通るなら元の2行目の何かがいけない。
001.xlsxを読取専用で開く
→ たとえば1+1を計算して見る
→閉じる
→001.xlsxを書き込み可で開く
0023デフォルトの名無しさん (ワントンキン MM5f-8FG5)
2017/03/16(木) 16:45:47.11ID:TdHpVUldMnothing の次ぐらいに書いてみたらどないだ?
0024デフォルトの名無しさん (ワッチョイ efa6-tpgq)
2017/03/16(木) 16:50:01.07ID:FSeN9Ukg0VBEでマクロを修正後実行しても再コンパイルされず
修正前のものが実行される時があります
強制的に再コンパイルさせる方法ってないでしょうか
0025デフォルトの名無しさん (JP 0H7f-v8EU)
2017/03/16(木) 17:19:28.88ID:tDvUwYEMH> 修正前のものが実行される時があります
気のせいだと思うけど、もし本当にそうなら、VBEのメニューの「デバッグ->VBAプロジェクトのコンパイル」でコンパイルできる。
0026デフォルトの名無しさん (ワッチョイ efa6-tpgq)
2017/03/16(木) 17:58:10.29ID:FSeN9Ukg0ありがとうございます
メニューの目の前にあったとはw はずかしい
時々エラーを修正してもエラーが続いて「なんでだーー」と嵌り、
再コンパイルされてないとやっと気づいでexcelの再起動で対処
面倒くさくていらついていました
0027デフォルトの名無しさん (ワッチョイ 33b2-ns4E)
2017/03/16(木) 18:16:32.83ID:wlBz8l330書き忘れて申し訳ないのですが、上記の処理を連番になっているファイルに対して順番に実行するようになっており、処理する順番を色々並び替えた結果、発生する周回数はランダムで一定以上重い処理が続いた後に起こる傾向がありました。
一応空のファイルを100個用意して回してみましたが、軽い計算では発生しませんでした。
>>23
なるほど!DoEventを試してみます。
0028デフォルトの名無しさん (ワッチョイ 33b2-ns4E)
2017/03/16(木) 18:21:45.32ID:wlBz8l330変数を未定義のまま実行して、デバッグ中に未定義だった変数を定義すると停止しても永久にエラーが出るようになるね。
やってしまったら、エクセル再起動か該当の変数を使ってるマクロを切り取りして一度コンパイルを通す必要があってめんどくさい。
だから実行前には必ず手動でコンパイルするような癖がついたわ。
0029デフォルトの名無しさん (ワッチョイ bf85-12+v)
2017/03/16(木) 19:06:57.17ID:PUp87fRB0文法エラーや未定義の変数のチェックには役に立ってるけど
0030デフォルトの名無しさん (ワッチョイ efa6-tpgq)
2017/03/16(木) 19:08:33.20ID:FSeN9Ukg0マジですか
未定義でばっと作ってデバッグ修正、後から定義することがよくあるのできっとそれですね
うちのシステムがおかしくなってきてOSの再インストールが必要かと思ってました
0031デフォルトの名無しさん (オイコラミネオ MM7f-1U6o)
2017/03/16(木) 19:29:13.09ID:hC3XZAlvM0032デフォルトの名無しさん (スプッッ Sddf-Ma5U)
2017/03/16(木) 19:40:30.59ID:CmubgaKBd必ず初期値は決まっていると思ってたけど。
0033デフォルトの名無しさん (ワッチョイ bf85-12+v)
2017/03/16(木) 20:01:38.98ID:PUp87fRB0Option Explicit を付けたら変数の宣言を強制されるよね。それでその変数のスペルミスをすれば当然エラーになるよね
少なくとも俺はそのつもりで書いているんだけど
0034デフォルトの名無しさん (スプッッ Sddf-Ma5U)
2017/03/16(木) 21:47:46.14ID:CmubgaKBdああ、宣言してないってことか。
未定義を未初期化の意味にとってた。
スマソ
0035デフォルトの名無しさん (ワッチョイ bf7b-WisJ)
2017/03/16(木) 22:34:03.38ID:x5pnev3p0マジであるよ。
俺の場合、「Msgbox ""」の文を行ごと消したのに、
延々メッセージボックスが出続けた事があった。
保存して開き直したら直ったけど。
0036デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/16(木) 22:59:37.95ID:2FaryFSh0それってステップ実行したらどうなるんだろう
幽霊が出てくる?
0037デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/16(木) 23:53:38.39ID:OzitRQy30キーボードショートカットありますよね?
0038デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/16(木) 23:59:48.26ID:OzitRQy30プログラムコードの線引きをどこでしてるのかわからないけどExcelで実現できてることと同じだよ
0039デフォルトの名無しさん (ワッチョイ 0364-12+v)
2017/03/17(金) 02:10:26.92ID:wFMeanHH0「金が無限に湧いてくる壺」みたいなもんで、本質的にあり得ないし、あったとしても誰にも公開しないだろっていう。
0040デフォルトの名無しさん (ドコグロ MMb7-3fK7)
2017/03/17(金) 06:58:02.45ID:lGJhgaEjM> Excelで実現できてることと同じだよ
違うでしょ
> たとえば現在行を消してキルリングに入れるにはC-a C-k C-kを使います。
の操作は
> (fset 'kill-current-line "\C-a\C-k\C-k")
になるけど欲しいのは
> (defun kill-current-line () "現在行を削除する"
> (interactive)
> (move-beginning-of-line 1)
> (kill-line nil)
> (kill-line nil))
だし
そのために elmacro.el なんてものがある
http://emacs.rubikitch.com/elmacro/
0041デフォルトの名無しさん (ドコグロ MMb7-3fK7)
2017/03/17(金) 07:14:33.42ID:lGJhgaEjM仕様書のレベルによるでしょ
状態遷移表からコードを生成するツールは大昔から使われてるし、UML からコード生成する Rhapsody なんてものもある
まあ >>39 は Excel みたいなソフトが欲しいって入れたら Excel のソースコードが出るような奴を想定してるんだろうけど w
0042デフォルトの名無しさん (オッペケ Sr97-QRqU)
2017/03/17(金) 09:52:24.03ID:JeKk6+P8r他はCとHaskellしか触ってないから他言語はちら見だけど、OOPを使わないからどれも同じに見える。
むしろ、会社のPCにはエクセルは大体入ってるからコンパイラなしでスクラッチで書けて具合がいい。
また、Office系を動かすにはこれしかないんじゃないの?
0043デフォルトの名無しさん (ワンミングク MM5f-8FG5)
2017/03/17(金) 09:56:57.68ID:70xhhbvzM投稿プログラムの16進ダンプリストが何ページにもわたって掲載されていた。
それを読者が手打ちで打ち込んでゲーム遊んだりしてたわけだが、
何の脈絡もない数字とアルファベットの羅列をひたすら打ち込む作業は
ドラクエの復活の呪文どころではない大変さだった。
一人でやってたら辛すぎるんで、
何人かで分担を決めて打ち込んで後でマージするんだけど、
それでも辛いことにはかわりない。
ダンプリストの端に付いてるチェックサムだけを入力して
ダンプリストを生成するようなプログラムが出来ないものかと
本気で考えていた。
0044デフォルトの名無しさん (ワッチョイ 0364-12+v)
2017/03/17(金) 10:01:38.86ID:wFMeanHH0このスレでVBAの悪口を言っていたのはC言語処理系しか触った事無くて文法的に拒絶反応起こしていた奴らだな。
C言語処理系があまりにも氾濫しすぎていて、プログラム言語といえばC言語の文法って考えちゃってるんだと思う。
だから異なる文法の言語は全て本格的でない、オモチャみたいなものに見えるんじゃないの。
0045デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/17(金) 10:24:08.40ID:ua/HmJ88aこの原因もあるけど、使い手がピンきりってレベルじゃないのもある
オブジェクト指向サポートしてないし、製品の付属品ってこともあって軽んじられるのは多少仕方ないよね
まあ俺は使うしかないから使うんだけど
0046デフォルトの名無しさん (スッップ Sddf-Ma5U)
2017/03/17(金) 11:14:59.17ID:eWWVtvGxd言うほど下には見られてないんじゃないか?
0047デフォルトの名無しさん (JP 0H7f-v8EU)
2017/03/17(金) 11:41:15.01ID:hpHy/rBLH> コンパイルっていうけどさ、それで何か実行ファイルが出来るっていうわけじゃないよね?
コンパイルするとP-codeと呼ばれる中間コードに変換される。
メニューからコンパイルすると、Bookを保存するときにそのP-codeも含めて保存されて、次回からはコンパイルが不要になる、みたいなことをどっかで見た記憶がある。(嘘かも)
0048デフォルトの名無しさん (スッップ Sddf-Ma5U)
2017/03/17(金) 11:52:37.24ID:eWWVtvGxd関係ないけど昔
「2chで悪口が頻繁に言われればMicrosoftも対応せざるを得なくなるよな」
と本気で言ってるやつがいた
0049デフォルトの名無しさん (ブーイモ MMdf-8YZg)
2017/03/17(金) 11:53:19.31ID:mgEFiKt+Mデフォで高階関数実装してくんねーかなあ。
0050デフォルトの名無しさん (スッップ Sddf-Ma5U)
2017/03/17(金) 12:00:59.79ID:eWWVtvGxd自力で実装
↓
公開
↓
富豪
0051デフォルトの名無しさん (ワッチョイ 0364-12+v)
2017/03/17(金) 14:35:00.57ID:wFMeanHH00052デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/17(金) 18:04:12.43ID:4a5+BdOt0何が違うって言いたいのか理解できないんだけど
操作内容をプログラムとして利用可能な状態で記録できてないの?
0053デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/17(金) 18:10:22.03ID:4a5+BdOt0汎用言語じゃなく基本的にOfficeでしか動かないにもかかわらず
ループ処理や配列処理で低いレイヤーを意識した90年代的コーディングが必要だから
あとVBAerの質の問題
0054デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/17(金) 18:13:05.09ID:4a5+BdOt0VBはアマチュアでC++がプロみたいな印象があってその名残もあるかもね
C#かVB.NETかっていう時代になってもなぜかVB.NETは馬鹿にされがち
0055デフォルトの名無しさん (ドコグロ MMb7-3fK7)
2017/03/17(金) 18:23:47.31ID:dpI1G6OFM> 何が違うって言いたいのか理解できないんだけど
>> (fset 'kill-current-line "\C-a\C-k\C-k")
これは単にキーシーケンスを記録/再生してるだけでしょ
例えば条件判断して動作を変えようとしたら Emacs のキーマクロ再生ルーチンに手を入れる必要がある
>> (defun kill-current-line () "現在行を削除する"
>> (interactive)
>> (move-beginning-of-line 1)
>> (kill-line nil)
>> (kill-line nil))
これなら Lisp と Emacs のキーバインドがわかってる人なら条件判断でもループでも組み放題ってこと
0056デフォルトの名無しさん (ワキゲー MM1f-Rf/L)
2017/03/17(金) 18:26:51.11ID:idI0Aki4M上の方でも動くのは動くんだろ?
自動生成にそこまで精度は求めない
0057デフォルトの名無しさん (ドコグロ MMb7-3fK7)
2017/03/17(金) 18:43:44.26ID:dpI1G6OFM動けばいいというならもうなにも言う必要はないね
0058デフォルトの名無しさん (スッップ Sddf-Ma5U)
2017/03/17(金) 18:51:02.18ID:eWWVtvGxd敷居が低い以上しかたのない話だね。
0059デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/17(金) 19:06:22.25ID:ua/HmJ88aプログラマーじゃなくてマクラー止まりがほとんどだからな
0060デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/17(金) 19:20:00.77ID:0wlX6r36Mそして坊主憎けりゃ袈裟まで憎いの理論でVBまで悪者になってしまった
0061デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/17(金) 21:11:39.09ID:4a5+BdOt0後者のほうがコードとしては使いやすいとか読みやすいのは理解できるが
前者でも条件判断だろうがループだろうが別に使えるし
必要ならキーシーケンスにバインドされてるコマンドに変換することもできる
本質的な違いがあるようには思えないわ
0062デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/17(金) 21:22:16.33ID:4a5+BdOt0うーんそうじゃなくて、例えば他の言語もバリバリに使えるけど目的に応じてVBAも書くっていう人がまず少ないでしょ?
それに経歴の長い人でもメンテ不能な独善的コードを書く人が他の言語に比べて相対的に多いと思う
逆に誰でもメンテできるように仕様書やテストコードもきちんと整備して、わかりやすく読みやすいコードのかけるVBAerは超レア
※個人の感想です
0063デフォルトの名無しさん (ワッチョイ 0364-12+v)
2017/03/17(金) 21:47:05.87ID:wFMeanHH0保守性が高く、仕様書とテストコードが完璧で、分かりやすく読みやすいコードを書ける人材が、
他の言語では掃いて捨てるほどいるというのか・・・。
0064デフォルトの名無しさん (ワッチョイ 73da-12+v)
2017/03/17(金) 22:29:46.54ID:z6ML212A0ws_out.Cells(LastRow_out + 1, 1).Resize(200, 12) = Out
エラーの内容は”アプリケーション定義またはオブジェクト定義のエラーです。”というもの。
エラーが出るとVBEが立ち上がってるからF8で逐次実行すると何もなかったように無事に書き込まれる。
そこで、On Error GoTo ErrorHandlerを追加し、
以下のように再帰で再び書き込もうとすると数回エラーは出るもののその後は無事に書き込めるという訳わからんことになっています。
(続く)
0065デフォルトの名無しさん (ワッチョイ 73da-12+v)
2017/03/17(金) 22:32:09.02ID:z6ML212A00066デフォルトの名無しさん (ワッチョイ 73da-12+v)
2017/03/17(金) 22:34:27.02ID:z6ML212A0つまり、ws_out.Cells(LastRow_out + 1, 1).Resize(200, 12) = Out
で、無事に書き込めるときもあれば、書きこめないときもある。
その違いが全くわからないという状況なんです。
今のところはエラー出たら何度も書き込みをトライして無事書きこめている状況です。
なんか気持ち悪いのでエラー発生の原因を知りたいのです。
どなたかアドバイスを宜しくお願いします。
0067デフォルトの名無しさん (ワッチョイ 73da-12+v)
2017/03/17(金) 22:36:54.25ID:z6ML212A00068デフォルトの名無しさん (ワッチョイ 73da-12+v)
2017/03/17(金) 22:42:10.97ID:z6ML212A0なんか書きこめないので画像ですみません。
http://i.imgur.com/zhd3NB0.jpg
0069デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/17(金) 22:43:31.10ID:4a5+BdOt0「完璧」って急にハードル上げるなよ
会社や使ってる言語にもよるだろうけど
例えばそこそこの経験があるRuby使いが10人いれば少なくとも3~5人は
メンテできるように仕様書やテストコードもきちんと整備して
わかりやすく読みやすいコードのかける人っていう印象
VBAだと20人に1人いるかどうか(※あくまで印象)
VBAerの質というよりVBAと他言語の文化の違いかもね
0070デフォルトの名無しさん (ワッチョイ 133c-rTqZ)
2017/03/17(金) 22:51:28.68ID:pi9a1Bwa0アプリケーション定義のエラーってセルのアドレス指定がおかしいんじゃねえかと
0とか指定してんじゃね?
0071デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/17(金) 23:15:45.93ID:woddruPm0> 前者でも条件判断だろうがループだろうが別に使えるし
どうやってやるの?
具体的に書いてみて
> 必要ならキーシーケンスにバインドされてるコマンドに変換することもできる
それが elmacro.el
そもそも○○すればできる
って言い出したらそりゃなんでもありありだよ
0072デフォルトの名無しさん (ワッチョイ bf7b-WisJ)
2017/03/17(金) 23:29:05.33ID:Ilx7INmz0VCAだったら誰もバカにしないだろう。
0073デフォルトの名無しさん (ワキゲー MM1f-Rf/L)
2017/03/18(土) 00:28:05.58ID:j21tsAGgMやるなら他でやってくれ
既にVBAの話題じゃなくなってる
0074デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/18(土) 01:49:37.37ID:vBdYmHk50ググるなりEmacsスレに行くなりお好きにどうぞ
別にelmacroみたいな追加パッケージが必須なわけじゃないんだよ
0075デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/18(土) 05:33:14.82ID:1jN6Nl4i0具体的にって言われてそれかよ w
0076デフォルトの名無しさん (ワッチョイ bf7b-QRqU)
2017/03/18(土) 09:32:02.11ID:tmgM3nCR0他人に引き継がせるのを想定していないのに、業務上引き継ぎを求められる時に問題となるのではないかと。
0077デフォルトの名無しさん (アークセー Sx97-tW1y)
2017/03/18(土) 09:44:26.54ID:AVWnB++fx理解できるのw
0078デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/18(土) 10:02:12.33ID:1jN6Nl4i0恥ずかしいからもう出てくるなよ w
0079デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/18(土) 10:18:08.14ID:Gq5DbfzeMVBAは使い捨てだから自分用だからという理由を免罪符にして雑で汚いコードを書く人ばかりだから困る
他の言語では丁寧に美しいコードを書く優秀な人ですらVBAになると所詮はVBAだし適当でいいだろと開き直る
VBAは人を堕落させるなにか不思議な力がある
0080デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/18(土) 10:33:35.52ID:E70njaCZaレガシー環境だとエレガントに書こうとしても理解してもらえない
0081デフォルトの名無しさん (ブーイモ MM77-tW1y)
2017/03/18(土) 11:57:59.67ID:3dStCg/nMはい
0082デフォルトの名無しさん (ワッチョイ 234b-WisJ)
2017/03/18(土) 12:40:55.94ID:SPZFu7Fy0なぜかNGワード判定すらスルーされて、原因を絞り込もうとすると連投エラーだけは出て絞り込みも困難
2ちゃんねるのCGIのバグだと思うけど、どうすりゃいいんだ
0083デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/18(土) 12:50:48.69ID:E70njaCZaダブルクォーテーションでエラー出てたことあったしその辺の関係じゃないかな
0084デフォルトの名無しさん (オッペケ Sr97-QRqU)
2017/03/18(土) 13:02:12.46ID:ySaYO4GFr0085デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/18(土) 13:45:10.97ID:Gq5DbfzeM2chとはそういうもんだと諦めるんだな
不便だと思うなら他のコミュニケーションサイトを使おう
0086デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/18(土) 17:07:22.13ID:vBdYmHk50君はいつも自分の無知を棚に上げて嫌味な物言いだよね
煽っても教えてあげないから
つかEmacsユーザーなら少しググればすぐ分かるだろ
レコーダーで記録したマクロをきれいなコードにするには
大なり小なり編集が必要なのはどのツールでも同じ
Excelは違うと思ってるんなら別にそれでもいいんじゃない
0087デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/18(土) 17:12:42.72ID:vBdYmHk50これってほんとに成功するケースと失敗するケースで何も条件変わってないの?
書き込もうとしてる値とか対象とかActiveSheet/Selectionとか
intermittentなエラーってあまり聞いたことがない
008864 (ワッチョイ 73da-12+v)
2017/03/18(土) 17:18:57.64ID:gLAUrVs40>アプリケーション定義のエラーってセルのアドレス指定がおかしいんじゃねえかと
>0とか指定してんじゃね?
いや、エラーで止まる度に各変数の値は確認していますがそんなことはないんです。
その証拠にエラーで止まって変数確認したすぐ後にF8押すと問題なくその行が実行されるんです。
変数は書き換えてないのに・・・
殆どの場合は問題ないんですが稀に止まるという気持ち悪い状況なんです。
他に考えられる原因ってありますかね?
008964 (ワッチョイ 73da-12+v)
2017/03/18(土) 17:32:42.37ID:gLAUrVs40条件は変わってないはずです。もっとよく考えてみますが。
昨日もエラーでてましたが変数など書き換えずに書き込みを数度繰り返し無事書きこめました。
アクティブシートを切り替えても普段は正常に書きこめます。
書き込む値についてはあまり気にかけていませんでしたが、
エラーで止まった後にF8で問題なく実行できるので値が原因ではないような気がしますがどうなんでしょう?
>ws_out.Cells(LastRow_out + 1, 1).Resize(200, 12) = Out
のOutは標準モジュールでPublic Out(1 To 200, 1 To 12)で宣言しているものです。
型指定なしの宣言です。
0090デフォルトの名無しさん (ワッチョイ 234b-WisJ)
2017/03/18(土) 17:44:41.47ID:SPZFu7Fy0条件が完全に同じかどうか使用者でもわかってない場合がある
0091デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/18(土) 19:59:50.33ID:1jN6Nl4i0きれいなコード?
苦しいね w
0092デフォルトの名無しさん (ワキゲー MM1f-Rf/L)
2017/03/18(土) 20:09:06.17ID:SiDzaxEQM恥ずかしいからもう出てくるなよ w
0093デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/18(土) 20:21:20.20ID:1jN6Nl4i0> 別にelmacroみたいな追加パッケージが必須なわけじゃないんだよ
と言ってどうするのかと思ったら
> レコーダーで記録したマクロをきれいなコードにするには
> 大なり小なり編集が必要なのはどのツールでも同じ
とか笑えるわ
0094デフォルトの名無しさん (ワッチョイ 0364-12+v)
2017/03/18(土) 20:33:19.62ID:u64MpNEX00095デフォルトの名無しさん (アウアウカー Sa57-b2Pp)
2017/03/18(土) 20:36:14.03ID:ybox44GAa書き込んだのに書き込めないとはこれいかに
0096デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/18(土) 20:38:46.38ID:1jN6Nl4i0>>40
0097デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/18(土) 21:06:01.70ID:MrF88dzm00098デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/18(土) 21:19:04.00ID:vBdYmHk50もうみっともないな
Emacs知らないのに無理して突っかかる必要ないだろ
0099デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/18(土) 21:27:23.36ID:1jN6Nl4i00100デフォルトの名無しさん (ワッチョイ 73da-12+v)
2017/03/18(土) 22:58:59.74ID:gLAUrVs40今の環境はWin7 + Office2010 です。
0101デフォルトの名無しさん (ワッチョイ ef02-Spsh)
2017/03/18(土) 23:38:29.66ID:CfRBZ1GA0>Outは標準モジュールでPublic Out(1 To 200, 1 To 12)で宣言しているものです
リトライしたときにOutが戻す値が変わってるんじゃね
戻り値一回変数に受けて、エラーが出たときと出ないときで比べてみれば?
0102デフォルトの名無しさん (ワッチョイ 8f5b-u6wT)
2017/03/18(土) 23:46:34.39ID:EFRz0aVM0どなたか教えてください。
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_listbox.html
↑のページに書いてあるコードを参考に検索フォームを作ってます。
検索するデータを配列mydataに格納して、検索で一致したデータをmydata2に格納するコードについてなのですが、
If myData(i, 2) Like "*" & TextBox1.Value & "*" And myData(i, 7) Like "*" & TextBox2.Value & "*" Then
上記コードは、テキストボックス1で2列目、テキストボックス2で7列目を検索していますが、
テキストボックス1で2列目〜7列目まで範囲を広げて検索をかけるようなコードにできないものでしょうか?
mydataのなかにrangeやcells等入れて試してみたんですが、なかなかうまくいきません。
どなたかご教授ください・・・
0103デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/19(日) 00:32:27.77ID:AQDq39VFaそら大した証拠になってない
その処理でエラーの場合明らかにワークシートかセルにたいしておかしな値を指定してるのが問題だろう
そもそもどういう処理の流れでってのがわからんとなんとも言えないのだがな
まあ、とにかく問題の切り分けだ
エラーで止まってから確認するんでなく処理の流れで確認しないとダメなこともあるんでDebug.Printか.Assert入れて各変数およびオブジェクトの値やら型やら全部確認してみて
そしたらおかしなところで止まるからそれが原因
0104デフォルトの名無しさん (ワキゲー MM1f-Rf/L)
2017/03/19(日) 00:34:49.34ID:Xey8ybM4M2列目と7列目を固定で検索してるのはどこかわかれば見当つくと思う
0105デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/19(日) 00:37:39.29ID:AQDq39VFafor i = iの最初 to iの最後
for j = 2 to 7
if myData(i,j) like テキストボックスの値 then
処理
next j
next i
恐らくiはループ変数だと予想したんだが、間違ってないよな?
聞くときはその辺もちゃんと書いてくれないとエスパーにしか答えられなくなるぞ
0106デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/19(日) 00:38:24.11ID:AQDq39VFaすまんな
0107デフォルトの名無しさん (ワッチョイ bf7b-WisJ)
2017/03/19(日) 08:24:55.47ID:TEeAUA+Q0>最近エクセルVBA勉強し始めたど素人です。
だったら、こんな難しいのじゃなくて、
Excelのフィルタ機能を使っている所をマクロ記録して、
改変するほうが簡単。
0108デフォルトの名無しさん (スプッッ Sddf-WisJ)
2017/03/19(日) 09:03:57.15ID:d7txTs2Od0109デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 09:12:08.74ID:7xRC3K/l0氏名は2列目じゃなくて1列目、住所は7列目じゃなくて6列目にしないといけないのでは?
つまり
If myData(i, 1) Like "*" & TextBox1.Value & "*" And myData(i, 6) Like〜
0110デフォルトの名無しさん (ワッチョイ bf7b-QRqU)
2017/03/19(日) 09:42:20.97ID:7GUCcHR600111デフォルトの名無しさん (ワッチョイ bf3c-12+v)
2017/03/19(日) 09:47:39.48ID:h5YhjNPa0どう見ても氏名は2列目で住所は7列目なんだが…
初心者にデタラメ教えてどうする。
>>110
関数と演算子の違いくらいわかろうぜ
0112デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 11:30:18.32ID:7xRC3K/l0オッ、今はセル範囲.Value で取れる配列が 1オリジンなんだな!!!
素で間違えていたわ。スマソ
0113デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 11:34:09.69ID:7xRC3K/l0自分のプログラムではセル範囲からとった配列を0オリジン(LBound = 0)に変換する関数を10年くらい使っていて
無意識のうちにそれがデフォルトの仕様だと思いこんでいた。
>>109は忘れてください。すまんこって
0114デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/19(日) 11:47:03.48ID:7RBNWPmYM0115デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 12:14:39.77ID:7xRC3K/l0ごめん15年だった
0116デフォルトの名無しさん (オッペケ Sr97-QRqU)
2017/03/19(日) 12:16:55.06ID:j3OPhkRkrarityが2の中置関数だよ、演算子は。関数の方が概念として広い。
こういう感覚がないのだな、プログラマって。
0117デフォルトの名無しさん (オッペケ Sr97-QRqU)
2017/03/19(日) 12:18:45.58ID:j3OPhkRkr0118デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 12:30:30.27ID:IinMJCLx00119デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 12:31:47.22ID:IinMJCLx0そんな感覚はないわ
0120デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 12:38:41.90ID:7xRC3K/l0複数の配列を扱うプログラム中では下限を統一しとかないと面倒でしょ
0121デフォルトの名無しさん (ワッチョイ bf3c-12+v)
2017/03/19(日) 12:45:05.70ID:h5YhjNPa0概念として 関数⊃演算子 なのはわかる。
ただVBAで関数と演算子は使い方が明確に区別されてるから、
VBAでLikeや四則演算を関数と呼ぶには物凄く違和感がある。
0122デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 12:54:00.77ID:IinMJCLx0そのために下限を設定する機能があるんだが...
0123デフォルトの名無しさん (ドコグロ MM1f-3fK7)
2017/03/19(日) 12:55:47.83ID:BuwKrgPYM+ を関数って呼ぶようなアスペの相手するなよ
0124デフォルトの名無しさん (スッップ Sddf-Ma5U)
2017/03/19(日) 13:50:34.07ID:ZMNP6m9ndOption Base をどうしようと
範囲.ValueのLBoundはで1SplitのLBoundは0じゃなかった?
0125デフォルトの名無しさん (スッップ Sddf-Ma5U)
2017/03/19(日) 14:06:34.29ID:ZMNP6m9ndまあこの世に数学がまずあってプログラム言語はそこから派生すると考えれば
演算子は関数の一種だし、そう考えなければ別物だし
0126デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 18:38:46.15ID:7xRC3K/l0あと VBA.Array も Option Baseと関係なしに LBound=0 だね。
(Array はOption Baseの指定通りになる)
0127デフォルトの名無しさん (アウアウカー Sa57-ZN0E)
2017/03/19(日) 18:54:28.31ID:XVhEhS/Waそれって結構よくあることだと思うんだが。
PC再起動すれば直る。
っちゅうか、それエラーって認識なの?
確かにエラー表示だけどさ。
あれだろ、ステップ実行はできるんだけどやたら止められる奴だろ。
止まってもF5で続行できるけどすぐ別の所で止まる。
んで、止まった場所見てもおよそエラーとは考えられないようなの。
0128デフォルトの名無しさん (アウアウカー Sa57-ZN0E)
2017/03/19(日) 18:59:48.58ID:XVhEhS/Wa基本は0だけどvarArry=Range("C3:P250")みたいなのは1からになるだろ。
で、混在するから素直にLbound使う。
上記のようなことしないなら0使うな。
0129デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 19:11:04.55ID:7xRC3K/l0混在して厄介だから統一するために
「セル範囲からとった配列を0オリジン(LBound = 0)に変換する関数を使う」
という話なんだが。
つまりvarArry=Range("C3:P250")としたあとすぐにLBound(varArry)を0にチェンジしておけばそのあと楽だ、ということ。
0130デフォルトの名無しさん (アウアウカー Sa57-ZN0E)
2017/03/19(日) 19:13:57.84ID:XVhEhS/Waよくわからんな。
Lboundのまま使わんの?
0131デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 20:45:33.05ID:IinMJCLx0面倒なことが好きなんだろ
0132デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 22:06:16.39ID:7xRC3K/l0すごく単純化して言うと、関数の引数が ArrayA と ArrayB で、
For i : ArrayC(i) = ArrayA(i) + ArrayB(i)
みたいにして作った ArrayC が返り値だとして、
ArrayA と ArrayB のLBoundが違っていたら単純に面倒な上にArrayC のLBoundを
何にするかが問題になる。
だから全部0に統一したい。
0133デフォルトの名無しさん (ワッチョイ bf85-12+v)
2017/03/19(日) 22:46:34.24ID:yQ6I5BAH00134デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 22:50:58.30ID:7xRC3K/l0Option Base = 0 にしといてもExcel VBAの仕様で範囲.Value のLBoundは強制的に 1になっちゃうんだよ。
0135デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/19(日) 22:56:05.51ID:7RBNWPmYM同じならCも揃えて返せば良いだろ
形の違う行列を加算するのは100円と100グラムを加算するようにおかしな行為なんだよ
素人ってこういう当たり前の感覚もないんだな
つうかまあそもそも配列をそのまま使うのがトラブルの素なんだけどな
0136デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 22:57:38.53ID:7xRC3K/l0形も長さも同じでLBoundが違うだけでもおかしいな行為なのかよ?
その感覚の方がおかしい
0137デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 23:02:05.59ID:7xRC3K/l0ArrayBはワークシート由来の配列データでLBound=1
同じ大きさだとして、これを比較して何か結果を返す関数なんていくらでも考えられるだろ?
0138デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/19(日) 23:03:18.99ID:7RBNWPmYMもうすでにどっちの下限使うかで判断付かなくなってるだろ
何も悩まず自然な定義が出来ない時点でその処理はどこかがおかしいんだよ
こういうコードに対する感覚って大事だぜ
0139デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 23:07:07.34ID:7xRC3K/l0だから0に統一すると言っているじゃないか
0140デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/19(日) 23:07:25.78ID:7RBNWPmYMそれはフォワードオンリーなシーケンスとしてABを抽象化してシーケンス比較する時の話だろ
行列の加算と全く意味合い異なるんだが素人には同じに見えるのか?
0141デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 23:10:00.23ID:7xRC3K/l0コードに対する感覚っていうことなら
Option Base 0 と設定しているのに 範囲.Value のLBoundが 1になるのがおかしい、
が正解なんじゃないか?
製品の仕様に文句付けても実りがないから、0に統一する関数を自分で作るというのはとても真っ当だと思うけどね。
0142デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/19(日) 23:10:23.74ID:7RBNWPmYMそれはお前のルールだろ
世の中には1ベースの方が自然な人も沢山いるんだよ
どうしても違う形の行列を加算したいなら配列とオフセットを渡すようにしなさい
0143デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/19(日) 23:13:11.18ID:7RBNWPmYMアプリケーション側で指定したOption Base 0にライブラリ側が従う義理はない
当然ライブラリにそれを求めて達成できなければおかしいと考えるお前がおかしい
0144デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 23:13:29.28ID:7xRC3K/l0シーケンスがどうとか関係なく出来上がった結果の配列を処理するときの話だぞ?
出来上がった配列を引数に取る関数が、その配列の由来がどこかなんて気にしないだろ。
加算:ArrayC(i) = ArrayA(i) + ArrayB(i)
と
比較:If ArrayA(i) < ArrayB(i) Then〜
で何の意味合いの違いがあるというのか?
0145デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/19(日) 23:15:07.60ID:H6GrSOXqaまあ最近はあんまり配列使わんけど
0146デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 23:15:24.65ID:7xRC3K/l0ごめん、ちょっと意味がわからない
0147デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/19(日) 23:19:59.71ID:7RBNWPmYMソースがファイルだろうがシートだろうがメモリだろうが同じ話だよ
行列の加算なら形が違うのはおかしい
形が同じならおかしくない
シーケンスの比較なら形が違ってもおかしくない
0148デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 23:23:12.41ID:7xRC3K/l0Function FuncX(配列A, 配列B)
という関数があって、配列Aと配列Bが同じLBoundであるべきだ、っていうのはまあその通りさ。
俺が言っているのは、FuncXのユーザーがふたつの配列を渡したいんだけど、片方はLBound=0で他方はLBound=1のとき困るから
LBoundを0に変える関数を用意してあげる、っていう意味だぞ?
0149デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 23:24:32.61ID:7xRC3K/l0「形」って何だよ?定義してくれ
0150デフォルトの名無しさん (ワキゲー MM1f-Rf/L)
2017/03/19(日) 23:28:59.32ID:21BNG92vM102のmydataの型は配列ではなくrange
そのため1スタート
その他の表にとらわれない型は0スタート
これだけの話
0151デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/19(日) 23:30:39.84ID:7RBNWPmYMエラーにする
オフセットを指定するようにする
配列ではなく別の抽象コンテナを作って配列をラップする
下限が違うのに勝手に下限を揃えて処理をするなんて直感に反するよ
0152デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/19(日) 23:32:15.63ID:7RBNWPmYM2つの配列の各次元の下限上限が同じならそれらを同じ形とする
0153デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 23:35:33.45ID:7xRC3K/l0それは単に不便だ。
セル範囲由来の配列を使う場面は多い。
>>152
俺の定義は違うな
「2つの配列の各次元のサイズが同じならそれを同じ形とする」だ
0154デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 23:38:27.57ID:7xRC3K/l0「勝手に」とか「直感に反する」とかいうのがまさに主観的過ぎてついていけませんね
0155デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 23:41:41.40ID:7xRC3K/l0とかいうのも微妙におかしな主張であるな
0156デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/19(日) 23:43:39.33ID:7RBNWPmYM視覚にとらわれすぎ
>>154
重要な考え方だぞ
0157デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/19(日) 23:48:55.28ID:7RBNWPmYM伝統的で直感に反することなく要求を満たしている方法の筈だが?
無論最初にあげたようにエラーにするのが最も安全だ
とはいえオーバーヘッドを避けたい場面もあるからな
0158デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/19(日) 23:49:28.78ID:7xRC3K/l0どうでもいいよ。
単に「不便だ」、と言っている。
ユーザーにとってLBoundが違うだけでFuncXが使えないのが不便と感じるなら
LBoundを0に変える関数を用意したから使ってね、というだけのこと。
もしくは 範囲.Value をラップして LBound=0の配列を返す関数を用意するとか。
「勝手にLBoundを変えるな」とか「直感に反する」とかどうでもいいや。俺はな。
0159デフォルトの名無しさん (ワキゲー MM1f-Rf/L)
2017/03/19(日) 23:53:47.80ID:21BNG92vM様々な視点があるからモノは準備はしておいて
使うかどうかは利用者に任せるよってスタンスなのね
0160デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/19(日) 23:55:52.03ID:7RBNWPmYMそれなら別にいいぞ
勝手に変換かけたりクライアント視点で直感的でない法則で比較したりしなければな
そういうことをやると後々不便になるから
0161デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/19(日) 23:58:05.08ID:Lj5IhMr80こういう人たちが目につくからVBAerって嫌われるんだろうな
>>158
俺は君の感覚のほうが普通だと思うぞ
0162デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/20(月) 00:35:09.06ID:vLjOgWLd0LBound=0の配列xのx(0)とLBound=1の配列yのy(1)は相対的に同じ位置なんだし。
0163デフォルトの名無しさん (ワッチョイ bf3c-12+v)
2017/03/20(月) 00:43:50.45ID:AEJU+djn0むしろ誰か>>150へ突っ込んでやれw
0164デフォルトの名無しさん (ワッチョイ ef5b-ZN0E)
2017/03/20(月) 04:43:30.15ID:Kbki2X9l0はあ?
何が面倒なの?
全く面倒じゃ無いだろ。
ArrayCのLBoundは0にするだろ。
お前は基本0始まりじゃ無かったのか?
お前のルールでは範囲.Valueの時だけだろ1始まりにするのは。
0165デフォルトの名無しさん (ワッチョイ 0364-12+v)
2017/03/20(月) 05:53:42.73ID:l0Ltc5750せめてケースを限定して取り扱い方を議論してくれ。
0166デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 07:01:39.79ID:LcNjV7jZ0普通に i を 0 ベースにして
ArrayC(i+LBound(ArrayC)) = ArrayA(i+LBound(ArrayA)) + ArrayB(i+LBound(ArrayB))
ってやればいいだけでしょ
面倒なのはわかるけどそんな箇所がはそうたくさんにならないだろ
> ArrayC のLBoundを
> 何にするかが問題になる。
何が問題なのかさっぱりわからん
0167デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/20(月) 07:18:38.16ID:vLjOgWLd00168デフォルトの名無しさん (ワッチョイ bf7b-WisJ)
2017/03/20(月) 11:42:03.16ID:SDewNJ4f0何で複雑にやろうとするんだよ。
0169デフォルトの名無しさん (ワッチョイ bf7b-QRqU)
2017/03/20(月) 13:15:05.95ID:LXO+ChBL0>>125
関数と演算子って何が違うん?
基地外じゃないけど糖衣構文なだけで一緒に見えるが。
0170デフォルトの名無しさん (ワッチョイ 0364-12+v)
2017/03/20(月) 13:37:39.53ID:l0Ltc5750処理的にも概念的にも同じものだけど、
初心者に教える際に同じものとして教えてしまうと、
+ A,B
Ary = "A,B,C,D" Split ","
等の表記が何故出来ないのかっていう疑問にぶつかっちゃうからじゃない?
0171デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 13:54:11.51ID:LcNjV7jZ0同じだと言えば同じだし
違うと言えば違う
比較項目を決めないと意味がないよ
0172デフォルトの名無しさん (スップ Sddf-Ma5U)
2017/03/20(月) 13:56:37.31ID:2XxH75njd出来てもおかしくないし採用するしないの違いだけ
0173デフォルトの名無しさん (ワンミングク MM5f-CJUg)
2017/03/20(月) 13:59:08.25ID:6Q778giHMCallByName
0174デフォルトの名無しさん (ワッチョイ bf3c-12+v)
2017/03/20(月) 14:02:37.39ID:AEJU+djn0「VBAでは」演算子のことを普通は関数って呼ばないでしょって話。
>>170が書いてくれた理由にて。
Common Lispみたいな言語なら別に違和感ないんだけどね。
0175デフォルトの名無しさん (ワンミングク MM5f-CJUg)
2017/03/20(月) 14:07:44.05ID:6Q778giHM演算子は呼び出せない
関数は名前がある
演算子は名前がない
0176デフォルトの名無しさん (ワッチョイ bf3c-12+v)
2017/03/20(月) 14:09:55.53ID:AEJU+djn0あと、リファレンスなんかではOperatorとFunctionって別個の項目に書かれてない?
VBAのその辺のリファレンス見たことないけどw
0177デフォルトの名無しさん (ワッチョイ 234b-WisJ)
2017/03/20(月) 14:48:21.64ID:ONBQjivu0名前の有無って言い方はおかしい
機能と文字列が対応してるって意味では同じ
記号だって文字列のうちだし、例えばAnd演算子なんか英単語そのもの
結局はオペレータとオペランドを並べる順番だとか、わかりやすさだけの問題
最後は宗教か哲学の話に行き着く
0178デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 14:53:46.56ID:LcNjV7jZ0> VBAのその辺のリファレンス見たことないけどw
Function
https://msdn.microsoft.com/en-us/library/office/jj692811.aspx
Operators
https://msdn.microsoft.com/en-us/library/office/gg278416.aspx
0179デフォルトの名無しさん (ワンミングク MM5f-CJUg)
2017/03/20(月) 15:04:02.62ID:6Q778giHMコンパイラの動作を考えれば分かるでしょ
関数は名前をつけて他から参照できるように処理する
演算子はその場で計算されるか対応するニーモニックに置き換えられる
関数と演算子じゃやってる事が全く違うんだよ
Andが英単語とかトンチンカンな事を言うな
0180デフォルトの名無しさん (ワンミングク MM5f-CJUg)
2017/03/20(月) 15:07:05.39ID:6Q778giHMこれ重要な
0181デフォルトの名無しさん (ワッチョイ 234b-WisJ)
2017/03/20(月) 15:10:26.39ID:ONBQjivu0結局はコンパイラにどこまで処理させるかっていう設計上の問題に過ぎない
たとえば足し算を
Plus(a, b)
みたいな関数的な書き方にしようと思えば相互に変換可能だし得られる結果も等価
結局は慣れ、あるいは宗教
0182デフォルトの名無しさん (スップ Sddf-Ma5U)
2017/03/20(月) 15:23:29.41ID:2XxH75njd0183デフォルトの名無しさん (ワンミングク MM5f-CJUg)
2017/03/20(月) 15:26:30.29ID:6Q778giHM相互に変換不可能
CallByNameは演算子を使えないぞ
0184デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 15:35:54.51ID:LcNjV7jZ0Variant に対する演算は1命令じゃできなくて内部の処理ルーチン呼び出すから関数とやることはたいして変わらんよ
C とかなら一部の関数はインライン展開したりもするし
0185デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 15:37:35.97ID:LcNjV7jZ0だからそれはシンタックスの問題
C++ なら演算子を関数のように呼び出したりもできる
0186デフォルトの名無しさん (ワンミングク MM5f-CJUg)
2017/03/20(月) 16:02:06.14ID:6Q778giHMoperator +は関数のように扱えるが+演算子はそうではないだろ
つうか今はVBAの話だらな?
0187デフォルトの名無しさん (ワッチョイ 0364-12+v)
2017/03/20(月) 16:09:51.07ID:l0Ltc5750「僕の考えた最強の分類」を語るべきでは無い。
0188デフォルトの名無しさん (ワッチョイ 33b2-12+v)
2017/03/20(月) 17:02:37.76ID:X7rTJWAq00189デフォルトの名無しさん (スップ Sddf-Ma5U)
2017/03/20(月) 17:14:25.70ID:2XxH75njdYes.
あるべき論じゃないもんな
0190デフォルトの名無しさん (スップ Sddf-Ma5U)
2017/03/20(月) 17:22:50.30ID:2XxH75njd0191デフォルトの名無しさん (ワッチョイ 234b-WisJ)
2017/03/20(月) 17:53:48.96ID:ONBQjivu0「言語を作った人がそう決めたから」「丸暗記するかマニュアルを見るしかない」
てことになる
あんまり合理性はなく、むしろ歴史的な理由の方が大きい
結局は人間が適当に、あるいはリソースが少なかったために仕方なく決めたこと
言語によって使える演算子は違うし、関数だって初期のMS-BASICでは使えないか貧弱だった
0192デフォルトの名無しさん (ワッチョイ 73da-12+v)
2017/03/20(月) 17:54:11.68ID:kdixSjkW0>>101
そうですね、Outの内容を確認してみます。
リトライ前後でOutの内容は同じはずと思いこんでてやってませんでした。
>>103
了解しました。変数の内容を確認してみます。
debug.assert って初めて知りました。なんか便利そうです。
>>127
よくあることなんですか?再起動しか解決方法はないんですか?
できればコード修正でエラーを防ぎたいのですが・・・
0193デフォルトの名無しさん (ドコグロ MM1f-3fK7)
2017/03/20(月) 18:16:47.53ID:WHkWYxkrM0194デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 18:21:21.83ID:LcNjV7jZ0> operator +は関数のように扱えるが+演算子はそうではないだろ
何を言ってるんだ?さて
operator は演算子を定義するキーワードだぞ
> つうか今はVBAの話だらな?
と言うなら >>188 (>>178) で終わりだろ
0195デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/20(月) 18:29:48.60ID:vLjOgWLd00196デフォルトの名無しさん (ワンミングク MM5f-CJUg)
2017/03/20(月) 18:30:42.95ID:6Q778giHMc++やり直してこい
0197デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 18:39:12.73ID:LcNjV7jZ0そんなレスしかできないなら黙ってろ
0198デフォルトの名無しさん (ワンミングク MM5f-CJUg)
2017/03/20(月) 18:53:46.84ID:6Q778giHMいやほんとやり直してきた方がいいよ
君の知ってるc++っておかしいから
0199デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 19:41:59.64ID:LcNjV7jZ0どこがおかしいのかも指摘できないなら黙ってろ
0200デフォルトの名無しさん (ワンミングク MM5f-CJUg)
2017/03/20(月) 20:01:28.22ID:6Q778giHMレス読めよ
もう書いてあるだろ
0201デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 20:07:28.18ID:LcNjV7jZ0低能のやり口乙
レス番示して引用してみ
0202デフォルトの名無しさん (ワンミングク MM5f-CJUg)
2017/03/20(月) 20:16:19.09ID:6Q778giHM>>194
0203デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 20:38:28.41ID:LcNjV7jZ0で、どこがおかしいのかも書けないのかよ
バカですか?
0204デフォルトの名無しさん (ワンミングク MM5f-CJUg)
2017/03/20(月) 20:44:51.60ID:6Q778giHMだから>>194見なよ書いてあるから
もしかしてそういう芸風なの?
0205デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 21:10:42.30ID:LcNjV7jZ0やっぱり具体的に指摘できないのな w
どうせそのまま逃げ回るんでしょ
0206デフォルトの名無しさん (ワンミングク MM5f-CJUg)
2017/03/20(月) 21:20:00.80ID:6Q778giHM既に具体的に書いてあるじゃん
なんで見ないふりするのよ
0207デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/20(月) 21:31:12.17ID:vLjOgWLd00208デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 21:39:03.23ID:LcNjV7jZ0はい逃げた w
0209デフォルトの名無しさん (アークセー Sx97-tW1y)
2017/03/20(月) 22:46:05.48ID:AEzdqyypxマウンティング大会の勝者はだれw
0210デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/20(月) 23:15:23.23ID:vLjOgWLd00211デフォルトの名無しさん (ドコグロ MM1f-3fK7)
2017/03/20(月) 23:33:47.39ID:oLSEmtobM0212デフォルトの名無しさん (ワッチョイ 0364-12+v)
2017/03/21(火) 01:08:04.88ID:gDv70PB600213デフォルトの名無しさん (アークセー Sx97-tW1y)
2017/03/21(火) 09:32:12.88ID:9jHYTXobx勝者はいないのかな?
時間掛けてなにも分からずw
0214デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/21(火) 09:57:56.10ID:ilj7cuzd0>>207
0215デフォルトの名無しさん (ブーイモ MMdf-tW1y)
2017/03/21(火) 10:02:29.55ID:g2yQnV2GMサンキュー
0216デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/21(火) 10:29:49.19ID:upZZF7qfa結果出たら教えてね
0217デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/21(火) 12:47:48.47ID:ilj7cuzd00218デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/21(火) 12:55:45.22ID:upZZF7qfa日付時刻型は数値に変換はできるけど数値ではないだろそりゃ
0219デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/21(火) 13:08:11.44ID:ilj7cuzd0IsNumeric(Empty)とIsNumeric("999")はTrue
IsNumeric(Null)とIsNumeric(Nothing)はFalse
これでDate型がNumericでないのは気に食わない
0220デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/21(火) 13:10:56.31ID:ilj7cuzd0も一つ忘れてた
IsNumeric(True)とIsNumeric(False)もTrue
0221デフォルトの名無しさん (ワッチョイ bfa8-12+v)
2017/03/21(火) 13:15:49.31ID:sHA4zKwN0文句いいたきゃMSに言え
0222デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/21(火) 13:21:09.80ID:ilj7cuzd0だからこういう場所で言ってんじゃんかよw
0223デフォルトの名無しさん (ワキゲー MM1f-Rf/L)
2017/03/21(火) 13:23:41.95ID:anlqUc4mM0224デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/21(火) 13:40:43.95ID:ilj7cuzd0さあ。
気に食わないから呟いただけで、賛同者がいなくて話題が続かなければ引っ込むまでさ
0225デフォルトの名無しさん (スップ Sddf-Ma5U)
2017/03/21(火) 15:14:53.68ID:62+JQA0Hdじゃあさ、
CLng(#2017/3/21#) = CLng("42815") = 42815
なんだけど、お前は #2017/3/21# と"42815"のどっちが「数値らしさ」が上だと思う?
0226デフォルトの名無しさん (ワッチョイ 33b2-12+v)
2017/03/21(火) 15:47:43.28ID:HrPLjJur0V = "12345"
?IsNumeric(V) ・・・Trueになる
V = #1/1/2017#
?IsNumeric(V) ・・・Falseになる
これで困る場面を必死に考えたけど、全く思い当たらなかった。
普通は日付かどうかはVarType()かTypeName()で判定するし、実際どんな時に気に食わないんだろうか。
仕様が気に入らない=>VarTypeの存在を知らなかっただけ?
0227デフォルトの名無しさん (JP 0H7f-v8EU)
2017/03/21(火) 15:54:46.88ID:xokVubGZH0228デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/21(火) 16:39:11.35ID:ilj7cuzd0見た目上で言えば"42815"の方が#2017/3/21#より整数らしい。それはそうだ。
#2017/3/21#がどんな整数になるかは変換してみるまでわからない。
しかし"型"で言えば常に数値変換できる日付型の方が値によっては数値にならない文字列型より
「数値らしさが上」だろうね。
>>226
IsNumeric=Trueが相応しい型は
Integer, Long, Double, Single, Currency, Date, Boolean だろう。
それを判定するたの条件がめんどくさいじゃないか。
0229デフォルトの名無しさん (スップ Sddf-Ma5U)
2017/03/21(火) 16:48:21.45ID:62+JQA0Hdそうかい。別に否定はしない。
0230デフォルトの名無しさん (ワキゲー MM1f-Rf/L)
2017/03/21(火) 16:55:27.50ID:anlqUc4mMおまえの考える「ふさわしさ」とVBAの仕様は異なってるってだけの話
おまえのふさわしさを発揮したければそのルールを採用している言語で開発すればいい
このスレはVBAの質問スレだ
おまえの理想を語る場ではない
0231デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/21(火) 16:59:33.62ID:ilj7cuzd0これまでの流れを見てこういう発言をしてるんだがね。。。
0232デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/21(火) 17:02:07.12ID:ilj7cuzd0「IsNumeric(日付型)はTrue であるべきだ」
に賛同の声が集まらないことに驚きを禁じ得ないねw
0233デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/21(火) 17:14:25.76ID:upZZF7qfa0234デフォルトの名無しさん (ワッチョイ 2374-WisJ)
2017/03/21(火) 17:44:02.71ID:eec8ZFhb00235デフォルトの名無しさん (イモイモ Seff-u6wT)
2017/03/21(火) 18:18:24.25ID:TjPLkVctehttps://msdn.microsoft.com/ja-jp/library/office/gg264560.aspx
> 解説
> IsNumeric は、expression 全体が数値として認識される場合は True を返し、それ以外の場合は False を返します。
> expression が日付式の場合、IsNumeric は False を返します。
0236デフォルトの名無しさん (JP 0H7f-v8EU)
2017/03/21(火) 18:38:56.03ID:xokVubGZH・・・そして混沌へ。
0237デフォルトの名無しさん (ワッチョイ bfd4-eowZ)
2017/03/21(火) 18:42:39.01ID:ImIzgaAk0常に前面配置したユーザーフォームのテキストエリアに、他ブックも含めて現在選択しているセルの値をリアルタイムで反映させたい。
他ブックは、数千単位であって、全部にマクロをかけない。また、他ブックの名前は統一されていない。
ThisWorkbook に、
Private Sub Workbook_Open()
UserForm1.Show vbModeless
End Sub
Sheet1 に、
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UserForm1.TextBox1.Text = Cells(ActiveCell.Row, ActiveCell.Column)
End Sub
上記で、開いたブックのシート内なら、リアルタイムで書き込める。でも、このselectionchangeイベントは、そのシート内のセル選択にしか反応してくれない。
また、ユーザーフォームのコマンドボタンに、
Private Sub CommandButton1_Click()
Dim telno As String
telno = ActiveWorkbook.ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column)
UserForm1.TextBox3 = telno
という風に書き込めば、ボタンを押すことで他ブックのセルを選択していても、そのセルの値を書き込める。
ボタンを押さなくても、他ブックのセルを選択することで、リアルタイムに数値を書き込む方法を教えてくだせぇ。
0238デフォルトの名無しさん (ワッチョイ 33b2-12+v)
2017/03/21(火) 18:51:46.93ID:HrPLjJur0Cellsオブジェクトなどは、ブック、シートを省略すると自動的にActiveWorkbook、ActiveSheetが対象となる。
つまり、ヒントをあげるとするなら
Dim WB as Workbook
For Each WB in Workbooks
Debug.Print WB.ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column)
Next
とすると、現在選択中のアドレスがA1なら開いている全ブックのアクティブシートのA1に記載された値がイミディエイトウィンドウに出力されます。
0239デフォルトの名無しさん (ワッチョイ 33b2-12+v)
2017/03/21(火) 18:56:53.32ID:HrPLjJur0他ブックのSelectionChangeイベントを拾いたい場合、クラスモジュールで
Public WithEvents App As Applicationの定義が必要
説明が面倒なので「WithEvents」で検索して
http://www.geocities.jp/vbaxl/sample/012.html
とかの記事を参考にやってみたまえ
0240デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/21(火) 19:01:18.37ID:jV0Y+t/Y0ApplicationレベルでSelectionChangeイベント拾える?
0241デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/21(火) 19:03:08.70ID:jV0Y+t/Y0SheetがActiveになったタイミングでコードを注入するかどっちかかな
0242デフォルトの名無しさん (ワッチョイ 53a6-tpgq)
2017/03/21(火) 19:06:21.66ID:ilj7cuzd0IsNumeric(Empty) → True
Empty = 0 → True
IsEmpty(0) → False
すでに混沌
0243237 (ワッチョイ bfd4-eowZ)
2017/03/21(火) 19:07:35.61ID:ImIzgaAk0今日はもうおうち帰る。上で書いてあること明日試して、上手くできなかったらまたくるます。
SheetがActiveになったタイミングでコードを注入するってのは、メインのブックに戻ってきたときって
ことかな?
ユーザーフォームを最前面に表示しているから、ユーザーフォームを置いているメインのブックはアクティブにはならないんですよね
0244デフォルトの名無しさん (ワントンキン MM5f-CJUg)
2017/03/21(火) 19:10:28.34ID:RrALGwywM0245デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/21(火) 19:11:57.70ID:jV0Y+t/Y0SheetChangeとかApplicationレベルのイベントを活用する
0246デフォルトの名無しさん (ワッチョイ bf3c-y/cv)
2017/03/21(火) 19:12:47.23ID:jV0Y+t/Y0お、拾えるのね
0247デフォルトの名無しさん (ドコグロ MM57-3fK7)
2017/03/21(火) 19:19:57.02ID:72kEtT2QMボタンの代わりにタイマーとかで更新しまくればいいんじゃね
0248デフォルトの名無しさん (アウアウオー Sa1f-rTqZ)
2017/03/21(火) 19:36:04.72ID:upZZF7qfa最後の最後の最後の手段だろ
0249デフォルトの名無しさん (ワッチョイ 531e-tpgq)
2017/03/21(火) 19:47:35.23ID:pOexkesp00250デフォルトの名無しさん (ワッチョイ bf92-WisJ)
2017/03/21(火) 23:20:44.64ID:8T5Lb3B400251237 (ワッチョイ bfd4-eowZ)
2017/03/22(水) 16:53:14.53ID:ZwY56S9Z0ありがとう。できたわ。詳しい仕組みはよくわからんけど、意図したとおりに動いてるからいいか。
まさかVBAでオブジェクト指向するとは思わんかったっすわ。
ところで、他ブックからの参照なんて、デフォルトで対応していていいと思うんだけど、あえてしてないのは、
何かデメリットなり不都合なりがあるからなのかね? 教えて239!
0252239 (ワッチョイ 33b2-12+v)
2017/03/22(水) 17:45:40.05ID:ffkhDjHj0俺も最初気持ち悪いとは思ったけど、そういうもんだと覚えるしかないで。
「他ブックからの参照がデフォルトで対応していない」って思った理由が良くわからないけど、
VBAのオブジェクトはApplication>Workbook>Worksheet>RangeやShapeなど・・と階層構造になっているので、モジュールで省略したらすべてActive〜になる。
ThisWorkbookモジュールでRangeと書くとThisWorkbook.ActiveSheet.Rangeと同等になるし
SheetモジュールのRange()はMe.Rangeと同等になる。
VBAのイベント名は固定で勝手に関連付けされるからワークブックの指定なんて出来ないし、強引に他ブックのイベントを拾おうと思うとClassでWithEventsで一風変わった形式になるのも止む終えないかなと思う。
0253デフォルトの名無しさん (JP 0H7f-v8EU)
2017/03/22(水) 18:19:04.60ID:mdyqPZUSH> ところで、他ブックからの参照なんて、デフォルトで対応していていいと思うんだけど、あえてしてないのは、
> 何かデメリットなり不都合なりがあるからなのかね?
究極的には、ビルゲイツの美意識にあわなかったからじゃないかと思う。
ビルゲイツがVBAの仕様レビューをしたときの話:
http://local.joelonsoftware.com/wiki/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AEBillG%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%81%AE%E3%81%93%E3%81%A8
0254デフォルトの名無しさん (JP 0H7f-v8EU)
2017/03/22(水) 18:28:40.33ID:mdyqPZUSH最初のバージョンのVBA(Excel 5.0時代)がすでにそうだったのかも。
イベントが上に伝播すると、上に伝播されると困るところでそれを止めるというコードをいたるところで書かなければならない羽目になったりする。
(javascriptのpreventdefault()とか)
0255デフォルトの名無しさん (ワッチョイ bfaa-p9iL)
2017/03/22(水) 18:47:07.37ID:3v9b3PRy0>Lotusマクロはワークシートのセルに長々と入れられたキーストロークの並び以外の何物でもなかった
んでもねぇ、Lotus123ユーザーだったら分かると思うけどOffice向けソフトウェアとしての出来は圧倒的にLotusが優れていたよ。
0256237 (ワッチョイ bfd4-eowZ)
2017/03/22(水) 18:48:33.49ID:ZwY56S9Z0とか思ったんだけど、たしかに親子関係考えるとおかしいのかもね。
superさんは偉いということですか。
なんにせよ、やりたいことはできたから良しですわ。ありがとん
0257デフォルトの名無しさん (ワッチョイ 33b2-12+v)
2017/03/22(水) 18:57:26.31ID:ffkhDjHj0Superと言えば、VBAではRange.Parentでシートオブジェクト取れるし、Range.Parent.Parentでブックオブジェクト取れるで!
0258デフォルトの名無しさん (ワッチョイ bfaa-p9iL)
2017/03/22(水) 19:33:22.68ID:3v9b3PRy0デンコードーに走った。「Microsoft Excel」と書かれたパッケージを見つけて値札を見たら「3,480」に見えたので
即座にレジに持って行ってビックリ、34,800円!
「えっ、そんなに高けえの?」と店員に言ったら苦笑いしながら「ロータスのこれ、良いですよ。マイクロソフトオフィスとの互換性
もバッチリだし」と言われて買ったのがLotusSuperOffice2000だった。7,980円だったと思う。
何が良いって、シート関数がエクセルとはくらべものにならないぐらい優れていて、エクセルのSUMIFとか「なんでこんなクソ高いシロモノが条件一つしか指定出来ねえんだよ」と言いたくなるほどの出来だった。だって、単純な集計処理だったらANDでいくらでも条件をネストできるんだからマクロなんて必要なかったんだ。エクセルだったら当時は二つ以上の条件で合計を出す時は
配列数式?でやるかマクロを書くしか無かった。
個人的な意見だが、ビル・ゲイツは天才営業マンで商人としては凄かったんだろうがソフト屋としては二流なんじゃねえかと。
不味い食い物ばっか売ってるイオングループが日本の小売業界トップなのと被るね。
0259デフォルトの名無しさん (スップ Sddf-Ma5U)
2017/03/22(水) 20:20:33.14ID:ZF7PxTXkd0260デフォルトの名無しさん (ワッチョイ 2374-WisJ)
2017/03/22(水) 20:23:38.85ID:sbuoUxmo00261デフォルトの名無しさん (ワッチョイ bf72-QGOz)
2017/03/22(水) 23:32:43.84ID:XGhQwYf/0Excel2016使ってます
ネットのマクロいろいろめしてみたけどうまくいかなかった
惜しかったのがあったけど範囲選択したところが拡大されて画像化されちゃった
0262デフォルトの名無しさん (ワッチョイ 2374-WisJ)
2017/03/22(水) 23:41:35.49ID:sbuoUxmo0CubePDFで変換
0263デフォルトの名無しさん (ワッチョイ 034c-12+v)
2017/03/22(水) 23:46:12.21ID:dFQUDVA10With使う時は自身への参照を持っていてくれると綺麗にまとまる場合が多いんだよな。
全てのオブジェクト型に自己参照"This"を実装してほしいくらい。
0264デフォルトの名無しさん (ワッチョイ aa92-qwxs)
2017/03/23(木) 00:39:31.79ID:fjk8NBgx0エクセルとロータスにも、
プレステとサターンみたいな争いがあったということですね。
よくわからないけど。
0265デフォルトの名無しさん (アウアウウー Sa3f-Osuh)
2017/03/23(木) 01:03:56.69ID:aP6AqsDEaたぶんもう見てると思うけど、このサイトの方法でできます。
ttp://www.excel-excel.com/tips/vba_186.html
0266デフォルトの名無しさん (ワッチョイ aaf2-KZ3C)
2017/03/23(木) 02:03:50.76ID:iwKD8Hm60Joel on softwareみりゃわかると思うけど、BillGはクソ細かい仕様まで把握していた
ゲイツはExcelとLotusでは西暦の起点が違うことを把握していた
(LotusのチームはビットシフトでごまかしてたがExcelチームはキチンとした、程度の意味)
こりゃプログラマだ
0267デフォルトの名無しさん (ワッチョイ aa72-URLc)
2017/03/23(木) 06:22:40.54ID:vaDKEBcS0これもやってみてうまく動かなかったけどもう一度やってみる!
ありがとー!
0268237 (ワッチョイ aad4-zBVa)
2017/03/23(木) 13:37:06.70ID:n8VArJDy0へぇ〜、そうなんだ。こんなどうでもいいネタにまで付き合ってくれてどうも。
割といろいろできるのんね。所詮ベーシックでしょ、と思ってたわすまんのVBA
0269デフォルトの名無しさん (ワッチョイ 2a35-ZYFz)
2017/03/23(木) 13:39:30.32ID:bb5P/wmt0たぶんF2で利用できるオブジェクトブラウザかどこかに載っているのだと思うけど。
・色
黒はvbBlack、赤はvbRedと暗記してるけど、オレンジとか水色とかマイナーな色たちはいちいち調べないといけない。
・Endで移動する方向
→あっ、これはオブジェクトブラウザですぐ見つかった
などなど。
オブジェクトブラウザの下の蘭でクリックできるものがあればEndのように簡単にみつかるけど
そうでないことがよくあったので。
0270デフォルトの名無しさん (ワッチョイ 2a35-ZYFz)
2017/03/23(木) 13:46:36.51ID:bb5P/wmt0RangeのメソッドCollapseには引数が必要でその引数にはWordの元からある定数を指定しないといけない。
でもWordのオプジェクトブラウザの下の蘭には単に「Sub Collapse([Direction])」としか書いてなくクリックできない。
でもここのDirectionにはwdCollapseStartかwdCollapseEndを入れる必要がある。
その調べ方は?
というところでつまづいてて、そういやExcelでもこういう困り方をしたことは多々あったなと思って。
0271デフォルトの名無しさん (アウアウオー Sae2-fuL5)
2017/03/23(木) 13:53:51.17ID:SzpAfZmQaオブジェクトブラウザでEnumかなんかで調べたら出てこない?
色ならvbColor列挙体じゃなかったっけ
うろおぼえですまんけど
0272デフォルトの名無しさん (JP 0Hb6-aw5l)
2017/03/23(木) 13:56:50.41ID:1Qddb7ZOHIDEでCollapseとタイプしてF1
RTFM
0273デフォルトの名無しさん (ワッチョイ 2a35-ZYFz)
2017/03/23(木) 13:58:07.78ID:bb5P/wmt0ありがとうございます。
はい、excelだとオブジェクトブラウザの左のクラスのところで「XlRgbColor」を調べると
無数の色の定数が知ることができます。
でもそれは色だから簡単に調べることが出来ました。
オブジェクトブラウザでvbRedで検索したらたどりつけたから。
でもそれは色だから簡単に分かったけど
そうじゃない場合はその列挙体に相当する「XlRgbColor」みたいなのをどうやって探すかというのが質問の焦点です。
0274デフォルトの名無しさん (ワッチョイ 2a35-ZYFz)
2017/03/23(木) 14:05:18.23ID:bb5P/wmt0F1押してからCollapseとタイプでは?(ワラ。
あとRTFMとは? you are Really Tallented Fantastic Mathmatician?
0275デフォルトの名無しさん (アウアウオー Sae2-fuL5)
2017/03/23(木) 14:08:02.28ID:SzpAfZmQa列挙体、定数の具体的な値(vbRedとか)で検索すれば出てくるっしょ
MSDNで検索しても出てくると思うし
0276デフォルトの名無しさん (アウアウオー Sae2-fuL5)
2017/03/23(木) 14:08:21.97ID:SzpAfZmQa0277デフォルトの名無しさん (JP 0Hb6-aw5l)
2017/03/23(木) 14:10:27.59ID:1Qddb7ZOH> F1押してからCollapseとタイプでは?(ワラ
笑ってる暇があったら、試してみたらどうかね
0278デフォルトの名無しさん (ワッチョイ 2b44-rs+5)
2017/03/23(木) 14:15:12.06ID:LmZ8p62R0https://support.microsoft.com/ja-jp/help/239930/how-to-obtain-built-in-constant-values-for-an-office-application
0279デフォルトの名無しさん (ワッチョイ 2a35-ZYFz)
2017/03/23(木) 14:16:20.18ID:bb5P/wmt0いやさっきのWordの例だとwdCollapseStartやwdCollapseEndを忘れてるから検索のしようがない。
こんな場面はExcelのVBAでもいままでに何回もあった、という話なのですが。
そりゃ色だと知ってるものがあれば検索するという技は使えますが。
0280デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/23(木) 14:16:37.32ID:UAdpg5mq01.大半の列挙体の名前はエクセルなら「xl」、ワードなら「wd」+メソッド名なので、予想して入力してCtrl+Space
2.1に失敗したらオブジェクトブラウザでメソッド名か、引数名で検索
3.普通にメソッド名でググる
マクロの記録から生成したのであれば、何らかのメンバ名が分かってるわけなので、「wdCollapseStart」をオブジェクトブラウザで検索すれば一発出でるね
0281デフォルトの名無しさん (JP 0Hb6-aw5l)
2017/03/23(木) 14:20:56.54ID:1Qddb7ZOHまずマニュアル見ろよ。
0282デフォルトの名無しさん (ワッチョイ 2a35-ZYFz)
2017/03/23(木) 14:26:08.56ID:bb5P/wmt0みんなわたしのやりたいことがわかっていないようだ。
オレはExcelやWordでいろんな作業をするとき数秒から1分くらいでやりたいわけ。
そのときVBAでコードを書いて一瞬で処理したいわけだ。
その一瞬ですますためにコードの引数などで定数の名前を忘れたときに簡単に調べる方法を聞いている。
マニュアルとか検索は、全くの初心者がはじめて事柄を学ぶときに有効。
いま聞いてるのは、やりかたや処理は分かってて、定数の名前を瞬時に知る方法。
0283デフォルトの名無しさん (アウアウオー Sae2-fuL5)
2017/03/23(木) 14:44:49.83ID:SzpAfZmQa自分で勝手にライブラリ作るしかなくねえかそんなの
一覧を取得する方法ならググりゃ出てくるが
ある程度はクラス名とか定数名でわかるように作ってあるんだからもうそっから先はじぶんで工夫する以上のことはできないだろ
0284デフォルトの名無しさん (ワッチョイ ea3c-EscV)
2017/03/23(木) 15:06:49.95ID:mxf1LURC0Sub Collapse([Direction]) じゃなくて
Sub Collapse([WdCollapseDirection]) になってればいいんだけどね
オブジェクトブラウザでCollapseで検索にするかDirectionで検索するか
Collapseで検索すれば一番最初にWdCollapseDirectionが出てきた
0285デフォルトの名無しさん (JP 0Hb6-aw5l)
2017/03/23(木) 15:08:41.10ID:1Qddb7ZOH> マニュアルとか検索は、全くの初心者がはじめて事柄を学ぶときに有効。
マニュアルの使い方も知らなかったくせに、何言ってんだか。
> 定数の名前を瞬時に知る方法。
F1で瞬時にマニュアルが開き、すぐにこう書かれてるのを目にするだろう。
> 指定範囲または選択範囲を解除する方向です。WdCollapseDirection定数は、
> 次のいずれかをすることができます: wdCollapseEndまたはwdCollapseStartです。
> 既定値はwdCollapseStartです。
RTFM? ggrks
0286デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/23(木) 15:14:09.35ID:UAdpg5mq0いや、だから一瞬で知りたいときは、wd+メソッド名頭文字打ってCtrl+Spaceだってば。
初見じゃないならこれぐらいできるだろ
それすら暗記できないならおとなしくF1押してマニュアル読んどけ
馬鹿でも10回も繰り返せば覚えるだろう
0287デフォルトの名無しさん (オイコラミネオ MMf6-n7o1)
2017/03/23(木) 15:15:48.69ID:PawQYZEHMコード例があればうれしい
0288デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/23(木) 15:22:44.15ID:UAdpg5mq0っマクロの記録・・・
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 233.25, 234, 274.5, 146.25).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:="C:\aaa.xls"
0289デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/23(木) 15:25:01.73ID:UAdpg5mq0Selectしなくても動いたわ
ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Shapes.AddShape(msoShapeRectangle, 233.25, 234, 274.5, 146.25), Address:="C:\aaa.xls"
0290デフォルトの名無しさん (ワッチョイ 66a6-VHv+)
2017/03/23(木) 18:21:44.88ID:2WHRd7qq0Select Selectionを使わずにオブジェクト変数をつかって書くとどうなりますか
0291デフォルトの名無しさん (ワッチョイ aa72-URLc)
2017/03/23(木) 23:15:58.88ID:vaDKEBcS0Excel vbaでNotesのメールは作れるんだけど添付ファイルが上手くいかない…
新規メールだと出来ないとかなんとか…
0292デフォルトの名無しさん (ワッチョイ aa92-qwxs)
2017/03/23(木) 23:43:55.59ID:fjk8NBgx0あるとナイス。
0293デフォルトの名無しさん (ワッチョイ 2a35-ZYFz)
2017/03/23(木) 23:54:57.19ID:bb5P/wmt0エクセル内にいっぱい貼ってある写真や図があれば
それをzipにして回答すればjpgファイルとして一括で取り出せる。
0294デフォルトの名無しさん (ワッチョイ 2f4c-7HKf)
2017/03/23(木) 23:57:02.96ID:XZ4v6A+b0Outlookじゃダメなのか?
0295デフォルトの名無しさん (ワンミングク MM9a-1VOV)
2017/03/23(木) 23:59:48.01ID:FkdET+B0M高速読み書き
0296デフォルトの名無しさん (ワッチョイ 5774-qwxs)
2017/03/24(金) 00:01:31.52ID:caJOMCbq0圧縮解凍専用ソフトで再圧縮してファイルサイズを減らして自己満足
0297japansoftware.net (ワッチョイ 4a9e-gpEi)
2017/03/24(金) 00:21:28.15ID:Ka6sWiwW00298デフォルトの名無しさん (ワッチョイ ea3c-EscV)
2017/03/24(金) 02:53:38.32ID:suDsBIm10表技だけどgitで差分比較
0299デフォルトの名無しさん (ワッチョイ 2f4c-7HKf)
2017/03/24(金) 03:07:07.38ID:r1mlMUXS00300デフォルトの名無しさん (ドコグロ MM5b-hXJm)
2017/03/24(金) 06:47:14.99ID:hRC2OOpsM実際にやるとほとんど使い物にならないけどね
>>299
説明書には書いてないけど仕様書はわからんな
昔 Excel にあったイースターエッグなんて仕様書なしでできるとは思えないし
てかどこから裏技が?
0301デフォルトの名無しさん (スップ Sdea-tG8e)
2017/03/24(金) 08:57:26.27ID:cdPP3YHId0302デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/24(金) 10:29:14.81ID:c/RC4PNV0既出もあるけど
・バイナリエディタでDPB="〜"をゴニョゴニョ
・WinMergeなどのツールで差分比較
・普通に開くと破損して書式設定などが消滅してしまうファイルの復元
・良くないファイルをxlsxに埋め込んでバラマキ
・埋め込みの画像の一括抽出
ZIPだから〜と言うより、内部構造がXMLだから汎用ソフトが使えるので色々できるようになったとも言う
0303デフォルトの名無しさん (ワッチョイ 2b5b-M35h)
2017/03/24(金) 15:23:46.17ID:9pPylWGn0http://imgur.com/tUaPTQQ.jpg
0304デフォルトの名無しさん (アウアウオー Sae2-fuL5)
2017/03/24(金) 15:30:28.37ID:lxkR7uxCaマクロの記録
0305デフォルトの名無しさん (スップ Sdea-tG8e)
2017/03/24(金) 16:08:20.78ID:cdPP3YHIdこの「計」って何なんだ?
0306デフォルトの名無しさん (ワッチョイ 2b99-M35h)
2017/03/24(金) 16:33:11.14ID:1dGmf1c20やりましたが、そのまま実行しても上手く出来ませんでした
>>305
営業と事務の合計なんですけど、機密保持のため適当に数字を打ってるのでおかしなことになってますが、気にしないでくださいw
0307デフォルトの名無しさん (アウアウオー Sae2-fuL5)
2017/03/24(金) 17:55:57.96ID:stJCVKXLaどんなコードになってどこで止まるの?
0308デフォルトの名無しさん (ササクッテロリ Spd3-0QwW)
2017/03/24(金) 20:33:05.87ID:h+s0FglGpセルA1に数値を入れると、セルB1からある数値が帰るシートがあります。
この時以下のプログラムを簡単にできないだろうか
ただしkは変数で、初期値0とします。
1)
いまA1に値k-0.1,k,k+0.1をそれぞれいれ、B1の値が最大になるときのA1を次のkにする。
1)に戻る
どなたかお願いします。
0309デフォルトの名無しさん (ワッチョイ aa72-URLc)
2017/03/24(金) 20:34:50.50ID:mVTbO5eq0残念ながらNotesしか無理なんだ…
0310デフォルトの名無しさん (ワッチョイ ea3c-EscV)
2017/03/24(金) 22:11:02.15ID:suDsBIm10終了条件は?
0311デフォルトの名無しさん (ワッチョイ 8323-Qg45)
2017/03/24(金) 22:18:27.74ID:XQ+bYqg60B1の返る条件が分からないから詳しくはわからんけど
0312デフォルトの名無しさん (ワッチョイ 2f14-5sBS)
2017/03/24(金) 22:40:22.97ID:4RUE8vp70Sub Main()
Dim i As Long
For i = 1 To 10000
Call saidai
Next i
End Sub
Private Sub saidai()
Dim k As Double, k1 As Double, k2 As Double
Dim b1_1 As Double, b1_2 As Double,b1_3 As Double
Calculate
k = Range("A1").Value
k1 = k - 0.1
k2 = k + 0.1
b1_1 = Range("B1").Value
Range("A1").Value = k1
Calculate
b1_2 = Range("B1").Value
Range("A1").Value = k2
Calculate
b1_3 = Range("B1").Value
If b1_1 > b1_2 And b1_1 > b1_3 Then
Range("A1").Value = k
ElseIf b1_2 > b1_1 And b1_2 > b1_3 Then
Range("A1").Value = k1
ElseIf b1_3 > b1_1 And b1_3 > b1_2 Then
Range("A1").Value = k2
End If
End Sub
0313デフォルトの名無しさん (ワッチョイ ea3c-EscV)
2017/03/24(金) 22:44:31.10ID:suDsBIm10sude codeだけど
A1 = x
B1 = f(x)
の場合
foo = [a, b, c]
bar = [f(a), f(b), f(c)]
A1 = foo[bar.index(bar.max)]
ただA1の値を新しくするやり方だと
終了条件がないとずっと回ってるかもね
0314デフォルトの名無しさん (ワッチョイ ea3c-EscV)
2017/03/24(金) 22:56:51.04ID:suDsBIm10ぶpseudo code
0315デフォルトの名無しさん (ワッチョイ 66a6-0QwW)
2017/03/24(金) 22:58:10.10ID:0Cra7A6M0313さんぐらいのシンプルさが欲しいのですわ
>313
もう少し詳しくお願いします。
0316デフォルトの名無しさん (ワッチョイ aa92-qwxs)
2017/03/24(金) 23:04:20.85ID:wY6QBO5Y0wwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwww
つい今日、俺もそんな表からグラフ作らされたわwwwwwwwwwww
作りにくいったらありゃしないwwwwwwwww
0317デフォルトの名無しさん (ワッチョイ ea3c-EscV)
2017/03/24(金) 23:45:07.41ID:suDsBIm10配列[f(a), f(b), f(c)] の要素の最大値がf(c)なら f(c)のindexが2なので
配列[a, b, c]のindexが2の値をとってc
最大値が2つ以上になった場合どうしたいかによっては違う方法のほうがいいかも
違う方法の一つとしては
[(a, f(a)), (b, f(b)), (c, f(c))]みたいな形にして最大値に対応する入力値を取得するとか
(a, f(a))の型は配列、ディクショナリ、ユーザー定義型とかを使う
0318デフォルトの名無しさん (アウアウウー Sa3f-n/U6)
2017/03/25(土) 00:05:52.08ID:w0EH7KAWa0319デフォルトの名無しさん (アウアウウー Sa3f-n/U6)
2017/03/25(土) 00:14:03.67ID:w0EH7KAWaすでに開いているブラウザをアクティブにして、プルダウンメニューを選択するものを作りたいんだけどどうしたらいいんだろう・・・
AppActivateでアクティブにするとこまでしか作れてない・・
プルダウンの選択って難しいかな?
使いたいページが3フレーム構造のページなんだけど、何かいい方法ないかな
0320デフォルトの名無しさん (ワッチョイ 5774-qwxs)
2017/03/25(土) 00:26:53.18ID:qXyaqpvi0sendkeys
0321デフォルトの名無しさん (アウアウウー Sa3f-n/U6)
2017/03/25(土) 00:27:25.30ID:w0EH7KAWa<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<label for="month">月</label>
たとえばボタンクリックしたらAppActivateでアクティブにして、monthの2を選ぶみたいなコードって作れないかな・・
0322デフォルトの名無しさん (アウアウウー Sa3f-n/U6)
2017/03/25(土) 00:29:26.32ID:w0EH7KAWasendkeysでプルダウン選択できる?
無知ですまん・・
できるとしたらコードの書き方教えて欲しい
321に貼ったmonthの月を選択するプルダウンなんだが
0323デフォルトの名無しさん (ワッチョイ 5774-qwxs)
2017/03/25(土) 00:42:30.55ID:qXyaqpvi0Alt+Tabでウィンドウ切り替え
Tabでフォーカス移動
↓↑カーソルキーでリスト選択
リストの選択肢が半角なら頭文字の入力で一発で飛べる
いっぺん自分でキーボードだけでブラウザを動かしてみ
それをそのままSendKeysで飛ばせばいいだけ
0324デフォルトの名無しさん (アウアウウー Sa3f-n/U6)
2017/03/25(土) 01:43:39.80ID:w0EH7KAWaその方法ではできたんですが、他の方法はないでしょうか?
それだと最後にクリックした場所によってはぜんぜん違う動きをしてしまうので
なるべく確実な方法を取りたかったです、説明不足ですいません
キーボード操作ではなくて直接プルダウンをいじれるコードってないですか
0325デフォルトの名無しさん (アウアウウー Sa3f-n/U6)
2017/03/25(土) 01:48:39.54ID:w0EH7KAWaそれか、毎回ブラウザをActiveにした場合に同じ場所へ戻ってTABで移動したりはできないですか?
ページの上部をクリックした場合と下部をクリックした場合では挙動が全く違ってしまうので。それを解決したいんですがいい方法が思いつかなくて・・・
0326デフォルトの名無しさん (アウアウカー Sa1b-CUoW)
2017/03/25(土) 02:29:29.80ID:9FVY8Pdra0327デフォルトの名無しさん (アウアウウー Sa3f-n/U6)
2017/03/25(土) 02:34:33.44ID:Cbf6Eb44a0328デフォルトの名無しさん (ワッチョイ 5774-qwxs)
2017/03/25(土) 02:55:27.76ID:qXyaqpvi0ページを開く作業とセットで、VBAを起動する前にクリックする場所も決めておく
ブラウザだとリストを選択したあと検索とか送信とか、何かボタンを押して次のページに飛ぶだろ
その次のURLを直接指定するという方法もある
URLの最後にnameとvalueを並べて書けば入力したことになるから
0329デフォルトの名無しさん (ワッチョイ 2b44-rs+5)
2017/03/25(土) 03:08:14.05ID:S5QLF0+B0ブラウザが IEなら IEオブジェクト使えばいいんじゃね?
0330デフォルトの名無しさん (バッミングク MMef-1VOV)
2017/03/25(土) 10:53:09.97ID:Rc2Ti6ZPM>>>319
>ブラウザが IEなら IEオブジェクト使えばいいんじゃね?
それ使えば今開いてるページをアクティブの状態にして、プルダウン選んでくれる??
できたらコード教えて欲しい
0331デフォルトの名無しさん (ワッチョイ 433c-fuL5)
2017/03/25(土) 11:38:50.64ID:RRHIuX+r0ありがたいお言葉
ググれカス
0332デフォルトの名無しさん (ササクッテロレ Spd3-1VOV)
2017/03/25(土) 12:33:39.13ID:fBnAPO3ipドロップダウンリストは開かないけど
0333デフォルトの名無しさん (ワッチョイ 2bd4-7HKf)
2017/03/25(土) 13:09:52.46ID:pySR9myI0Dim trag As String
Fol = "c:\myhome\hage\"
Shell "C:\Windows\Explorer.exe" & Fol, vbNormalFocus
エクスプローラーは開くのですが、ディフォルトのフォルダーで開きます。
どこが悪いのでしょうか?
0334デフォルトの名無しさん (アークセー Sxd3-6tpp)
2017/03/25(土) 14:08:06.46ID:Q4Ej8fyjxより先鋭的なお言葉
ビンれかす
0335デフォルトの名無しさん (ワッチョイ ee4a-BXGz)
2017/03/25(土) 14:16:01.39ID:xdv6un5Q0空白が足りないとかアクセス権がないとか
0336デフォルトの名無しさん (ワッチョイ 66c8-nnGb)
2017/03/25(土) 15:29:43.70ID:DcHCHcD/0間違いなくできると思うがWebペ−ジの仕様にもよる。
今ちょっと時間無いんでコード示すとしたら夜になってからだな。
既に開いてるならShellオブジェクトだね。
分かってて使ったりするけど人に対してはSendkeysは絶対に使ってはいけないと俺は言うね。
0337デフォルトの名無しさん (ワッチョイ 433c-fuL5)
2017/03/25(土) 15:49:28.03ID:RRHIuX+r00338デフォルトの名無しさん (アウアウカー Sa1b-CUoW)
2017/03/25(土) 15:54:46.27ID:LXIplO5Za間に空白いれなくてもie開くのか
0339デフォルトの名無しさん (アウアウカー Sa1b-CUoW)
2017/03/25(土) 15:55:11.96ID:LXIplO5Za0340デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/25(土) 17:03:59.09ID:rT+BXZwb0はい。これで動くはず
Dim trag As String
Fol = """" & "c:\myhome\hage\" & """"
Shell "C:\Windows\Explorer.exe" & " " & Fol, vbNormalFocus
0341デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/25(土) 17:05:21.81ID:rT+BXZwb0ここで答え聞くより普通にググれば大量に資料出てくるんだから応用聞くと思う
キーワード 「vba IE操作」など
0342デフォルトの名無しさん (ワッチョイ 2a3c-hXJm)
2017/03/25(土) 17:56:27.77ID:Wmnjl+Lx0横だけど
Fol = """c:\myhome\hage\"""
Shell "C:\Windows\Explorer.exe " & Fol, vbNormalFocus
じゃダメなの?
もしくは一行で
Shell "C:\Windows\Explorer.exe ""c:\myhome\hage\""", vbNormalFocus
ではダメなの?
0343デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/25(土) 19:17:16.60ID:rT+BXZwb0間違ってるところが分かるように意図的にこうしてるのが分からない?
ベタ打ち1行ならそれでいいよ
0344デフォルトの名無しさん (ワッチョイ 2bd4-7HKf)
2017/03/25(土) 21:13:51.88ID:pySR9myI00345デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/25(土) 21:28:56.12ID:rT+BXZwb0じゃあ試しに "C:\"だけにして試してみなよ。
で、次に"C:\myhome\"という感じでパスを増やす。
それと、最後の\が不要だったカモシレナイ。
ついでに、 fso.FolderExits(パス)とかで、”本当に!”パス打ち間違えてないか確認したら?
0346336 (ワッチョイ 66c8-nnGb)
2017/03/25(土) 23:25:29.86ID:DcHCHcD/0押してから目的のボタンをクリックするとHTMLの中から該当の部分を表示してくれる。
その中でid属性、name属性なんかを基にプログラム上で目的のオブジェクトを取得して操作する。
取得や操作はDOMを勉強してくれ。
今回のサンプルではhttp://www.htmq.com/html/select.shtmlを利用させて頂いた。
https://www.friendpaste.com/42laVRyz5iwMFqn7Lx6g7S
0347デフォルトの名無しさん (ワッチョイ aa92-qwxs)
2017/03/25(土) 23:35:26.21ID:qZDjxVVm0デザエモンはすっかりやらなくなってしまった。
0348デフォルトの名無しさん (ワッチョイ 2a35-ZYFz)
2017/03/26(日) 10:23:26.80ID:keGLAbPN00349デフォルトの名無しさん (ワッチョイ 1bd5-7HKf)
2017/03/26(日) 19:33:27.18ID:9vl54wzV0を参考にVBAで音を鳴らすプロシージャを作成していますがエラーを解決できません。
どこをどう直せばいいでしょうか?
上記URLの"メモリ上のバッファから再生〜"で紹介されているコード:Public Function ReadSoundBuffer()を、
再生するファイルを引数で渡すように変更したのですがエラーが出てしまいます。
"Visual Basic でサポートされていないオートメーションが変数で使用されています。"
0350デフォルトの名無しさん (ワッチョイ 1bd5-7HKf)
2017/03/26(日) 19:35:20.92ID:9vl54wzV0Option Explicit
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
ByRef pszSound As Byte, _
ByVal hmod As Long, _
ByVal fdwSound As Long _
) As Long
Public Const SND_ASYNC = &H1
Public Const SND_MEMORY = &H4
Public Snd_1() As Byte, Snd_2() As Byte, Snd_3() As Byte
Public Sub test() '←これを実行すると・・・
Call ReadSoundBuffer(Snd_1, "C:\RSSを取得(SSD)\wav files\1分 安値.wav")
'Call ReadSoundBuffer(Snd_2, "C:\RSSを取得(SSD)\wav files\2分 安値.wav")
'Call ReadSoundBuffer(Snd_3, "C:\RSSを取得(SSD)\wav files\3分 安値.wav")
PlaySound Snd_1(0), 0, SND_ASYNC + SND_MEMORY
'PlaySound Snd_2(0), 0, SND_ASYNC + SND_MEMORY
'PlaySound Snd_3(0), 0, SND_ASYNC + SND_MEMORY
End Sub
0351デフォルトの名無しさん (ワッチョイ 1bd5-7HKf)
2017/03/26(日) 19:35:58.63ID:9vl54wzV0Dim WrkSndFile As String
Dim WrkNumber As Long
WrkSndFile = strFileName
WrkNumber = FreeFile()
Open WrkSndFile For Binary As WrkNumber
ReDim SndBuf(LOF(WrkNumber))
Get WrkNumber, , SndBuf '←ここでエラー。"Visual Basic でサポートされていないオートメーションが変数で使用されています。"
Close WrkNumber
End Function
0352デフォルトの名無しさん (エーイモ SEa2-BRuG)
2017/03/26(日) 21:46:16.16ID:6MyN9wgWE引数の型指定がされていないからじゃない?
Public Function ReadSoundBuffer(SndBuf, strFileName)
↓
Public Function ReadSoundBuffer(SndBuf() As Byte, strFileName)
0353デフォルトの名無しさん (ワッチョイ 1bd5-7HKf)
2017/03/26(日) 22:36:58.07ID:9vl54wzV0あー、エラーでない すごいー
今まで呼び出される側の引数の型を省略すること多かったし、引数が配列のときに()を省略しても問題がおきたことなかったのに・・・
どういうときに省略で問題でてくるんだろ???
0354デフォルトの名無しさん (ワッチョイ 1bd5-7HKf)
2017/03/26(日) 22:37:27.60ID:9vl54wzV0ありがとうございました
0355デフォルトの名無しさん (ワッチョイ aaa8-7HKf)
2017/03/26(日) 23:05:55.58ID:zZzO0lh000356デフォルトの名無しさん (アウアウカー Sa1b-CUoW)
2017/03/26(日) 23:06:04.57ID:TV/WgqWka0357デフォルトの名無しさん (アウアウカー Sa1b-CUoW)
2017/03/26(日) 23:07:22.99ID:TV/WgqWka0358デフォルトの名無しさん (ワッチョイ 53a6-VHv+)
2017/03/26(日) 23:18:02.88ID:NX2FjwOv00359デフォルトの名無しさん (ワッチョイ 1bd5-7HKf)
2017/03/26(日) 23:23:54.74ID:9vl54wzV0触れてはいけない話題でしたか、すいません
論争は望んでなくて、呼び出される側に、どんなとき()が必要でどんなとき引数の型指定が必要か知りたかっただけなんです
0360デフォルトの名無しさん (ワッチョイ 53a6-VHv+)
2017/03/26(日) 23:32:53.42ID:NX2FjwOv0MSDNのここじゃないかな
↓
メモ
Get ステートメントを使用して、バリアント型 (Variant ) の配列をディスクから読み取ることはできますが、
Get を使用して、配列が含まれるスカラーのバリアント型 (Variant) を読み取ることはできません。
また、Get を使用して、オブジェクトをディスクから読み取ることもできません。
0361デフォルトの名無しさん (ワッチョイ 53a6-VHv+)
2017/03/26(日) 23:52:44.25ID:NX2FjwOv0「バリアント型 (Variant) の VarType を識別する 2 バイトが読み取られた後に・・・」って記述があるじゃろう。
SndBuf() As Byte と書かないと、ByRef SndBuf As Variant と解釈されるが、その場合上記の
VarTypeは、要素の型を表す本来の値(Byteなら17)と VT_BYREF(0x4000) の bit or になるんだよ。
「VT_BYREF」ってのは他の型の値を参照してますよ、ってフラグ。
多分Getステートメントはそういう状態に対応していないってことなんじゃないかな。
0362デフォルトの名無しさん (ワンミングク MM9a-1VOV)
2017/03/27(月) 00:15:58.86ID:J4FHBXqDMVariantなどというクソに頭を悩ませる必要はない
0363デフォルトの名無しさん (アウアウオー Sae2-fuL5)
2017/03/27(月) 07:45:20.12ID:G8XHCg/Aaあやまってbyte型じゃない値を入れても型が違うよってエラーが出てくれるから問題箇所も発覚させやすい
Byteより大きい値を入れる可能性があるなら関数の使い方を考え直さないと
0364デフォルトの名無しさん (スップ Sdea-tG8e)
2017/03/27(月) 07:47:43.67ID:Sygej3yfd0365デフォルトの名無しさん (アウアウオー Sae2-fuL5)
2017/03/27(月) 07:54:35.50ID:G8XHCg/Aaでも結局関数の中で型を確定させるよね、その場合も
オブジェクト指向サポートしてる言語だとオーバーライドだっけ?なんかゴニョゴニョ出来るみたいだけど
0366デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/27(月) 12:01:35.84ID:F/9rdJuK00367デフォルトの名無しさん (ワッチョイ 2f4c-7HKf)
2017/03/27(月) 13:50:33.97ID:D0Ly+ln500368デフォルトの名無しさん (スップ Sdea-tG8e)
2017/03/27(月) 14:23:16.95ID:Sygej3yfdたとえば ByRef a As Long に Long じゃない変数を代入しようとするとコンパイルエラーになる。
0369デフォルトの名無しさん (ワッチョイ 2a35-ZYFz)
2017/03/27(月) 14:33:19.30ID:z/XZODDJ0Dim i As Integer
i = 5
Dim a(i) As String
End Sub
---------------------
これがダメなのはルールとして分かりましたわ。
でもこれをダメというルールにしてしまった理由はなんですか?
0370デフォルトの名無しさん (ワッチョイ 2f4c-7HKf)
2017/03/27(月) 14:36:29.68ID:D0Ly+ln50Long型以外の値が紛れ込む余地があったら実行時にエラーになるし、
Long型以外の値が紛れ込む余地が無かったらVariant型でもエラーにならないだろ。
0371デフォルトの名無しさん (ワッチョイ 2f4c-7HKf)
2017/03/27(月) 14:39:37.86ID:D0Ly+ln50実行時に値が確定してるかどうかの差じゃないの。
Const i = 4
Sub test()
Dim c(i) As String
Debug.Print UBound(c)
End Sub
だとエラー出なかったし。
0372デフォルトの名無しさん (スップ Sdea-tG8e)
2017/03/27(月) 14:43:43.63ID:Sygej3yfd余地?
俺は引数の型についてVariantかそうじゃないかの話をしてるんだけど?
0373デフォルトの名無しさん (ワッチョイ 2f4c-7HKf)
2017/03/27(月) 15:05:20.07ID:D0Ly+ln50そうか。するとコンパイルエラーがどうこうというレスだけだと君の主張がよく分からないな。
俺は引数の型がVariant型かどうかについて限って話してるわけではないから、もしかして違う話題かな?
0374デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/27(月) 16:09:12.72ID:F/9rdJuK0理由もなにも固定長配列と動的配列の違い。
つまりメモリ確保のタイミングの問題だね。
Dim(定数)は固定長配列なんだから、当然変数を渡したら「定数式が必要です。」となる。
Dim (定数)はプロシージャに入って初めて通過したときにメモリを確保する。
トレースで矢印を動かして再度Dim(定数)を通っても変数は初期化されない。
Dim() As Stringと書いた場合はメモリを確保しないが、ReDim(i)を通るたびにメモリを再確保する。
トレースで矢印を動かして再度ReDim(数値)を通ると変数は初期化される。
一度固定長配列として宣言した変数は、動的配列にすることはできない
Dim b(10) As String
ReDim b(i)
エラー「配列は既に宣言されています。」
これでいいだろうか
0375デフォルトの名無しさん (アウアウオー Sae2-fuL5)
2017/03/27(月) 17:53:46.64ID:eAttwfk5a値によって変わるんじゃなくて型チェックの時点で防げるんだから
さすがにこれは明白すぎるぞ
0376デフォルトの名無しさん (JP 0Hb6-aw5l)
2017/03/27(月) 18:00:25.62ID:BGS+rNUAHそういうことを聞くたいんじゃなくて、>>369のコードを駄目ということにした理由が知りたいんじゃないかな。
別に駄目じゃなくてOKということにしてもいいのに、なんで駄目というルールにしたんですかという疑問。
俺は知らないけど。
0377デフォルトの名無しさん (アウアウオー Sae2-fuL5)
2017/03/27(月) 18:02:35.03ID:eAttwfk5aコンパイルの時にチェックしてるんじゃないの、知らんけど
0378デフォルトの名無しさん (JP 0Hb6-aw5l)
2017/03/27(月) 18:17:07.67ID:BGS+rNUAHなるほど!と思って試してみたら、範囲外エラーは実行しないとエラーにはなりませんでした。
dim a(5) as long
a(6) = 1 ' <- コンパイルではエラーにはならない
0379デフォルトの名無しさん (ワッチョイ 2f4c-7HKf)
2017/03/27(月) 18:25:08.74ID:D0Ly+ln50コンパイルエラーで分かるものって実行時エラーでも分かるけど、その逆ってないし。
0380デフォルトの名無しさん (ドコグロ MMe2-hXJm)
2017/03/27(月) 18:33:54.37ID:e29nEpzRMぶっちゃけ言語仕様決めた奴の好みだろ
0381デフォルトの名無しさん (スフッ Sd4a-qwxs)
2017/03/27(月) 18:34:09.03ID:wdUXzV9Gdコンパイルできないのに実行できるコードがあるわけないだろ
0382デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/27(月) 19:00:18.34ID:F/9rdJuK0言ってることが意味不
VBAのコンパイルエラーは言語仕様に合ってて、機械が翻訳可能か検証してるだけだし、
実行時エラーは実際に実行した時のメモリアクセスやらなんやらのエラーだろう。
確かに>>378の文はコンパイルエラーで拾ってほしいけど、VBAにそこまで期待してはいけない。
0383デフォルトの名無しさん (ワントンキン MM9a-1VOV)
2017/03/27(月) 19:02:26.80ID:3B4Abdf9M他のまともな静的型付け言語を体験するともうVBAに嫌気がさしてくるよ
0384デフォルトの名無しさん (スップ Sdea-tG8e)
2017/03/27(月) 19:33:21.64ID:Sygej3yfd確かに気休めにしかならない
func(ByRef x As Long)
があるとして、
Dim a As Variant : a = 5
func(a)
はコンパイルエラーになってくれるけど
func(a + 0)
だと通る
0385デフォルトの名無しさん (ワッチョイ aacf-O03j)
2017/03/27(月) 20:15:45.93ID:0qOI+dR000386デフォルトの名無しさん (ワッチョイ aaa8-7HKf)
2017/03/27(月) 20:37:13.86ID:VgJTF0Ub0VBEのデバッグにコンパイルってあるけど、あれは単に文法チェックをだけだろ
と思ってたんだけどね
>>47
みたいな話が
0387デフォルトの名無しさん (ワッチョイ fe1f-n/U6)
2017/03/27(月) 20:50:17.08ID:v6c3i5dM0「今日の上がり」というシートを「集計マクロ」というエクセルシートに取り込みたいのですが、
今日の上がりシートをダウンロードすると、時々
「今日の上がり(1)」とかって、(1)とかついたりします。
今書いたコードだと、その括弧のない場合でしか取り込めなく、
括弧がついてしまった場合だとエラーが起きてしまいます。
こういう場合はどうコードを書き直せばいいですか?
今使ってるコード↓
Workbooks("今日の上がり").Sheets("今日の上がり").copy_
After:=Workbooks("集計マクロ").Sheets("集計マクロ")
0388デフォルトの名無しさん (ワッチョイ 5774-qwxs)
2017/03/27(月) 20:53:42.71ID:jq8UKNgK0After:=Workbooks("集計マクロ").Sheets("集計マクロ")
0389デフォルトの名無しさん (ワッチョイ 2f4c-7HKf)
2017/03/27(月) 20:55:12.69ID:D0Ly+ln50Sub test()
For Each x In Workbooks("今日の上がり").Worksheets
If x.Name Like "今日の上がり*" Then
x.Copy after:=Workbooks("集計マクロ").Sheets("集計マクロ")
End If
Next
End Sub
こんな感じかな
0390デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/27(月) 20:59:18.59ID:F/9rdJuK02パターンしか存在しないなら、エラー処理サブルーチンを組むとか。
sub aaa()
'前処理
On Error Goto LabelError
Workbooks("今日の上がり").Sheets("今日の上がり").copy_
After:=Workbooks("集計マクロ").Sheets("集計マクロ")
Goto LabelSkip
LabelError:
Workbooks("今日の上がり(1)").Sheets("今日の上がり(1)").copy_
After:=Workbooks("集計マクロ").Sheets("集計マクロ")
Resume Next
LabelSkip:
'後処理
End Sub
でも>>389のほうが美しいな
0391デフォルトの名無しさん (ワッチョイ fe1f-n/U6)
2017/03/27(月) 21:14:05.14ID:v6c3i5dM0>>388-390
さっそくのご回答ありがとうございます!
(2)になったり(3)になったりでパターンは変わるようです。
>>389さんのが*がついてて、どのパターンにも対応が出来そうなので試してみます。
まだ色々分からない点があるので、また後日来ます。
ありがとうございました。
0392デフォルトの名無しさん (ワッチョイ aa72-URLc)
2017/03/27(月) 21:21:36.05ID:BYe152/p0activeWorkbook.RefreshAllでは無理だった…
0393デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/27(月) 21:46:23.45ID:F/9rdJuK0んー再計算なら、
Application.CalculateFullRebuild
を試してみては?
0394デフォルトの名無しさん (ワッチョイ 2b44-rs+5)
2017/03/27(月) 23:05:28.25ID:TaZ9cxx50ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
0395デフォルトの名無しさん (ワッチョイ 1bd5-7HKf)
2017/03/27(月) 23:12:49.26ID:bKKFLlTl0ありがとうございます。でもこのMSDNの記述は私の理解を遥かに越えています
>>362>>363
呼び出される側の型省略は今後やめます、今回で凝りましたw
0396デフォルトの名無しさん (ワッチョイ aa92-qwxs)
2017/03/27(月) 23:28:18.52ID:Mw0tASpV0スカラー波wwwwwwwwwwwwwwwwwwwwwwww
0397336 (アウアウカー Sa1b-nnGb)
2017/03/28(火) 12:27:19.23ID:5xPrq2Fuaいや、それ違う。
どっちも静的配列だ。
定数は実行前に置き換わるからだろ。
0398デフォルトの名無しさん (スップ Sdea-tG8e)
2017/03/28(火) 13:12:16.29ID:4cdxOmGyd0399デフォルトの名無しさん (スップ Sdea-tG8e)
2017/03/28(火) 13:19:30.09ID:4cdxOmGyd' 配列 x のサイズを計算する関数
If IsArray(x) Then
size = UBound(x) + LBound(x) + 1
これは型を確定させる必要はないし ByRef Variant じゃないと受けられない
遅レススマ
0400デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/28(火) 13:22:58.79ID:RFK8HgDl0>どっちも静的配列だ。
ん?Dim(5)が静的でDim()→Redim(n)が動的でしょ。
そりゃnが定数なら静的っぽく使えるけど、Preserveできるから結局は動的でしょうVBAでは。
http://officetanaka.net/excel/vba/variable/08.htm
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_050_11.html
俺の解釈が間違ってるならもう詳しい解説おしえてほしいな
>定数は実行前に置き換わるからだろ。
当たり前すぎて何を言いたいのか分からない。
0401デフォルトの名無しさん (JP 0Hb6-aw5l)
2017/03/28(火) 13:39:54.81ID:uzRike2THコンパイル関連の仕組みとして、この記事を見つけたので、興味があればどうぞ。
http://cpap.com.br/orlando/VBADecompilerMore.asp
VBA CODE DECOMPILER AND COMPACTORというツールの紹介と、解説記事
* Features
* Download
* What it means to decompile and compact in VBA
* Advantage of saving decompiled and compacted VBA code
* Good practices to increase stability in VBA codes
* New Office 2007 and later (32 and 64-bit)
* Executing via Command Line
0402デフォルトの名無しさん (ワッチョイ aa72-URLc)
2017/03/28(火) 20:53:44.53ID:gtx5yoip0ありがとう!
うまくいったー!
0403デフォルトの名無しさん (ワッチョイ ea3c-EscV)
2017/03/28(火) 21:23:48.83ID:5RUVNWwS0一般用語の動的配列ではないけど
VBA用語では動的配列ってことでしょ
0404336 (アウアウカー Sa1b-nnGb)
2017/03/28(火) 22:12:24.05ID:y6dX2FWHaスマン。
>>369と>>371の違いを説明してると勘違いした。
0405デフォルトの名無しさん (ワッチョイ 53a6-VHv+)
2017/03/28(火) 22:16:58.20ID:QvJjdHfs0しかし、
Dim i As Integer : i = 5
Dim a(i) As String
を静的にするのはどうにも無理だった。
というだけのことなんじゃないかな。
0406デフォルトの名無しさん (ワッチョイ fe1f-n/U6)
2017/03/28(火) 22:39:27.90ID:7XREnoOE0昨日はコードを教えてくれてありがとうございました。
>>389さんのコードでやってみたのですが、上手くいかないです・・・。
すいません、自分の説明不足だったのですが、
(1)とか(2)とかってつくのはファイル名(ブック名?)でした。
>>389さんの場合だとシートだと上手くいくのですが・・・。
Workbooks("今日の上がり").Sheets("今日の上がり").copy_
After:=Workbooks("集計マクロ").Sheets("集計マクロ")
0407デフォルトの名無しさん (ワッチョイ aa92-qwxs)
2017/03/28(火) 22:40:20.27ID:dxleZkXF0縦と横を入れ替えればいいんじゃん。
って思ったが、やっぱり慣れないから見づらいじゃん。
0408デフォルトの名無しさん (ワッチョイ fe1f-n/U6)
2017/03/28(火) 22:42:12.74ID:7XREnoOE0今日一応ワイルドカードとかつけて色々試したのですが、ダメでした。
>>389さんのだと、「インデックスが有効でありません(エラー番号:9)」と出てしまいます。
0409デフォルトの名無しさん (アウアウカー Sa1b-nnGb)
2017/03/28(火) 22:46:17.17ID:y6dX2FWHaWorksheetFunction.Transposeを使うパターンだけど1行だった時は1次元配列になっちまうんだよなあ。
0410デフォルトの名無しさん (ワッチョイ fe1f-n/U6)
2017/03/28(火) 22:47:43.31ID:7XREnoOE0Sub test()
For Each x In Workbooks("今日の上がり").Worksheets ←ここでエラーが出てしまいます。
If x.Name Like "今日の上がり*" Then
x.Copy after:=Workbooks("集計マクロ").Sheets("集計マクロ")
End If
Next
End Sub
0411デフォルトの名無しさん (ワッチョイ 53a6-VHv+)
2017/03/28(火) 22:47:53.39ID:QvJjdHfs0Yes
そういう時はオブジェクトの列にするか配列の列にするのかも
0412デフォルトの名無しさん (ワッチョイ 5774-qwxs)
2017/03/28(火) 22:47:59.33ID:wdEWQ5Te0BookName = Dir("今日の上がり*.*")
If BookName <> "" Then
Workbooks(BookName).Sheets("今日の上がり").copy_
After:=Workbooks("集計マクロ").Sheets("集計マクロ")
End If
0413デフォルトの名無しさん (アウアウカー Sa1b-nnGb)
2017/03/28(火) 22:49:29.50ID:y6dX2FWHaSub test()
For Each x In Workbooks("今日の上がり").Worksheets
If Instr(x.Name, "今日の上がり")>0 Then
x.Copy after:=Workbooks("集計マクロ").Sheets("集計マクロ")
End If
Next
End Sub
でどうだ?
0414デフォルトの名無しさん (ワッチョイ fe1f-n/U6)
2017/03/28(火) 22:50:51.66ID:7XREnoOE0「今日の上がり」と「集計マクロ」は両方開いたままの状態なのですが。
Dirって使えるんですか?
Dirって対象のファイルが閉じてる時じゃないと使えないとかありますか?
(初心者ですいません)
0415デフォルトの名無しさん (ワッチョイ fe1f-n/U6)
2017/03/28(火) 22:53:02.48ID:7XREnoOE0今日の上がり(1)を取り込もうとしたとき、
Sub test()
For Each x In Workbooks("今日の上がり").Worksheets ←ここでエラーが出てしまいます。
If x.Name Like "今日の上がり*" Then
x.Copy after:=Workbooks("集計マクロ").Sheets("集計マクロ")
End If
Next
End Sub
最初の一行目で既にエラーなのですよね・・。
>>413さんのは2行目からは今までとは違いますが・・。
(今手元にその集計ファイルがないんで出来なくてすいません)
0416デフォルトの名無しさん (ワッチョイ 53a6-VHv+)
2017/03/28(火) 23:04:34.16ID:QvJjdHfs0普通に
For Each x In WorkBooks
If x.Name Like 〜
でいいように思えてならないが?
0417デフォルトの名無しさん (ワッチョイ fee2-VHv+)
2017/03/28(火) 23:07:19.26ID:r9lC3srD0も修正
0418デフォルトの名無しさん (ワッチョイ fe1f-n/U6)
2017/03/28(火) 23:14:26.90ID:7XREnoOE0シートならそれでも上手く行くんですよね。
ですが、ファイル名が変わると出来なくなるみたいです。
0419デフォルトの名無しさん (ワッチョイ 2b44-rs+5)
2017/03/28(火) 23:34:59.25ID:jSAv5Xa30>>416 さんので良いと思うのだが
どうダメなの?
ブック名とシート名が同じだから混乱してないか?
0420デフォルトの名無しさん (ワッチョイ 2f4c-7HKf)
2017/03/28(火) 23:44:34.14ID:OuWj1GSF0Const コピー元ワークブック名 = "今日の上がり"
Const コピー元ワークシート名 = "今日の上がり"
Const コピー先ワークブック名 = "集計マクロ"
Const コピー先ワークシート名 = "集計マクロ"
Sub test()
For Each x In Workbooks
If x.Name Like ワークブック名 & "*" Then
For Each y In x.Worksheets
If y.Name Like ワークシート名 & "*" Then
y.Copy after:=Workbooks(コピー先ワークブック名).Sheets(コピー先ワークシート名)
End If
Next
End If
Next
End Sub
こういうこと?
0421デフォルトの名無しさん (ワッチョイ fe1f-n/U6)
2017/03/29(水) 06:02:01.50ID:rjGgE2Ur0みなさんありがとうございます。
みなさんの教えてくれたコードで一旦試してみます。
>>419
ブック名とシート名が同じなのでオカシクなってる可能性はありますね・・。
0422デフォルトの名無しさん (アウアウカー Sa1b-nnGb)
2017/03/29(水) 12:46:03.55ID:0n7r/WJXaプログラムはそんなことで混乱しません。
あなたが混乱しているのでは?という意味だろ。
それぞれのサンプルを一行ずつどういう意味なのか考えれば、最初のサンプルで解決できた筈だよ。
ブックの中の全てのシートを見ていって、該当する名前のシートかどうかを調べるサンプルなんだから同じように全てのブックを見ていって、該当する名前のブックかどうかを調べるコードを書くだけだ。
それが>>416さんの方法だ。
0423デフォルトの名無しさん (ワッチョイ aaa8-7HKf)
2017/03/29(水) 17:48:34.37ID:8sw2I1PH0難しくてなんのこっちゃよく判らんけど、探し出してきてくれてありがとです。 w
0424デフォルトの名無しさん (ワッチョイ 2bb2-7HKf)
2017/03/29(水) 19:09:46.40ID:2Prvi8gF0調べてみたらxlsファイルの中に、VBAをコンパイルしたデータ(pコード?)が保存されてて、その情報を削除してくれるツールのようだね
RelaxToolみたいに結構な量のマクロが入ったアドインの容量削減に使うと良いみたい。
0425デフォルトの名無しさん (ワッチョイ fe1f-n/U6)
2017/03/29(水) 23:15:25.05ID:6GdUSfve0皆さんからのアイデアを基に色々やったら出来ました!
ありがとうございます。
0426デフォルトの名無しさん (ワッチョイ efa6-agmj)
2017/03/30(木) 00:10:16.15ID:mBKkA2D60VBAでユーザー定義を登録できますか?
http://officetanaka.net/excel/vba/cell/04-24.png
0427デフォルトの名無しさん (ワッチョイ b344-+x88)
2017/03/30(木) 13:08:29.68ID:30CSYY0X0可能だと思うぞ
ActiveWorkbook.Theme.ThemeColorScheme.Colors(msoThemeAccent1) = RGB(68, 114, 196)
みたいに全12色を指定して
ActiveWorkbook.Theme.ThemeColorScheme.Save メソッドで保存してやればいいんじゃね?
0428デフォルトの名無しさん (ワッチョイ bf92-6pw6)
2017/03/30(木) 21:08:04.93ID:iwCySJpZ00429デフォルトの名無しさん (ワッチョイ efa6-agmj)
2017/03/31(金) 01:49:31.89ID:IGtHDLym0ありがとうございまーす
おかげでWebから拾ってきたオリジナル配色で
グラフをサクッとつくれるようになりました
0430デフォルトの名無しさん (ワッチョイ bf35-/Gsh)
2017/03/31(金) 12:18:06.90ID:ZJxHm11l0例えばWordの参照設定をしないと
変数の型にWord.Applicationは使えずObjectにしなければならないし
あと不思議なのはインスタンス化のときにCreateObject("Word.Application")だとできるけどNew Word.Applicationだとできない(参照設定しないと)。
0431デフォルトの名無しさん (ワッチョイ bf35-/Gsh)
2017/03/31(金) 12:21:02.50ID:ZJxHm11l0ExcelからOutlookを操作するVBAマクロを作るとき
メール本文はテキストしかできないんですか?
メール本文に好きなフォントを使ったりフォントサイズを変えたり太字にしたり色を付けたりしたいのですが。
0432431 (ワッチョイ bf35-/Gsh)
2017/03/31(金) 12:24:45.91ID:ZJxHm11l0ExcelのCellそのままのRangeデータを引数にし<font size=・・・>・・・・</font>のStringテキストを返す関数を作ろうか検討してますが
そんなクソ面倒なことをしないといけないのでしょうか?
もしそうならだれかこの関数作って。
0433デフォルトの名無しさん (アウアウオー Sa1f-IrRS)
2017/03/31(金) 12:26:08.68ID:XZKlqyQZa詳しくはわからんが、Outlookの設定でリッチテキストにもHTMLにも出来るんだからできるんじゃねえの
なんかのプロパティあるだろたぶん
0434デフォルトの名無しさん (ドコグロ MM1f-3MUK)
2017/03/31(金) 12:40:20.49ID:Xv9Etv1iMまずはこの辺りを読んでみそ
https://sites.google.com/site/compositiosystemae/home/vbaworld/upper/bindeing
0435デフォルトの名無しさん (ワッチョイ bf35-/Gsh)
2017/03/31(金) 12:59:33.36ID:ZJxHm11l0いや、たとえリッチテキストやHTMLに変更することはできてもメール本文に書式付きの文字列をコピーする方法がないのです。
なんかのプロパティがあるはずだとは思ったけどそれが無いのです。地道にHTMLBodyプロパティを使って地道にHTMLタグを自作するしかないかも。
>>434
ありがとうです。これから読んでみます。
0436デフォルトの名無しさん (ワッチョイ bf35-/Gsh)
2017/03/31(金) 13:02:12.14ID:ZJxHm11l0せっかくマクロで自動化してメール送信を用意にしてもメール書式がくずれてプレインテキストになってその評判を落としたくないのです(ワラ。
0437デフォルトの名無しさん (ワッチョイ 834c-QmV0)
2017/03/31(金) 13:15:40.60ID:Vd7f1stm00438デフォルトの名無しさん (ドコグロ MM1f-3MUK)
2017/03/31(金) 13:15:49.68ID:Xv9Etv1iM2010 以降ならMailItem.RTFBody があるはず
あと MailItem.BodyFormat の設定も必要
0439デフォルトの名無しさん (ワッチョイ bf92-6pw6)
2017/03/31(金) 22:48:00.08ID:33Dx4ceV0参照設定しないと動かない、というならわかるんだけど、
参照設定しなくても動く、というのがわからない。
設定してもしなくても、結局は参照してるんじゃないのかと思うんだが。
0440デフォルトの名無しさん (アウアウオー Sa1f-IrRS)
2017/03/31(金) 23:02:40.56ID:XZKlqyQZaVBEの機能とするか、コード上で機能させるかで違うんじゃねえの
0441デフォルトの名無しさん (ワッチョイ bf92-6pw6)
2017/03/31(金) 23:09:50.94ID:33Dx4ceV0ごめん、説明不足だった。
よく、配布するなら参照設定しないようにって書いてるサイトを見るけど、
結局は外部のソフトの機能使ってるんじゃないのかと。
0442デフォルトの名無しさん (ワッチョイ bf3c-3MUK)
2017/03/31(金) 23:36:24.36ID:XL9Ub2rN0Word.Application という型を使おうとしたらコンパイル時に型がわかっていないとダメなので参照設定が必要(アーリーバインディング)
CreateObject("Word.Application") は実行時に型を参照するので事前の参照設定は必要ない(レイトバインディング)
基本的にアーリーバインディングでいいけど例えばワードが入ってない環境で使われる可能性がある時はレイトバインディングでやる必要がある
0443デフォルトの名無しさん (アウアウカー Sad7-GT+3)
2017/04/01(土) 00:18:46.00ID:tMC2KtSkaコメントに参照設定書いとけばいいんだけどね。
Evaluation: Good!
0444デフォルトの名無しさん (ワッチョイ b376-kVPK)
2017/04/01(土) 02:12:14.50ID:cp737xtH0レイトバインディングは当たり前だけど使う側のメソッドやプロパティが
インテリセンスに反映されないから出来れば使いたくないんだけど
どうしても使わなければならない場合が意外に多いからね。
これは逆にEXCELを他から使用したときにEXCELのバージョンに左右されたくないときとかも
レイトバインディングでやったりするけど、
作業場によってはレイトバインディングを禁止しているところもあるので
そういうときは凄く困ったりする。
0445デフォルトの名無しさん (ワッチョイ 8f4a-HQfx)
2017/04/01(土) 02:56:26.94ID:FVQlMy4+00446デフォルトの名無しさん (ワッチョイ bf3c-3MUK)
2017/04/01(土) 08:11:28.58ID:rQd+4FjZ0無理だと思う
C# でもコンパイルオプションで指定するんだし
0447デフォルトの名無しさん (ワントンキン MM5f-kVPK)
2017/04/01(土) 09:31:18.67ID:5FvkGkF1M* IUnknown
COMに必須のインターフェース
参照カウントを管理するためのメソッドが宣言される
* IDispatch
動的実行に必須のインターフェース
メソッドの名前検索や動的実行のためのメソッドなどが宣言される
スクリプティングや遅延バインドで使うクラスはこれを実装する
VBAやVB.NETのObjectやC#のdynamicに代入されたCOMオブジェクトへのメソッド呼び出しは糖衣構文でありIDispatchを使ったメソッドの名前検索と実行にコンパイルされる
コンパイル時に型情報を使用しないため参照設定は必要ない
* ユーザー定義のインターフェース
例えばWorkbookインターフェースなど
型情報としてそのインターフェースに固有のメソッドなどが宣言されている
IDispatchの動的実行とは異なり直接メソッドが実行される
事前バインドするならこれを実装する
コンパイル時に型情報を使用するため参照設定が必要
製品になるようなcoclass(COMのクラス)はほぼ全てIDispatchとユーザー定義のインターフェースを実装しているので事前バインドでも遅延バインドでも動作する
VBAや他の言語が参照設定で参照するのは固有のインターフェース
Object型を使うとユーザー定義のインターフェースを無視してIDispatchとして扱われる
0448デフォルトの名無しさん (ワッチョイ cf1f-LJFa)
2017/04/01(土) 09:31:55.01ID:nMi+hNGb0Cells.Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"デザート類!R1C1:R1048576C3", Version:=xlPivotTableVersion14).CreatePivotTable _
TableDestination:="Sheet5!R3C1", TableName:="ピボットテーブル2", DefaultVersion _
:=xlPivotTableVersion14
Sheets("Sheet5").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("バナナ")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("りんご")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("みかん")
.Orientation = xlRowField
.Position = 3
End With
End Sub
0449デフォルトの名無しさん (ワッチョイ cf1f-LJFa)
2017/04/01(土) 09:32:27.62ID:nMi+hNGb0↑
ピポッドテーブルのコードの書き方が分からなくて、マクロの記録を使ってみたのですが、
どうもコードが汚くなってしまいます。(今後はフィールドの数も増やすのでもっとゴチャゴチャになってしまいます)
また、このコードだと、Sheet5にしかピボットテーブルが作成できなくて、
既にSheet5があったりすると、エラーが起きてしまいます。
ここに仮にSheet5が使えなかったら別のシートにピボットテーブルを作れるようにするにはどうしたらいいですか?
(可変、というのでしょうか)
本当はこの表は「表形式」「小計を表示しない」もしたいです。
(コードがムチャクチャ長くなるので省略しました)
よろしくお願いします
0450デフォルトの名無しさん (ワッチョイ cfe2-agmj)
2017/04/01(土) 09:49:31.04ID:lUr6QvnA00451デフォルトの名無しさん (ワッチョイ cf1f-LJFa)
2017/04/01(土) 10:16:38.24ID:nMi+hNGb0?
0452デフォルトの名無しさん (ワッチョイ b344-+x88)
2017/04/01(土) 12:36:34.15ID:ozwLYWa+0マクロの記録だと どうしてもゴチャゴチャするから
出来たコードを1行1行何をしてるか調べて整理整頓してけばいいだけっしょ
"調べるの大変"・"めんどくさい"って言ってたらいつまでも上達しないよ
0453デフォルトの名無しさん (ワッチョイ bf92-6pw6)
2017/04/01(土) 12:58:38.04ID:ZJwLon8g0そこがよくわからない。
ワードが入ってなかったら、
参照設定してもしなくても、結局ワードの機能は使えないんじゃないかと思うんだけど。
0454デフォルトの名無しさん (ワッチョイ bf3c-3MUK)
2017/04/01(土) 13:27:14.73ID:rQd+4FjZ0ワードが入っていたら .docx 形式でも出力できるけど入っていなかったら .txt でしか出力できないアプリケーションとか
アーリーバインディングだとワードが入っていないと起動時にエラーになってしまう
0455デフォルトの名無しさん (ワントンキン MM5f-kVPK)
2017/04/01(土) 15:53:32.08ID:5FvkGkF1Mそうだよ
0456デフォルトの名無しさん (ワッチョイ 933c-IrRS)
2017/04/01(土) 16:01:35.63ID:G9tEFdZv0>>454これってことは、レイトバインディングにすればエラー処理できるってことじゃね
0457デフォルトの名無しさん (ワッチョイ 231f-LJFa)
2017/04/01(土) 18:28:29.29ID:8wy/1/I/0>>452色々調べてはいるのですが、どうしてもこれを可変で処理する方法が分からないんですよね・・。
ピボットテーブルもWEB上には色々効率的なコードが転がってはいますが、
変数が多すぎてついていけない。
0458デフォルトの名無しさん (ワッチョイ cfe2-agmj)
2017/04/01(土) 21:59:28.77ID:lUr6QvnA0それじゃ、これ
TableDestination:=ActiveSheet.Range("A3")
0459デフォルトの名無しさん (ワッチョイ efa6-agmj)
2017/04/02(日) 18:19:27.98ID:KXMXncpS0PivotCachesをつくってからPivotTableを作るとか
xlPivotTableVersion14とかなんか興味深いな
0460デフォルトの名無しさん (ワッチョイ cf1f-LJFa)
2017/04/02(日) 19:46:07.86ID:psC2KS+G0返事遅くなりました。
おぉすごい、出来ました!ありがとうございます。
自分でも少し勉強します^^
0461デフォルトの名無しさん (ワッチョイ cf1f-LJFa)
2017/04/02(日) 19:47:18.45ID:psC2KS+G0私はピボットとかは全然分からないですね・・(汗)
既存のピボットを弄る事はあってもマクロは全然です。
0462デフォルトの名無しさん (ワッチョイ 7fd4-AfcP)
2017/04/03(月) 22:28:12.80ID:ws8Oa/qx00463デフォルトの名無しさん (ワッチョイ efa6-agmj)
2017/04/04(火) 00:52:27.87ID:Ib2dH6db00464デフォルトの名無しさん (ワッチョイ b3b2-QmV0)
2017/04/04(火) 12:05:24.91ID:C58fgB5p00465デフォルトの名無しさん (ワッチョイ 73ed-FZog)
2017/04/04(火) 14:44:33.99ID:2bh8c/Gg0Sub セル前後の空白を削除()
Dim rg As Range
For Each rg In Range("A1").CurrentRegion
rg.Value = Trim(rg.Value)
Next
End Sub
これを実行すると合計が2倍になってしまうのは、どこか間違っているのでしょうか?
0466デフォルトの名無しさん (ワッチョイ b344-+x88)
2017/04/04(火) 17:10:34.71ID:HBJeD6ul0rg.Value = Trim(rg.Value)
により
途中の SUBTOTAL()関数を 関数→数値に代えてしまってるから
0467465 (ワッチョイ b3e9-FZog)
2017/04/04(火) 19:39:54.18ID:uM/SdqAx0ああっ、そういえば。SUBTOTALが入ったセルを除外する処理を入れないとダメなんですね。
参考になりました。ありがとうございます。
0468デフォルトの名無しさん (ワッチョイ 73ed-FZog)
2017/04/05(水) 10:36:43.87ID:Xkef/zrk0自己レス。いちおう、こんな風で落ち着きました。
Sub セル前後の空白を削除()
Dim rg As Range
For Each rg In Range("A1").CurrentRegion
If rg.HasFormula = 0 Then rg.Value = Trim(rg.Value)
Next
End Sub
0469デフォルトの名無しさん (ワッチョイ bfc7-uDDa)
2017/04/05(水) 22:59:44.18ID:bozOnK090どうして 「.column(n列目)」つけると個別に処理できなくなるんですか
教えて偉い人
0470デフォルトの名無しさん (ワッチョイ 834c-QmV0)
2017/04/05(水) 23:05:46.79ID:I3kTsTUe0Columnって数値でしょ。
Columnsの事なら、それ自体がコレクションだから個別セルを扱いたい場合は、
さらにCellsを加えないといけない。
0471デフォルトの名無しさん (ワッチョイ bf92-6pw6)
2017/04/05(水) 23:08:39.06ID:xUPLXnHU0何で?
何で?
何で?
0472デフォルトの名無しさん (ワッチョイ bfc7-uDDa)
2017/04/05(水) 23:18:29.56ID:bozOnK090ありがとうございます!
0473デフォルトの名無しさん (ワッチョイ 723f-D6lx)
2017/04/06(木) 08:50:45.04ID:1P9LZSMX0FROM句がない
もしかして:Select Case
0474デフォルトの名無しさん (ワッチョイ f272-Cp7l)
2017/04/06(木) 22:47:54.34ID:Ktf5vqAp0同じブック内だとうまういくのに
ってか関数だからスレ違いかな?
0475デフォルトの名無しさん (ワッチョイ f2a8-02AM)
2017/04/06(木) 23:07:08.37ID:Tp8jJnlv0Excel総合相談所 126 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/bsoft/1490439044/
0476デフォルトの名無しさん (ワッチョイ f292-3qVo)
2017/04/06(木) 23:17:59.97ID:f9apYHG50Fromは書いたんだけどね。
Select 列名 From 〜 だとOKで、
Select Replace(列名, 'ああああ', 'いいいい') From 〜 は駄目だった。
ググっても、Excelの例が見つからないので、
Accessの例に倣ったんだけど、Microsoftのは構文同じでしょ?
0477デフォルトの名無しさん (アウアウカー Sa7f-DYLG)
2017/04/06(木) 23:28:11.73ID:WCxnVg84a状況はよく分からんけど
こういうことだとエスパー
http://www.office-kitami.com/lesson/afunction/replace.html
0478デフォルトの名無しさん (ワッチョイ f34c-02AM)
2017/04/06(木) 23:43:19.22ID:MYxMcZ2k0たとえ同じファイルを参照していても、
Accessからアクセスした時のSQLと、Excelからアクセスした時のSQLでは使えるものが違うので、
それぞれ調べなきゃならない。
しかも「エラーが出ずに通るけど無効な関数」とかもあるから、いちいち結果を出力してAccessの結果と比べないと危ない。
ExcelでSQLは鬼門やで・・・。
0479デフォルトの名無しさん (ワッチョイ 33d5-02AM)
2017/04/06(木) 23:56:10.76ID:xeplHFL10Debug.Print "集計完了"、とか、Debug.Print "エラー発生"、じゃなくって、音声を再生したい。
『集計完了』とか『エラー発生』って鳴らしたい。なんか方法ないですかね?
0480479 (ワッチョイ 33d5-02AM)
2017/04/06(木) 23:59:20.97ID:xeplHFL10wavファイルをいちいち作るのが手間なんです・・・
0481デフォルトの名無しさん (ワッチョイ bf44-mAnV)
2017/04/07(金) 00:01:33.00ID:0bs4cMEY0Application.Speech.Speak "集計完了"
Speech.Speak メソッド (Excel)
https://msdn.microsoft.com/ja-jp/library/office/ff839393.aspx?f=255&MSPPError=-2147217396
0482デフォルトの名無しさん (ワッチョイ 33d5-02AM)
2017/04/07(金) 00:15:25.28ID:OwFROFWv0うわっ、こんなのあるのかー
でも2013以降なのか、2010なんですよ・・・
0483デフォルトの名無しさん (ワッチョイ f34c-02AM)
2017/04/07(金) 00:24:29.63ID:nbSX3oPN0そっち方面を調べてみればいいんじゃないの。
0484デフォルトの名無しさん (ワッチョイ bf44-mAnV)
2017/04/07(金) 00:25:31.55ID:0bs4cMEY0Excel2002以降のようだが?
https://www.moug.net/tech/exvba/0150100.html
0485デフォルトの名無しさん (ワッチョイ 33d5-02AM)
2017/04/07(金) 00:40:04.51ID:OwFROFWv0そうなんですか?
>>481のリンク先に以下のように書いてあったんで。
Speech.Speak メソッド (Excel)
Office 2013 and later
引数として渡されたテキスト文字列を再生します。
"
>>484のリンク先は明日読ませてもらいます。睡魔が半端ないんで。すいません。
0486デフォルトの名無しさん (ワッチョイ 7ea6-D6lx)
2017/04/07(金) 02:35:29.53ID:cGej90XV010年前からこれだけでしゃべるよ
0487デフォルトの名無しさん (ワッチョイ f272-Cp7l)
2017/04/07(金) 06:15:58.82ID:HnQOnsxg0ありがと!
0488デフォルトの名無しさん (ワッチョイ c7a6-D6lx)
2017/04/07(金) 06:25:37.49ID:Zd3zHmp50CreateObject("SAPI.SpVoice")
(もしくはNew)をしてるだけ?
0489デフォルトの名無しさん (ワッチョイ 7235-zcaE)
2017/04/07(金) 10:38:33.32ID:bGMK3jqg0どうしたらいいですか?
0490デフォルトの名無しさん (ワッチョイ 361f-02AM)
2017/04/07(金) 11:02:03.18ID:dnEqleWu0別名指定してみたら?
Select Replace(列名, 'ああああ', 'いいいい') as 別列名 From 〜
0491デフォルトの名無しさん (ワッチョイ bf44-mAnV)
2017/04/07(金) 11:12:58.13ID:0bs4cMEY0これかな?
https://kokodane.com/tec3_12.htm
0492デフォルトの名無しさん (ワッチョイ 7235-zcaE)
2017/04/07(金) 13:12:39.98ID:bGMK3jqg0うちのPCは日本語が選択できんがな
0493デフォルトの名無しさん (アウアウオー Saca-+7P/)
2017/04/07(金) 13:21:53.62ID:6Wlg5hfVa0494デフォルトの名無しさん (オイコラミネオ MM0e-UOT4)
2017/04/07(金) 14:52:21.87ID:uXbjTNllM0495デフォルトの名無しさん (JP 0Hce-UDlz)
2017/04/07(金) 15:07:20.55ID:IIlb/TvMH1. inputboxで検索文字列を入力する
2. 全シート対象に文字列検索する
3. 一致したセルに図形を配置する
4. その図形にハイパーリンクを設定
のどこがどううまくいかないんだ?
0496494 (オイコラミネオ MM0e-UOT4)
2017/04/07(金) 15:17:25.00ID:uXbjTNllM全シート検索がうまくいかない。。。
アクティブなシートだけにならなんとか流れるだけど。
0497デフォルトの名無しさん (JP 0Hce-UDlz)
2017/04/07(金) 15:22:01.01ID:IIlb/TvMH「全シートを対象」というのがわからないなら、シート毎に処理するようにすればいい。
dim ws as worksheet
for each ws in worksheets
' ws.find
next
0498494 (オイコラミネオ MM0e-UOT4)
2017/04/07(金) 15:29:34.46ID:uXbjTNllMごめん、そのコードすらいまいちよくわかんないゴミクズなんだ。
0499デフォルトの名無しさん (JP 0Hce-UDlz)
2017/04/07(金) 15:33:20.72ID:IIlb/TvMHうーむ、誰かが完全なマクロをレスするのを待て。俺は書かない。
0500デフォルトの名無しさん (ワッチョイ b234-RYNW)
2017/04/07(金) 15:36:33.36ID:Oq0EZ/9X0横軸をSeriesCollectionで12個のセルを参照すると
12個以上の項目が表示されてしまいます
原因がわかれば是非教えていただきたいです…
0501デフォルトの名無しさん (ワッチョイ f73c-+7P/)
2017/04/08(土) 14:50:44.08ID:btIuJTXZ0for eachわからんの?
それともわかる気がないの?
0502デフォルトの名無しさん (ワッチョイ 071e-D6lx)
2017/04/08(土) 20:13:36.55ID:ax68zM2O00503デフォルトの名無しさん (アウアウオー Saca-nK7d)
2017/04/08(土) 20:32:27.65ID:LI4hBHCca特定の文字が含まれた行があるとき、行全てを置換したいのですがどうすれば良いですか?
Replaceだと文字対文字の置換なのでちょっと違うし。解説HPとかヒントでも有れば嬉しいです。
イメージは以下です。
【置換前】
ネコ科 トラ
ネコ科 ヤマネコ
【置換後】
ネコ科 ペット
ネコ科 ペット
0504デフォルトの名無しさん (ワキゲー MM4a-1k/n)
2017/04/08(土) 20:39:44.97ID:wxtiD9e4M¥1ペット
0505デフォルトの名無しさん (ワッチョイ 071e-D6lx)
2017/04/08(土) 21:02:06.42ID:ax68zM2O0>特定の文字が含まれた行があるとき、行全てを置換したいのですがどうすれば良いですか?
これ文面通り受け取っていいのかな?
instrして条件一致したら一行置き換えればいいだけでは?
0506デフォルトの名無しさん (ワッチョイ 071e-D6lx)
2017/04/08(土) 21:07:58.46ID:ax68zM2O0ネコ科 トラ
ネコ科 トラ トラ
【置換後】
ネコ科 ペット
ネコ科 ペット ペット
こういうパターンもあるなら前言撤回
0507デフォルトの名無しさん (アウアウオー Saca-nK7d)
2017/04/08(土) 21:24:12.12ID:LI4hBHCcaアドレス有難いのですが自分には理解出来ず申し訳ないです…
>>505
Line Inputで行毎にInstrしてヒットしたら、置換したい行を設定するイメージで合ってますか?
サンプルが「buf = .readall」だったのでその発想は無かったです。
ちょっと試してみます。
>>506のパターンは無いので問題無いです。
0508デフォルトの名無しさん (ワッチョイ 071e-D6lx)
2017/04/08(土) 21:43:31.36ID:ax68zM2O0>Line Inputで行毎にInstrしてヒットしたら、置換したい行を設定するイメージで合ってますか?
うん、そのまんま。
もっといいやり方があるかもしれんが。
0509デフォルトの名無しさん (ワキゲー MM4a-1k/n)
2017/04/08(土) 21:50:45.26ID:wxtiD9e4Mアドレスじゃなくて正規表現の置換
0510デフォルトの名無しさん (ワッチョイ 0775-fmtp)
2017/04/08(土) 22:15:17.56ID:3lVKbMBk0C#をメインでやってきて少し戸惑っているのですがマクロ開始後最初に呼び出されるのはどのメソッドなのでしょうか?
一番上に書かれたものが呼び出されると解釈してよろしいのでしょうか?
0511デフォルトの名無しさん (ワッチョイ fb74-3qVo)
2017/04/08(土) 22:21:14.14ID:2xcpydgL0エディタを開いた時にカーソルのある場所の手続きが呼び出される
カーソルが手続きの外にある場合はメニューが出て、どれを実行するか聞いてくる
0512デフォルトの名無しさん (ワッチョイ c7a6-D6lx)
2017/04/08(土) 22:23:04.37ID:IgB5Aui10マクロをどうやって開始したのか?
0513デフォルトの名無しさん (ワッチョイ bfb2-02AM)
2017/04/08(土) 22:55:44.24ID:Cpm5lj5Q0成る程・・・Cとかのプログラミングに慣れてると、いわゆるMain()に該当することがなくて戸惑うかも。
VBAはExcelベース上で動いているのでMain()が必要ない。
マクロの発生要因は
・開発者によるVBEでのF5(選択or入力カーソル位置)
・ExcelユーザーによるAlt+F8
など。いきなり好きなメソッドが呼び出せる
あとはワークシート、ブックに対するイベントとかかな
0514デフォルトの名無しさん (ワッチョイ f34c-02AM)
2017/04/08(土) 23:20:41.62ID:t5AmMYig0機能毎にマクロを実行するからMainの代わりにそれぞれの開始関数名をどこかで登録する必要がある。
0515デフォルトの名無しさん (ワッチョイ c7a6-D6lx)
2017/04/08(土) 23:41:17.05ID:IgB5Aui100516デフォルトの名無しさん (ワッチョイ f2a8-02AM)
2017/04/08(土) 23:42:45.49ID:D94oPcWW0が真っ先に起動する…んだっけ
0517デフォルトの名無しさん (アウアウカー Sa7f-L9Vk)
2017/04/09(日) 00:11:48.07ID:lQBiHSn0aいろんなイベントが有るだろ。
特にこれといったイベントが無くても開始するイベントを作ってそれをトリガ−にする。
例えばある人はシート上にボタンを配置する。
またある人はリボン上にメニューを作る。
0518デフォルトの名無しさん (ワッチョイ fb74-3qVo)
2017/04/09(日) 00:39:13.93ID:0T9WQSVM00519デフォルトの名無しさん (アウアウオー Saca-+7P/)
2017/04/09(日) 15:05:16.55ID:s/MOydAOareadallをそのまま適用したいなら、bufを改行文字列でsplitしてやればいい
0520デフォルトの名無しさん (ワッチョイ 0775-fmtp)
2017/04/09(日) 21:10:18.84ID:CmOZu5nV0なるほどです
VBA勉強中ですが、なかなかVBAが体に染み込んでいかないです
どこに何があるのか、どうやったらアクセスできるのかが直感的にわからないです
0521デフォルトの名無しさん (ワッチョイ bf76-DYLG)
2017/04/10(月) 06:30:37.72ID:cMM9qeDL0自分で作ったものならどうすれば何が走ってどのようなことを行うのかは分かるだろうけど
人が作ったものは分かり辛いかもね。
そこは仕様書や使用方法を書いたマニュアルを読むっていうのはC#もVBAも同じ。
0522デフォルトの名無しさん (スップ Sdb2-dvjh)
2017/04/10(月) 07:09:47.83ID:EfXFmhz1d0523デフォルトの名無しさん (ワントンキン MMa2-DYLG)
2017/04/10(月) 08:46:37.11ID:hdoLf+mbM業務都合で周りから押し付けられでもしなければVBAを始めようという気にはなれない
とはいえ数の暴力民主主義の国だから自分だけExcel VBAを完全に切り捨てることは難しい
悩ましいものだ
0524デフォルトの名無しさん (ワッチョイ fb74-3qVo)
2017/04/10(月) 09:11:59.54ID:IaJx3M8300525デフォルトの名無しさん (ワッチョイ 22d4-D6lx)
2017/04/10(月) 11:05:12.36ID:MPkrkSeN00526デフォルトの名無しさん (ワッチョイ 7ec8-L9Vk)
2017/04/10(月) 11:12:07.05ID:4S+rUpq80C#のように別でコンパイル必要な面倒臭さが無いのが良いんだよ。
その場でhogeることが出来る。
単独で弄れるのが良い。
もっともexe作るという点で見ればC#も単独で弄るわけで変わらん。
別にJavaだろうがCだろうがどんな言語だろうが違和感なく使えると思うけど。
0527デフォルトの名無しさん (スップ Sdb2-dvjh)
2017/04/10(月) 11:33:09.05ID:EfXFmhz1d0528デフォルトの名無しさん (ワッチョイ f34c-02AM)
2017/04/10(月) 11:44:58.46ID:NXILpash00529デフォルトの名無しさん (ササクッテロリ Sp57-nK7d)
2017/04/10(月) 12:45:06.02ID:ZgItd0IMpお陰様でなんとかなりました。
ありがとうございます。
0530デフォルトの名無しさん (ワントンキン MMa2-DYLG)
2017/04/10(月) 20:45:24.93ID:PuxDSywIMコマンド1発だし最近はビルド速いし大したデメリットじゃないよ
VBEとかいう産廃IDEの劣悪な環境に付き合える超人的忍耐力があるならなんも気にならん
0531デフォルトの名無しさん (アウアウカー Sa7f-DYLG)
2017/04/10(月) 20:56:56.19ID:DkOhh7bVaえー
コンパイル対象がいっぱいあってコンパイル順序が
手順書に記載されていないと調べるのも大変だよ。
DLL内でDLLを参照してたりしてて、
どのインスタンスがインターフェースに設定されて呼ばれてくるのかよく分からないときとか
トレースしてても動きがよく分からないときとかあるし。
0532デフォルトの名無しさん (ワッチョイ 0706-fmtp)
2017/04/10(月) 20:58:54.70ID:cTcnvSML0業務で使うみたいなので勉強中なのです
関数の呼び出しも複数あるのが気に入らないですね
引数の定義もなんであんな呼び方ができるのかわからないですし
とりあえず演習問題やりながら慣れていくしかなさそうです
0533デフォルトの名無しさん (ワッチョイ 0706-fmtp)
2017/04/10(月) 21:05:22.06ID:cTcnvSML0ほんと慣れしかないですね
0534デフォルトの名無しさん (ワントンキン MMa2-DYLG)
2017/04/10(月) 21:18:01.87ID:PuxDSywIM手順書文化とはまたエクセルマンらしいね
まさかとは思うけど手順書とやらに従って手作業で順番にコンパイルするのかい?
普通はコマンド1発あるいはボタン1発で全てのビルド工程が進むように開発するものだよ
1発で終わるものに手順もクソもないよね
0535デフォルトの名無しさん (ワッチョイ f34c-02AM)
2017/04/10(月) 21:43:25.91ID:NXILpash0VBAでDLLフル活用なんて場面そんなにないだろ。
0536デフォルトの名無しさん (ワッチョイ f272-Cp7l)
2017/04/10(月) 21:49:01.44ID:qa3tuUv00htmlとして保存して画像を取り出すマクロではうまくいかなかった
他良い方法あるかなあ?
0537デフォルトの名無しさん (ワッチョイ bf44-mAnV)
2017/04/11(火) 05:46:19.28ID:Y2tt5zWL0したものをChartObjectへ貼り付けてExport
0538デフォルトの名無しさん (ワッチョイ bfb2-02AM)
2017/04/11(火) 15:17:40.87ID:zuhsCqBk024:00以上も扱えるユーザー定義クラスって何処かに流れてないかな?
0539デフォルトの名無しさん (ワッチョイ fb74-3qVo)
2017/04/11(火) 15:23:28.88ID:o/k96Ri60シリアル値の計算は24以下かどうかの区別なんてしてないから、あとは高確率で表示形式だけの問題
0540デフォルトの名無しさん (JP 0Hce-UDlz)
2017/04/11(火) 15:38:23.80ID:Ei1BFwyDH以降、自分が書いたコードを先に書くようにしてくれ。
0541デフォルトの名無しさん (ワッチョイ b234-RYNW)
2017/04/11(火) 15:41:08.64ID://PtMwgR00542デフォルトの名無しさん (ワッチョイ bfb2-02AM)
2017/04/11(火) 17:25:31.72ID:zuhsCqBk0問題は色々あるが、まずキャストの問題
tm = TimeValue("25:00") '型が一致しません。
tm = CDate("25:00") '型が一致しません。
次に加算した後のHour関数の問題
Hour(CDate("10:00") + CDate("20:00")) '30ではなく6と出力される。
これは以下の関数で対処した
Function HourEx(tm As Date) As Long
HourEx = CInt(tm) * 24 + Hour((tm - CInt(tm)))
End Function
分、秒にも対応しなきゃいけないし、こういうのを網羅したTimeクラス的なものが公開されてないかと思った。
仕方ないので今がんばって開発中
0543デフォルトの名無しさん (ワッチョイ f34c-02AM)
2017/04/11(火) 17:35:25.55ID:U78Liihp0NOW()で時間記録してDateDiff()と時間差で判定すりゃいいのでは?
0544デフォルトの名無しさん (ワッチョイ f34c-02AM)
2017/04/11(火) 17:37:17.00ID:U78Liihp0Datediff("h","2016/4/1 1:00:00","2016/4/2 2:00:00")
これで25と出た。
0545デフォルトの名無しさん (JP 0Hce-8Vmj)
2017/04/11(火) 17:38:32.00ID:Ei1BFwyDH"DateTime"とは一体何だったのか。
普通の人は普通に足し算して普通に表示してますな。
> 問題は色々あるが、まずキャストの問題
> tm = TimeValue("25:00") '型が一致しません。
マニュアル見ろ。
> tm = CDate("25:00") '型が一致しません。
マニュアル見ろ。
ここまでで解決方の糸口を見つけることができないのなら、ググれ。
https://www.google.co.jp/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=vba+24%E6%99%82%E9%96%93%E4%BB%A5%E4%B8%8A+%E8%A8%88%E7%AE%97
0546デフォルトの名無しさん (ワッチョイ bfb2-02AM)
2017/04/11(火) 18:08:10.76ID:zuhsCqBk0でも例のように入力値は日付シリアルではなく、文字列で"25:00"とかなんです。
ソースが別アプリの出力txtなので・・・
>>545
解決の糸口を聞いているのではなく、「時間操作でよく使う機能をまとめたクラスやモジュールはないか」と聞いている。
キャスト部分だけ自作すればDateAdd、DateDiffが使えるので、例が悪かったかもしれません。
とりあえず完成したので〆ます。
ありが
0547デフォルトの名無しさん (JP 0Hce-8Vmj)
2017/04/11(火) 18:18:58.64ID:Ei1BFwyDH0548デフォルトの名無しさん (ドコグロ MM27-GUhT)
2017/04/11(火) 18:49:49.30ID:5gfMDwL0M入力部分だけ作ればいいだけだろ
自分の用途にぴったりなクラスを夢見てさまよう間にできると思うぞ
0549デフォルトの名無しさん (ワッチョイ f272-Cp7l)
2017/04/11(火) 21:14:04.97ID:nHmQEt9Z0もう少し詳しく教えてほしい!
0550デフォルトの名無しさん (ワッチョイ bf44-mAnV)
2017/04/11(火) 22:40:41.31ID:Y2tt5zWL0詳しくもなにも そのまんま >>265 にもその 回答あるよ
因みにExcelのバージョンによって挙動が違う見たいで
もし 真っ白な画像が出来上がってしまったら
ChartObject を Select してから ペーストしたら良いかも
俺ん所では↓で上手くいった
Set Sel = Selection
Sel.CopyPicture Appearance:=xlScreen, Format:=xlPicture
With ActiveSheet.ChartObjects.Add(0, 0, Sel.Width + 2, Sel.Height + 2)
.Select
.Chart.Paste
.Chart.Export Filename:="D:\TEST.JPG", filtername:="JPG"
.Delete
End With
0551デフォルトの名無しさん (ワッチョイ f272-Cp7l)
2017/04/11(火) 22:55:45.99ID:nHmQEt9Z0おお、すんません、ありがとう!試してみる!
0552デフォルトの名無しさん (オイコラミネオ MM0e-nOqi)
2017/04/12(水) 18:17:43.45ID:odpxAiBvMセルからスクリーン座標を求めるコードでWindowsデスクトップの拡大率が100%以外でも動くものは無いでしょうか?
よろしくお願いします。
0553デフォルトの名無しさん (オイコラミネオ MM0e-Y1rU)
2017/04/12(水) 20:03:48.79ID:sOdmsaLNMRelaxToolsの強調シェイプが最近進化してて、シェイプにマウスカーソルを上手く当ててるけど、あれ10%に縮小しても動いてたで。
あれ、参考にすればスクリーン座標からポイントに変換できそう。ウィンドウの分割も出来てたような。
0554デフォルトの名無しさん (オイコラミネオ MM0e-Y1rU)
2017/04/12(水) 20:14:50.00ID:sOdmsaLNMデスクトップの拡大率か。DPI(96)が変わるのでWindows APIで取得する必要あり。
0555デフォルトの名無しさん (ワイモマー MM0a-Avuj)
2017/04/12(水) 20:38:31.49ID:U8wFqScOMGetDeviceCapsを使えばいいのでしょうか?
マルチディスプレイでスケーリングが異なる場合はどうすればいいでしょうか?
0556デフォルトの名無しさん (ワッチョイ 22d4-UDlz)
2017/04/12(水) 22:01:01.88ID:8AVsu0eO0ウィンドウ事にDPIが取れるかもね。
hWnd = ActiveWindow.hWnd
hDc = GetDC(hWnd)
dblSx = GetDeviceCaps(hDc, LOGPIXELSX)
dblSy = GetDeviceCaps(hDc, LOGPIXELSY)
ReleaseDC hWnd, hDc
0557デフォルトの名無しさん (ワッチョイ 3675-UDlz)
2017/04/12(水) 23:57:46.49ID:jYs9/xfc0D3 = g, D4 = d, D5 = A, D = b, D7 = E があります(Table2)。
Table2にないTable1の要素を見つけたいのですが、皆さんはどのような式を書きますか?
0558デフォルトの名無しさん (ワッチョイ 1f92-EvE2)
2017/04/13(木) 00:12:59.30ID:QI+xTA8L0/ / / /
/_ / / /
 ̄ / / _/ /
__/ /__/\_ /
 ̄  ̄ ̄ ̄
0559デフォルトの名無しさん (アークセー Sx6f-t+s2)
2017/04/13(木) 15:49:40.82ID:VXWvrIs2x可変する数値をキーに別ブックの検索列(1〜の連番で行が時々飛んでいる)と一致した数値の行の右2つ目△列や□列にセルA、B、Cの数値を転記したい。
可能かな?
ブック1の中のシート1
セルA 120
セルB 20
セルC 300
セルD・・・
別ブックの中のシートa
1 〇△〇〇□
2 〇△〇〇□
3 〇△〇〇□
空白
4 〇△〇〇□
5 〇△〇〇□
空白
空白
6 〇△〇〇□
7・・・
↓
3〇120〇〇20〇〇・・300 のように転記
0560デフォルトの名無しさん (JP 0H7f-V7Gz)
2017/04/13(木) 16:37:41.09ID:D0Be1kxIHおそらく可能だろうけど、疑問点があるならもっと具体的に聞いた方が回答がつきやすいと思うよ。
0561デフォルトの名無しさん (ワイモマー MMbf-KnmV)
2017/04/13(木) 21:05:32.40ID:UllVOIIxMご回答ありがとうございました。
CellScreenPosというコードが画面分割等対応しているので参考にしようと思います。
0562デフォルトの名無しさん (ワッチョイ 1f92-EvE2)
2017/04/13(木) 23:27:52.93ID:QI+xTA8L0/ _  ̄ ̄ \\ / ̄|  ̄ ̄|
/| /  ̄| ̄ \\ | | /
| _/ / / / /\
____ __/
/ __|_
\/ \\ | |
\ / /
0563デフォルトの名無しさん (アウアウオー Sabf-9zF2)
2017/04/14(金) 13:05:12.87ID:yzGhMRxVaループさせてありなしでフラグを返してなければ値を取得
0564デフォルトの名無しさん (ワイモマー MMbf-KnmV)
2017/04/14(金) 18:38:58.51ID:gFBzbqoCMWorksheet_DeactivateでアクティブシートをStatic変数に入れても現在のアクティブシートが入っちゃいます。
何かいい方法ないですか?
0565デフォルトの名無しさん (ワッチョイ 3b74-EvE2)
2017/04/14(金) 19:21:21.81ID:NzcUx+me0イベントの使い方が間違ってる
変数=ActiveSheet.Name
みたいにやってると思うけど、そうじゃなくて、全部のシートにイベントハンドラを置いて、それぞれに
変数="Sheet1"
みたいに固定値を書く
0566デフォルトの名無しさん (ワッチョイ 3b74-EvE2)
2017/04/14(金) 19:23:18.23ID:NzcUx+me0Me.Nameの方が確実で簡単
0567デフォルトの名無しさん (オイコラミネオ MM7f-fmdb)
2017/04/14(金) 19:23:53.89ID:mGXXFtQ2M0568デフォルトの名無しさん (オイコラミネオ MM7f-fmdb)
2017/04/14(金) 19:28:34.03ID:mGXXFtQ2M0569デフォルトの名無しさん (ワッチョイ 5b4c-3MbB)
2017/04/14(金) 19:47:36.28ID:b07CNRYX00570デフォルトの名無しさん (ドコグロ MM6f-RLAq)
2017/04/14(金) 19:54:00.90ID:UiWlchtOM切り替わってからどうやるつもりだよ...
ってか要件理解してないのか?
0571デフォルトの名無しさん (アウアウオー Sabf-9zF2)
2017/04/14(金) 19:58:32.60ID:ObZz6A1Da0572デフォルトの名無しさん (ワイモマー MMbf-KnmV)
2017/04/14(金) 21:26:56.49ID:gFBzbqoCM目的としてはシートを切り替える際に設定を戻したいのですが直前のシートが必要でした
0573デフォルトの名無しさん (ワイモマー MMbf-KnmV)
2017/04/14(金) 21:36:57.26ID:gFBzbqoCMPrivate Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Static strSh
strSh = Sh.Name
End Sub
でいけました
0574デフォルトの名無しさん (ワッチョイ 0fe2-HE/W)
2017/04/15(土) 08:58:38.69ID:pEx5hg7i0>>573がActivateなら
strSh1 = strSh
strSh = Sh.Name
0575559 (ワッチョイ 1f72-aU0q)
2017/04/15(土) 23:50:29.59ID:Q2tbp29Z0どう書けばいいんだろ
具体的には決まったセルにある数字を別ブックの今日の日付の列の横に転記したいんだけど…
0576デフォルトの名無しさん (ワッチョイ 9bc7-1U3j)
2017/04/16(日) 00:10:06.44ID:R21ssQqY0最初は皆必ずハマるよなそれ
0577デフォルトの名無しさん (ワッチョイ 5b4c-3MbB)
2017/04/16(日) 00:23:23.67ID:9+Oy7LWo0ソースデータと、それを手動で編集した完成図を提示してもらえば一番早い。
0578デフォルトの名無しさん (ワッチョイ 9bc7-i7kD)
2017/04/16(日) 00:28:28.17ID:R21ssQqY0それと大体のロジックと具体的に実装したコードがあれば完璧だよな
0579デフォルトの名無しさん (ワッチョイ 1f92-EvE2)
2017/04/16(日) 08:21:54.90ID:zQjS8J610>>558
0580デフォルトの名無しさん (ワッチョイ efc8-I0H5)
2017/04/16(日) 18:26:18.74ID:H1+egp250説明が下手だなあ。
今日の日付ってのが制御に何か関係有るのか?
無いならそんな文言は必要無い。
元の質問でも"右2つ目"とか質問の趣旨に関係有るのか?
"右1つ目"の回答してもどうにもならんのか?
分からないところを絞るべきだろ。
まず、検索する機能は作れるの?
作れるなら検索して得られたセルの行番号がわかるし、入力したい列番号は固定のようだから入力したいセルが分かるだろ。
0581559 (ワッチョイ 1f72-aU0q)
2017/04/17(月) 19:29:34.10ID:hVkM1VeS0皆さんありがとでした!
0582デフォルトの名無しさん (ワッチョイ 0b28-HE/W)
2017/04/17(月) 21:58:01.02ID:uRmQRumj0Worksheets("" & j & "").Range(Cells(N, 1), Cells(N, 95)).ClearContents
Next j
↓
アプリケーション定義またはオブジェクト定義のエラーです。
シートをアクティブにしなくてもできるはずなんだけどエラーになってしまいます。
変数にはちゃんと値が入っています。何がいけないんでしょう。
0583デフォルトの名無しさん (ワッチョイ 2b44-dtzd)
2017/04/17(月) 22:12:10.20ID:cXWFYTeK0>Worksheets("" & j & "").Range(Cells(N, 1), Cells(N, 95)).ClearContent
これがいけない
Worksheets("" & j & "").Range( ) は 指定したシートなんだけど
Cells(N, 1)と Cells(N, 95)は アクティブシートだから
0584デフォルトの名無しさん (ワッチョイ 1f92-EvE2)
2017/04/17(月) 22:20:18.77ID:9+Ob3MV700585デフォルトの名無しさん (ワッチョイ 2b44-dtzd)
2017/04/17(月) 22:28:11.13ID:cXWFYTeK0J=0 の時 エラー(インデックスが有効範囲にありません)になる
0586デフォルトの名無しさん (ワッチョイ 1f3c-3MbB)
2017/04/17(月) 22:41:30.61ID:4G6Bl6ev0の方がスッキリするかな。
0587デフォルトの名無しさん (ワッチョイ 0b28-HE/W)
2017/04/17(月) 22:44:04.84ID:uRmQRumj0ありがとうございます。
RowsかWithを使ってみます。
0588デフォルトの名無しさん (オイコラミネオ MM7f-+aVR)
2017/04/18(火) 17:36:12.02ID:73dv2MT1M.Range(.Cells(14,1),.Cells(14,1)).Clear
End With
じゃ駄目?
0589デフォルトの名無しさん (オイコラミネオ MM7f-+aVR)
2017/04/18(火) 17:41:15.02ID:73dv2MT1MWith Worksheets(var)でインデックスが見つからないって怒られた
varが空ならその行まで到達しないのに
仕方がないからWithを使わずに書いたらエラーなし
何で?
0590デフォルトの名無しさん (アウアウカー Saef-I0H5)
2017/04/18(火) 18:20:14.11ID:F/AGHme5aOKっぽいけど同じセルだったらRangeなんて使わずに最初からCellsで良いんじゃね?
>>589
varの中身は何だったの?
空ならWith無しでも駄目じゃね?
0591デフォルトの名無しさん (ワッチョイ 5b4c-3MbB)
2017/04/18(火) 18:37:14.33ID:7A78+rnu0その辺りに原因がありそうだなぁ。
特にVariant型で判定かませる時はパターン覚えておかないと想定した動作にならないんだよね。
0592デフォルトの名無しさん (ワッチョイ 0fae-HE/W)
2017/04/18(火) 18:54:43.06ID:qBnERa1Y0問題ない
sh = ""
If False Then
With Worksheets(sh)
.Select
End With
End If
0593デフォルトの名無しさん (ドコグロ MMbf-RLAq)
2017/04/19(水) 08:16:52.74ID:CJSzniGcMなら CStr( ) 使え
そもそも後ろの & "" は要らんし
0594デフォルトの名無しさん (ドコグロ MMbf-RLAq)
2017/04/19(水) 08:19:36.68ID:CJSzniGcMコードさらして
どう見てもお前さんの勘違いにしか見えない
0595デフォルトの名無しさん (ワッチョイ 9fed-vAHc)
2017/04/19(水) 11:40:03.76ID:cqBiN5Ye0cellsとかでアドレス指定するときに
列を英文字から番号に簡単に変更する方法って何かありますか?
Excelのシート自体はR1C1をデフォにはしたくありません
何かのキーを押してる間だけR1C1表示にできれば便利そうだけど
あとはどこかに早見表でも作っておいておけばいいのか
なにか良い知恵があれば教えてください
0596デフォルトの名無しさん (ワッチョイ 1f35-jM4a)
2017/04/19(水) 11:46:59.87ID:KzHho16m0Fundtion GetColumnNumberFromAlphabet (Txt as String) as integer
という関数を作る。
関数の中身は
・RegularExpressionを使いTxtがアルファベットのみで有効な範囲であることを保障。
・For i=1 to Len(Txt)で回して計算する。
0597デフォルトの名無しさん (ワッチョイ 2b44-dtzd)
2017/04/19(水) 12:05:53.06ID:xGoswchF0難しく考えんでも これでいいんじゃないの?
MOJI = "CQ"
NUM = Range(MOJI & 1).Column
あとこうゆう方法もアリだとおもう(つか俺は良く使う)
Cells(1,"CQ")
0598デフォルトの名無しさん (アメ MM2f-oBn4)
2017/04/19(水) 12:07:08.40ID:RcDwGPTOMイミディエイトウィンドウで、
? range("AA1").column
一番上の行を空けといて、そこに数値(列番号)を入れておくとか
200か300くらいまでなら、一覧表を印刷して机に挟んでおく
0599デフォルトの名無しさん (アメ MM2f-oBn4)
2017/04/19(水) 12:13:16.96ID:RcDwGPTOMボタン一つでA1形式とR1C1形式を切り替える方法
というのが出てくるよ。
0600デフォルトの名無しさん (アウアウオー Sabf-9zF2)
2017/04/19(水) 12:28:22.62ID:7/XF3K3Ra単純にアルファベットだからテーブルつくっといて検索とかでも良さそうだが
0601デフォルトの名無しさん (ワッチョイ 9fed-vAHc)
2017/04/19(水) 13:54:36.52ID:cqBiN5Ye0みなさんありがとうございました
アドレスは変数として使用したいことが多いので
任意のセルアドレスを簡単に数字に戻せたら…と考えていました
>>599の方法を検索して組み込んだら一番理想に近い状況を構築できました
本当にありがとうございました
0602デフォルトの名無しさん (ワキゲー MMbf-Oj0b)
2017/04/19(水) 14:54:59.16ID:Rk+PkBJvM0603デフォルトの名無しさん (ワッチョイ facd-+atG)
2017/04/20(木) 23:21:42.24ID:rsUIJG5Q0ここのNo3の回答の人のサンプルを元に
郵便番号から都道府県を引っ張ってくるの作ったんですがすごい遅いです
A.csvは6行しかなくて中身は郵便番号が書いてあります
B.csvは日本郵便のHPからダウンロードした全国版CSVです
下のような感じでA.csvにB.csvの都道府県名をJOINでくっつけようとしたんですが遅くて・・・
速くする方法ありますか?
SELECT [A#csv].[郵便番号], [B#csv].[都道府県]
FROM [A#csv] LEFT JOIN [B#csv] ON [A#csv].[郵便番号] = [B#csv].[郵便番号]
0604デフォルトの名無しさん (ワッチョイ 0a92-VYzI)
2017/04/20(木) 23:31:38.75ID:R/f5yW5i0ADOとかいう、参照設定するやり方ばっか出てくるのは何故?
MicrosoftQuery(外部データの取り込み)のSQLじゃダメなの?
0605デフォルトの名無しさん (アークセー Sx23-lqRy)
2017/04/21(金) 08:33:51.52ID:LWRI+6r2x可能なところは数値と単位を
使って表現してね。
ディクショナリにする
0606デフォルトの名無しさん (ワッチョイ bb8c-Z3RH)
2017/04/21(金) 18:53:05.44ID:OuvQ8kFd0IEで表示した場合、スレの下部に表示されている read.cgi のバージョンが拾えないものがあります
IEでの表示
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 05.02.02 2014/06/23 Mango Mangue ★
FOX ★ DSO(Dynamic Shared Object)
例えば、
大乱闘スマッシュブラザーズforWiiU Part927
http://mastiff.2ch.net/test/read.cgi/famicom/1420038262/
このスレの場合、
For i = htmlDoc.body.all.Length - 1 To 0 Step -1
tmpStr = htmlDoc.body.all(i).innerText
Next i
これでループを回しても、
「Mango Mangue ★」は取得できますが、「read.cgi ver 05.02.02 2014/06/23」と取れず、
nul(?)が2回出た後に、「最新50」の取得になります。
どうすれば、read.cgi のバージョンを拾えるようになるのでしょうか、お手数ですが教えてください。
0607デフォルトの名無しさん (ワッチョイ 2fc7-CZOi)
2017/04/21(金) 19:08:02.39ID:v65xqcGu0ペチパーにでも聞いてみたら?
0608デフォルトの名無しさん (ワッチョイ bb8c-Z3RH)
2017/04/21(金) 19:15:02.29ID:OuvQ8kFd0いろいろググってたら、
htmlDoc.all(0).innerText
とりあえず、これで全テキストが取得できるのでここから抽出することにします
ありがとうございました。
0609デフォルトの名無しさん (ワッチョイ 0a92-VYzI)
2017/04/22(土) 00:06:36.02ID:BgioDdY10Rows(a).DeleteがあるからDelete Fromなんか要らねーと思ってたが、
やっぱ要るじゃん。
うわぁぁぁぁぁあ
0610603 (ワッチョイ facd-+atG)
2017/04/22(土) 01:54:48.82ID:UjWxDTr10レスありがとうございます
>可能なところは数値と単位を使って表現してね。
>ディクショナリにする
どういう事でしょうか?
言ってる事が難しくて分かりません
0611デフォルトの名無しさん (ワントンキン MMfa-XsL7)
2017/04/22(土) 09:48:08.72ID:q7RVgL7FMCSVじゃインデックスは効かないだろうな
Bの件数次第でやり方は変わるだろうけど
先にBを読み取って辞書(郵便番号->都道府県)を作ればいいよ
0612デフォルトの名無しさん (ワッチョイ bfd5-5GSV)
2017/04/22(土) 17:58:27.62ID:vuuJCZpJ0ActiveSheet.Shapes.Range(Array(1, 2, 3, 4, 5)).select
複数のチャートを選択したいのですが、同じようにできないかと下のように書いたのですが、
”指定した名前のアイテムが見つかりませんでした”と表示されてしまいます。
ThisWorkbook.Worksheets("Chart").ChartObjects(Array(1, 2, 3, 4, 5)).select
複数チャートを選択するにはどうしたらいいですか?
0613612 (ワッチョイ bfd5-5GSV)
2017/04/22(土) 18:06:41.51ID:vuuJCZpJ0ThisWorkbook.Worksheets("Chart").ChartObjects(1).select、←これらはエラー出ません。一つのチャートの選択は無事行えることは確認しています。
0614デフォルトの名無しさん (ワッチョイ bb44-X1R2)
2017/04/22(土) 18:10:40.36ID:1l1ZtU0Z0マクロの記録
ActiveSheet.Shapes.Range(Array(1, 2, 3, 4, 5)).select
0615デフォルトの名無しさん (ワッチョイ bfd5-5GSV)
2017/04/22(土) 18:27:02.22ID:vuuJCZpJ0マクロの記録も試してみたんですが、下のようなわけわからないものが・・・
ActiveSheet.Shapes.Range(Array("Chart 1", "Chart 1", "Chart 1", "Chart 1", "Chart 1")).Select
選択しているチャートのShapesインデックス番号がわかれば、
ActiveSheet.Shapes.Range(Array(1, 2, 3, 4, 5)).select、でできるのですが、インデックスがわからない・・・
Shapesインデックスを知る方法でもいいので教えてもらえないでしょうか?
0616603 (ワッチョイ facd-+atG)
2017/04/22(土) 21:35:17.51ID:UjWxDTr10レスありがとうございます
その辞書というのは何ですか?
すみませんが>>605さんと>>611さんの説明だと全く分からないので
具体的に説明してくれるかたいたら教えてくださいよろしくお願いします
0617デフォルトの名無しさん (ワッチョイ 1ee2-HDOw)
2017/04/22(土) 21:55:13.73ID:4NYuNeeF0Dictionary オブジェクト
https://msdn.microsoft.com/ja-jp/library/cc428065.aspx
0618603 (ワッチョイ abcd-+atG)
2017/04/22(土) 22:33:54.17ID:ZFb0wm2a0レスありがとうございます
こんなオブジェクトがあったんですね
B.csvをDictionary オブジェクトに読み込んで
A.csvの郵便番号を指定して検索すると速いと
>>603のADO使ってSQLでやった場合は
CSVに対してだとどう頑張っても遅いんでしょうか?
0619デフォルトの名無しさん (アークセー Sx23-lqRy)
2017/04/22(土) 23:01:04.58ID:bNnTrzKXxRBDMSを使いなさい。
0620デフォルトの名無しさん (ワッチョイ 8a3c-5GSV)
2017/04/22(土) 23:01:53.62ID:rlW8b9uo0試せてないけど、これでどうだろ?
ChartObjects.ShapeRange(Array(1, 2, 3, 4, 5)).select
https://msdn.microsoft.com/ja-jp/library/office/ff197736.aspx
ShapesのグラフだけのIndexを知りたかったら Shape.Type = msoChart で判定するとか、
いっそChartObjectsだけ for each で回すとか、色々選択肢はあるよ。
0622デフォルトの名無しさん (ワッチョイ 0a92-VYzI)
2017/04/23(日) 02:43:04.92ID:83u8f4Ah0VBAそのものがダメとかじゃなくて、
マイナーな処理についてググると、
C#の作例が9割、VBAの作例が1割とかだったりするの。
0623デフォルトの名無しさん (ワッチョイ 06a6-HDOw)
2017/04/23(日) 09:29:04.14ID:ZIkh32+O0それはExcel関連の処理でもそうなの?
0624デフォルトの名無しさん (ワントンキン MMfa-XsL7)
2017/04/23(日) 09:45:50.79ID:ZDCBOZAWM言っちゃなんだけどそれはVBAそのものがダメなんだよ
エクセル組み込みっていう些細なメリットがある以外はまともな言語じゃない
あまりにも使いにくいからプログラマはみんなExcel VBAを嫌っている
プログラマに嫌われてるってことは情報も発信されないってことだ
0625デフォルトの名無しさん (ワッチョイ bfd5-5GSV)
2017/04/23(日) 09:47:44.53ID:x3Gx0Ljx0試してみました。
ThisWorkbook.Worksheets("Chart").ChartObjects.ShapeRange(1).select、これは問題なかったですが、
ThisWorkbook.Worksheets("Chart").ChartObjects.ShapeRange(Array(1, 2, 3, 4, 5)).select、”指定した名前のアイテムが見つかりませんでした”となります。
>ShapesのグラフだけのIndexを知りたかったら Shape.Type = msoChart で判定するとか
これを試した結果、Shapesのインデックスがわかりました。
で結局、今はこれでうまくいきました
ThisWorkbook.Worksheets("Chart")..Shapes.Range(Array(a, b, c, d, e)).Select
解決しました。ありがとうございました。
0626デフォルトの名無しさん (ワッチョイ 0a92-VYzI)
2017/04/23(日) 09:47:53.63ID:83u8f4Ah0流石に、Excelの機能にしかないものはExcelの例が引っかかるけど、
SQL・IE操作・WindowsAPIは、他の例が多い。
0627デフォルトの名無しさん (ワッチョイ 7f4c-5GSV)
2017/04/23(日) 10:19:43.25ID:vXH/0lpX0VBA以外の例が出る時点で本来は管轄外だからなぁ。
VBAって何気にオールラウンダーだから、ついVBAありきで考えてしまうけど、
普通はそれぞれの目的に合わせて専用の言語でコーディングすべきなんだよな。
0628デフォルトの名無しさん (ワントンキン MMfa-XsL7)
2017/04/23(日) 11:01:27.67ID:ZDCBOZAWM専用の言語()
0629デフォルトの名無しさん (ワッチョイ 06a6-HDOw)
2017/04/23(日) 11:02:26.50ID:ZIkh32+O0(他言語はそこから呼び出すとして)
0630デフォルトの名無しさん (アークセー Sx23-lqRy)
2017/04/23(日) 11:14:46.50ID:awXVSw+lx専用の例を挙げてみてほしい
0631デフォルトの名無しさん (ワッチョイ 7f4c-5GSV)
2017/04/23(日) 11:42:46.85ID:vXH/0lpX0GUIありきのアプリケーション付属言語という括りで考えると、他にここまでの自由度がある言語ってないんじゃないかな。
>>630
Webサービスのサーバー側で使うPHPと、クライアント側で使うJavaScriptみたいなもんかな。
目的さえ果たせれば何を専用にしてもいいとは思うから一例としてね。
0632デフォルトの名無しさん (ワンミングク MMfa-XsL7)
2017/04/23(日) 12:00:51.26ID:XaJ9df8hMVBAなんてエクセルとの相互作用以外になんの使い道もない
もちろん手順を踏めば出来るっちゃ出来るがそれはハサミで魚を捌けると言ってるようなものだ
VBAは何をやらせてもそんな感じになる
オールラウンダーとは程遠いとんだ出来損ないだよ
0633デフォルトの名無しさん (スプッッ Sd4a-Vs57)
2017/04/23(日) 12:10:52.99ID:M0X6lxBnd0634デフォルトの名無しさん (ワンミングク MMfa-XsL7)
2017/04/23(日) 12:18:45.07ID:XaJ9df8hMクッソ重いエクセル開いてマウスぽちぽちとかめんどくさすぎ
0635デフォルトの名無しさん (ワッチョイ 06a6-HDOw)
2017/04/23(日) 12:29:40.88ID:ZIkh32+O0それにマウスポテチって?
0636デフォルトの名無しさん (ワンミングク MMfa-XsL7)
2017/04/23(日) 12:47:45.92ID:XaJ9df8hM一瞬で開かないし作業中はエディタとコンソール以外は無意味に開かねえよ
ポテチはコンソメがベスト
0637デフォルトの名無しさん (アークセー Sx23-IcG6)
2017/04/23(日) 13:08:47.62ID:kCZ1cMRBxユーザー企業側の内製担当者としては、クライアントPCのOfficeに実行環境が漏れなくついてくるVBAとその他の言語では実行環境構築のための事務的コストが段違いに違うと言える
0638デフォルトの名無しさん (アークセー Sx23-IcG6)
2017/04/23(日) 13:11:26.60ID:kCZ1cMRBxマイナーな処理なんてそもそもExcelとかVBAとかでやることじゃないんだよね本来は
0639デフォルトの名無しさん (スプッッ Sd4a-Vs57)
2017/04/23(日) 13:43:53.56ID:M0X6lxBnd0640デフォルトの名無しさん (ワッチョイ 1be6-C4NQ)
2017/04/23(日) 15:22:34.75ID:QY26x7Mb0経理システムとかあるでしょ
ああいう自社業務に使うシステムを、外注ではなく社員が自力で開発・メンテすることを内製と言う
テレビ局が番組の司会にタレントではなく女子アナを使ってお金を節約するのに似てる
0641デフォルトの名無しさん (ワッチョイ 06c8-yrA8)
2017/04/23(日) 16:50:01.81ID:fs201BJ10明確にExcelで出来ないことってのはあまり無い。
出来ることを知らない奴は多数いるようだが。
そもそもExcel使わないのは本末転倒だがね。
0642デフォルトの名無しさん (ワッチョイ 8a3c-AsB1)
2017/04/23(日) 17:18:19.43ID:OLTDB5Ux0> 別に言語が違うだけで、能力のある奴はVBAだろうが他の言語だろうが変わらないと思ってるだろ。
面倒だなー
って感じ
0643デフォルトの名無しさん (スプッッ Sd4a-Vs57)
2017/04/23(日) 17:29:11.81ID:M0X6lxBnd内製「担当」ってからには普通のEUC 以上の役割が当てられてるんじゃないの。
0644デフォルトの名無しさん (ワンミングク MMfa-XsL7)
2017/04/23(日) 17:43:44.08ID:XaJ9df8hM能力が同じでも言語が変われば出来ることも変わるよ
C#で大規模Webサイト構築できるやつでもVBAで同じことはできないし
C++で3Dゲーム作れるやつでもVBAで同じことはできない
製品化するようなソフトウェアはVBAじゃできないようなことばかり
VBAで出来ることなんてたかが知れてる
0645デフォルトの名無しさん (スプッッ Sd4a-Vs57)
2017/04/23(日) 17:51:06.56ID:M0X6lxBndVBAは基本自分一人のためのツールだ。
0646デフォルトの名無しさん (ワッチョイ 8a35-HDOw)
2017/04/23(日) 18:04:28.70ID:LcCDuITe00647デフォルトの名無しさん (ワンミングク MMfa-XsL7)
2017/04/23(日) 18:06:11.95ID:XaJ9df8hMクライアント環境差異を気にするならエクセルはないな
エクセルバージョンやプロセッサアーキテクチャやユーザーカスタマイズの影響が出やすい
マルチプラットフォーム対応がしやすい言語で開発してスタンドアロンパッケージにして配布するのが経験上最もトラブルが少ない
0648デフォルトの名無しさん (スプッッ Sd4a-Vs57)
2017/04/23(日) 18:06:31.08ID:M0X6lxBnd0649デフォルトの名無しさん (ワッチョイ 06c8-yrA8)
2017/04/23(日) 18:10:42.11ID:fs201BJ10出来ないか?
どっちもやろうと思ったこと無いし適用範囲外だから分からんけど。
3Dは出来そうに思うけどな。
大規模Webサイト構築って何を基に言ってる?
というかそれってほとんど言語じゃなくてライブラリの話じゃね?
0650デフォルトの名無しさん (ワンミングク MMfa-XsL7)
2017/04/23(日) 18:37:32.43ID:XaJ9df8hM>できないか?
できない
膨大化するコードベースを管理しきれないしエクセルがランタイムじゃサービスや製品としての品質を確保できない
使い物にならないオモチャみたいなサンプルを作ってVBAでもできましたと言っていいなら難しくないが
>ライブラリの話
開発環境、フレームワーク、ライブラリ、コミュニティ、書籍などの充実度
これらは言語から切っても切り離せない問題だよね
VBAなんてそれこそCOMライブラリの集合体のようなものだろう
言語とライブラリを切り離して考えたらVBAなんて本当にクソの役にも立たない産廃になってしまう
0651デフォルトの名無しさん (ワッチョイ 6b92-MAHZ)
2017/04/23(日) 18:51:11.27ID:pWCRP3kj00652デフォルトの名無しさん (ワッチョイ 036e-0iG2)
2017/04/23(日) 18:56:08.90ID:iYZj0cYc09割以上が外との通信で最後チョロっと出力するのにexcelってのは微妙な気分だけど
0653デフォルトの名無しさん (ワッチョイ 6b92-MAHZ)
2017/04/23(日) 18:58:56.72ID:pWCRP3kj00654デフォルトの名無しさん (ワッチョイ 7f4c-5GSV)
2017/04/23(日) 19:18:02.91ID:vXH/0lpX00655デフォルトの名無しさん (ブーイモ MMef-X2WX)
2017/04/23(日) 19:22:04.48ID:P/UZ8YpLMCOM/ActiveXが嫌いだからなのかな
0656デフォルトの名無しさん (ワッチョイ 06a6-HDOw)
2017/04/23(日) 19:23:45.36ID:ZIkh32+O0しかし自由度は高いのでほげふがしやすい
0657デフォルトの名無しさん (ワッチョイ 8a3c-AsB1)
2017/04/23(日) 19:25:04.19ID:OLTDB5Ux0> できない
ってオチかよ w
0658デフォルトの名無しさん (ワンミングク MMfa-XsL7)
2017/04/23(日) 20:36:14.21ID:XaJ9df8hMできるならやってみなよ
まあお前じゃ無理だけどな
0659デフォルトの名無しさん (ワッチョイ 8a3c-AsB1)
2017/04/23(日) 21:45:19.06ID:OLTDB5Ux0必要ならやるだけ
発注くれる? w
0661デフォルトの名無しさん (ワンミングク MMfa-XsL7)
2017/04/23(日) 23:16:35.96ID:XaJ9df8hM答えは出てる
後は自分んで考えるべきだ
0662デフォルトの名無しさん (ワキゲー MM42-LF4z)
2017/04/23(日) 23:19:50.21ID:fe+cTrdNM態度が気にくわないので答えない
0663603 (ワッチョイ abcd-+atG)
2017/04/23(日) 23:27:24.26ID:/2AcrhSu0質問スレでそういう発言しちゃう人痛すぎ
答えたくない人は黙って答えないでいる
つまり、御託ぬかしているだけの奴は答えられる知識がないだけのただの知ったか
Microsoft MVPとっているような奴でさえいい歳して自分の非を認めない
そんなのが多い現状
0665603 (ワッチョイ abcd-+atG)
2017/04/23(日) 23:35:09.77ID:/2AcrhSu0○態度が気にくわないので答えない
◎態度が気に入っても答えられない
と、ふざけるのはこの辺にして、
>>603と>>617と>>619辺りのサンプルコード分かる人いたら教えてください
よろしくお願いします
0666デフォルトの名無しさん (ワッチョイ 06a6-HDOw)
2017/04/23(日) 23:45:07.70ID:ZIkh32+O0サンプルコードっていうかまずそのCSVをDBのテーブルに入れろって意味だと思う。
そこはVBAと関係ない。
0667603 (ワッチョイ abcd-+atG)
2017/04/23(日) 23:47:05.56ID:/2AcrhSu0ここはVBA質問スレなのでVBAと関係ない回答されても困ります
0668デフォルトの名無しさん (ワンミングク MMfa-XsL7)
2017/04/23(日) 23:48:16.60ID:XaJ9df8hMゆとり教育ってやっぱり失敗だったんだなあ
0669603 (ワッチョイ abcd-+atG)
2017/04/23(日) 23:54:38.69ID:/2AcrhSu0回答する人によってどこまで質問者が考えたらよしとするかの基準が違うからね
例えば、よくある意味のないヘルプ
分かってる人にとっては当然のごとく不要
分からない人にとっても(難しくて理解できないので)不要
結局誰のためのヘルプなのか・・・と
質問スレで回答者に分からない内容でレスして
それくらい調べろという回答者基準で質問者に要求することの
0670デフォルトの名無しさん (ワッチョイ bb44-X1R2)
2017/04/23(日) 23:58:37.69ID:7UO6tpmM0ここは "Excel VBA 質問スレ"なのだけど
>>603の質問のどこが"Excel"と関係あるの?
0671デフォルトの名無しさん (ワッチョイ 0e4a-C4NQ)
2017/04/23(日) 23:59:12.22ID:mOY43HnC0CSVを読み込んだだけでは何の順序もない形だから毎回線形探索になって検索とかには全く向いてないO(n)
DBに突っ込むとなんらかの形で順序化されて検索も速いO(log n)
データ量が少なければオンメモリで連想配列にするともっと速いO(1)
実際はJoin辺りの文字列連結自体がネックなんだろうけどね・・・
0672603 (ワッチョイ abcd-+atG)
2017/04/24(月) 00:03:08.68ID:AsqD071F0関係ないことはなくなくない?
>>671
これB.csvが例えばAccessのMDB形式でインデックス?がついてたりすると速いですか?
0673デフォルトの名無しさん (ワッチョイ 06a6-HDOw)
2017/04/24(月) 00:30:34.27ID:iyRoq4Vj0それが事実。
そこから先Excel VBAの範囲を多少超えた回答がついたとしても何だというんだ。
しょうがないだろ。
0674デフォルトの名無しさん (ワッチョイ 0e4a-C4NQ)
2017/04/24(月) 00:34:30.34ID:NMLi1oe60アウトプット次第だが
0675デフォルトの名無しさん (ワッチョイ 067a-WTjT)
2017/04/24(月) 01:31:09.35ID:VzMv01/A0ふつうにEXCELでCSV開いて、ワークシート関数かなんかセットしてやればいんじゃねえの
それで遅いならCSVからちゃんとしたDBに変えろって話だな
0676デフォルトの名無しさん (ワッチョイ 067a-WTjT)
2017/04/24(月) 01:36:03.32ID:VzMv01/A0DBに突っ込んだからっていって、適切なインデックス(キー)設定しないと順序付けなんてされないぞ
そしてインデックスがあったからと言って、かならずO(log n) なわけじゃないぞ
0677デフォルトの名無しさん (オッペケ Sr23-QG7Y)
2017/04/24(月) 12:24:56.89ID:uGKvtEJWr馬鹿は考える真似事をするな黙って言う事を聞いておけば良い
お前のことだぞ
0678デフォルトの名無しさん (ワッチョイ 1e75-QHks)
2017/04/24(月) 16:10:21.68ID:vrbpIbBt0DBの実行計画とか、インデックスで検索する方法とか、本格的な勉強が必要
高度情報処理技術者試験にも、DBスペシャリストがあるほど
0679デフォルトの名無しさん (スッップ Sdaa-Vs57)
2017/04/24(月) 16:11:42.89ID:fo3LO78rd0680デフォルトの名無しさん (JP 0H56-MAHZ)
2017/04/24(月) 16:45:26.24ID:yA6lKxwPH全国版CSVをダウンロードしてみたら、約14万行あった。
郵便番号列は昇順にソート済みだった。
まず、郵便番号から都道府県を検索するのなら、
> SELECT [A#csv].[郵便番号], [B#csv].[都道府県]
> FROM [A#csv] LEFT JOIN [B#csv] ON [A#csv].[郵便番号] = [B#csv].[郵便番号]
は全く意味が無い。
SELECT [全国版csv].[都道府県] FROM [全国版csv] WHERE [全国版csv].[郵便番号] = '1234567'
みたいなクエリで十分。
また、CSVをそのまま読み込んでRange.Findしてもそれほど時間はかからない。
それが遅いなら、郵便番号列を二分探索するコードを書けばいい。(最悪でも18回の比較で済む)
0681デフォルトの名無しさん (JP 0H56-MAHZ)
2017/04/24(月) 16:47:05.58ID:yA6lKxwPHちなみに、データベースを使えば、検索は10ms未満くらいだろう。
0682デフォルトの名無しさん (ワッチョイ 6b92-MAHZ)
2017/04/24(月) 18:55:11.68ID:wa9g9mEX00683デフォルトの名無しさん (アークセー Sx23-lqRy)
2017/04/24(月) 19:31:24.31ID:MI7v5nJWxまっ!
やらしい
0684デフォルトの名無しさん (ワッチョイ 2774-VYzI)
2017/04/24(月) 20:24:12.56ID:qZiJ6usO00685デフォルトの名無しさん (ワッチョイ 0a92-VYzI)
2017/04/24(月) 23:14:20.60ID:8jnUP2CE01行につき2件以上になることないでしょ?
0686デフォルトの名無しさん (ワッチョイ 1e4c-9YAC)
2017/04/25(火) 17:35:09.10ID:pwvEjTgk0A1〜A10までは値が入っていて
A1〜B10までをそれぞれ行ごとに結合したいとして
Range("A1:B10").Merge True
って書いたんですが
A1からB10までがまとめて結合されて1つのセルになってしまいます
また
Range("A1:B1").Merge
…
Range("A10:B10").Merge
でも結果は一緒でした
どうしたらいいんでしょうか?
あと
'Range("A1:B1").Merge
Range("A2:B2").Merge
…
Range("A10:B10").Merge
って1行目の部分だけコメントアウトすると
当然の1行目以外は普通に望むとおりに結合されたりします…
0687デフォルトの名無しさん (JP 0H56-MAHZ)
2017/04/25(火) 17:47:58.74ID:ibd4gvgdH> どうしたらいいんでしょうか?
以下をコピペして実行。
Range("A1:B1").Merge
Range("A2:B2").Merge
Range("A3:B3").Merge
Range("A4:B4").Merge
Range("A5:B5").Merge
Range("A6:B6").Merge
Range("A7:B7").Merge
Range("A8:B8").Merge
Range("A9:B9").Merge
Range("A10:B10").Merge
0688デフォルトの名無しさん (JP 0H56-MAHZ)
2017/04/25(火) 17:50:32.91ID:ibd4gvgdH悪い、
Range("A1:B10").Merge True
でもちゃんと動くわ。
別シートで動作確認してみたら?
0689デフォルトの名無しさん (スッップ Sdaa-TkTn)
2017/04/25(火) 20:56:42.12ID:fGkaWwL3dscheme.iniファイル作って列の型を教えてやればうまく行くんだけどもっといい解決策ってあるの?
自称上級者教さん教えてください
0690デフォルトの名無しさん (ワッチョイ 0a92-VYzI)
2017/04/25(火) 21:27:32.27ID:TtQty10x0("A1:B10")って書いたら("A1:B10")になるに決まってると思うが、
それでちゃんと行ごとになるんだとしたら、
エクセルの変な機能が働いているとしか思えない。
一度テキストをカンマ分割すると、
以降、他の文字も勝手にカンマ分割になるみたいな。
0691デフォルトの名無しさん (アークセー Sx23-lqRy)
2017/04/25(火) 21:34:39.30ID:COzLxMP1xないあるよ
0692デフォルトの名無しさん (ワッチョイ 8a3c-AsB1)
2017/04/25(火) 21:56:39.94ID:4tKi7ubl0お前の言う変な機能とやらがあるんだわ
Across パラメータな
https://msdn.microsoft.com/ja-jp/library/office/ff840729.aspx
そもそもリボンにも行毎にマージってあるだろ
0693デフォルトの名無しさん (アークセー Sx23-IcG6)
2017/04/25(火) 22:12:17.10ID:GSmslFOEx知らなかった
対象範囲内の行をForループで一個ずつ結合しなくても良いのか
0694デフォルトの名無しさん (アークセー Sx23-IcG6)
2017/04/25(火) 22:58:07.11ID:GSmslFOEx0695603 (ワッチョイ abcd-+atG)
2017/04/26(水) 19:58:39.56ID:P05qwV3M0ありがとうございます
> まず、郵便番号から都道府県を検索するのなら、
> > SELECT [A#csv].[郵便番号], [B#csv].[都道府県]
> > FROM [A#csv] LEFT JOIN [B#csv] ON [A#csv].[郵便番号] = [B#csv].[郵便番号]
> は全く意味が無い。
この意味が分からないです
>SELECT [全国版csv].[都道府県] FROM [全国版csv] WHERE [全国版csv].[郵便番号] = '1234567'
>みたいなクエリで十分。
1234567の部分は別のCSVに保存されています
0696デフォルトの名無しさん (アークセー Sx23-lqRy)
2017/04/26(水) 20:06:58.08ID:IIJBYCWqxinner joinか
whereでサブクエリでよい
0697603 (ワッチョイ abcd-+atG)
2017/04/26(水) 20:12:37.75ID:P05qwV3M0ありがとうございます
>inner joinか
>whereでサブクエリでよい
>>603の条件でその方法を行う場合はどういう風に書けばいいんですか?
0698デフォルトの名無しさん (アウアウカー Saeb-yrA8)
2017/04/26(水) 22:47:34.13ID:OGi0uh78aサブクエリやinner joinは分かるの?
あなたの質問って結局「SQLはどう書けば良いの?」ってのと同じになるよ。
サブクエリやinner joinが分からない人は手を出しちゃいけないと思う。
取りあえずサブクエリ、inner joinをググってどういうものか理解してくれ。
そうすれば自ずと答えも分かる。
0699デフォルトの名無しさん (アークセー Sx1f-L1Lv)
2017/04/27(木) 00:12:24.92ID:iJvaFhDzxその書き方を調べて教えて
0700デフォルトの名無しさん (JP 0Hff-VhBr)
2017/04/27(木) 11:19:53.73ID:L6RVQR+bHSELECT [B#csv].[郵便番号], [B#csv].[都道府県]
FROM [B#csv]
WHERE [B#csv].[郵便番号] IN (SELECT [A#csv].[郵便番号] FROM [A#csv])
JOINを使うよりは速くなる可能性はある。
0701デフォルトの名無しさん (オッペケ Sr1f-7V4N)
2017/04/27(木) 12:56:05.02ID:kP8aj7+Rr0702デフォルトの名無しさん (アークセー Sx1f-L1Lv)
2017/04/27(木) 16:05:10.74ID:iJvaFhDzxえっw
0703デフォルトの名無しさん (ササクッテロレ Sp1f-PXQB)
2017/04/27(木) 17:33:57.86ID:4iPPXIlup0704603 (ワッチョイ 5bcd-iGQn)
2017/04/27(木) 20:29:51.16ID:K3w/N0C+0勉強したくて質問してるんじゃないので、サンプルコードを知りたいです
>>700
ありがとうございます
試してみて報告します
0705603 (ワッチョイ 5bcd-iGQn)
2017/04/27(木) 20:59:23.08ID:K3w/N0C+0教えていただいたSQLだとAにあってBにない場合表示されませんでした
Aに書いてある郵便番号が、Bの郵便番号一覧にない場合でも表示させたいです
あと型エラーが出たのでCStr()で変換していたんですが、これが遅い原因でした・・・
レスいただいたので気づけてよかったです ありがとうございます
SELECT [B#csv].[郵便番号], [B#csv].[都道府県]
FROM [B#csv]
WHERE CStr([B#csv].[郵便番号]) IN (SELECT CStr([A#csv].[郵便番号]) FROM [A#csv])
0706603 (ワッチョイ 5bcd-iGQn)
2017/04/27(木) 21:17:07.36ID:K3w/N0C+0連続ですいません
教えていただいたこれは、A内で重複してると出てこなかったり使い物になりませんでした
SELECT [B#csv].[郵便番号], [B#csv].[都道府県]
FROM [B#csv]
WHERE [B#csv].[郵便番号] IN (SELECT [A#csv].[郵便番号] FROM [A#csv])
くさってやがる・・・的な
0707デフォルトの名無しさん (アークセー Sx1f-L1Lv)
2017/04/27(木) 22:44:31.62ID:iJvaFhDzx教えて
なんの目的でサンプルコードだけを
知りたいの?
あと使ってる表現が気にさわる
点があるから注意しな。
便利に人を使いたいんだからさ
尚更気をつけて!
0708603 (ワッチョイ 5bcd-iGQn)
2017/04/27(木) 23:24:30.11ID:K3w/N0C+0質問スレに教員教諭は要りません
そういうのは学校でやってください
0709デフォルトの名無しさん (ワッチョイ 6fa6-Ahd3)
2017/04/27(木) 23:30:45.97ID:SC2pFUWd00710603 (ワッチョイ 5bcd-iGQn)
2017/04/27(木) 23:42:19.47ID:K3w/N0C+0といいつつも、ID:iJvaFhDzxみたいな可愛げのあるレスは嫌いじゃないです
0711デフォルトの名無しさん (アークセー Sx1f-L1Lv)
2017/04/27(木) 23:44:35.25ID:iJvaFhDzxそっか
因みに自分が書いた内容は
全部ウソだから気をつけて!
0712デフォルトの名無しさん (ワッチョイ 6fc8-GpoV)
2017/04/28(金) 12:40:08.45ID:AZuqyiJa0どうせ回答してもこういう奴は結局地雷を踏むんだよ。
で、また人にやらせようとする。
いつまでたっても炎上案件の出来上がりってわけだ。
0713デフォルトの名無しさん (ワッチョイ eb92-VhBr)
2017/04/28(金) 12:56:16.20ID:TvRV/cfz0クールダウンがてらに作ってやってもいいぞ
仕様とどういう結果が欲しいか書いてみ
結果っつーか、都度都度の運用の仕方か?
こういう使い方をしたい って部分な
0714デフォルトの名無しさん (アウアウエー Sa7f-UXXH)
2017/04/28(金) 13:31:44.77ID:WYJ+bjj6a質問に対してどう答えようが勝手だろ
お前が決めるなよ馬鹿
0715デフォルトの名無しさん (スップ Sd7f-g3iM)
2017/04/28(金) 14:29:52.94ID:Xu7UKOdRd0716デフォルトの名無しさん (アークセー Sx1f-L1Lv)
2017/04/28(金) 15:11:21.05ID:Xuq4yDdbxふむ
続けて
0717686 (ワッチョイ 0f4c-WBDQ)
2017/04/28(金) 16:18:44.69ID:J5UeIBKP0別のPCでの再現性さえ不確実で」あったりなかったり、という状態に陥ったので
Officeの修復やら対象ファイルの修復やらMergeの後にやっていたHorizontalAlignmentの設定をMergeの前に持ってくるやら
なんか色々いじくり回したら問題の現象は起きなくなりました…
0718603 (ワッチョイ 5bcd-iGQn)
2017/04/28(金) 20:00:39.34ID:vpgOvlOj0むしろ好きです
お付き合いを前提に結婚してください
>>713
ありがとうございます
もう少し自分で試してみます
それでできなかった時はぜひお願いします
0719デフォルトの名無しさん (ワッチョイ 6f92-VhBr)
2017/04/28(金) 23:19:33.93ID:FQ8Ywjkm0気安くアンカー打つんじゃねえよ 気持ち悪ぃ奴だな
0720デフォルトの名無しさん (アークセー Sx1f-L1Lv)
2017/04/28(金) 23:27:00.92ID:Xuq4yDdbxうーん
ふーむ
0721デフォルトの名無しさん (ワッチョイ 4bc7-7V4N)
2017/04/29(土) 00:23:48.32ID:QOk6w6Nc00722デフォルトの名無しさん (スプッッ Sd7f-dUup)
2017/04/29(土) 00:48:37.53ID:tMedruP7d0723デフォルトの名無しさん (ワッチョイ eb1f-WBDQ)
2017/04/29(土) 11:24:35.52ID:wx7/NJX10データベースアプリ
0724デフォルトの名無しさん (アウアウエー Sa7f-XzEV)
2017/04/29(土) 12:56:31.13ID:dBFQfqxKa集計ツール
0725デフォルトの名無しさん (アークセー Sx1f-L1Lv)
2017/04/29(土) 13:12:46.39ID:VcR7YP/mxDB hub
0726デフォルトの名無しさん (ワッチョイ 5b92-VhBr)
2017/04/29(土) 15:58:32.70ID:/JeXwZCJ0上司からの信用
0727デフォルトの名無しさん (ワッチョイ 5f92-dUup)
2017/04/29(土) 23:08:12.21ID:d9nXIGfe0ワード
パワーポイント
0728デフォルトの名無しさん (ワッチョイ 1b95-yNuH)
2017/04/30(日) 00:52:10.19ID:rWDOU3pY00729デフォルトの名無しさん (ワッチョイ 8b0a-XZJj)
2017/04/30(日) 08:40:48.80ID:6z9rlT7i0補助金申請資料
0730デフォルトの名無しさん (ワッチョイ 1bb2-XZJj)
2017/04/30(日) 10:01:05.52ID:vmdJMlSA0ナンプレとかロジックとか百ます計算作るには便利だよ
0731デフォルトの名無しさん (ワッチョイ eb1f-WBDQ)
2017/04/30(日) 12:17:14.54ID:vNrNk3fw0ロールプレイングゲーム
0732デフォルトの名無しさん (ワッチョイ 6f8e-L3TU)
2017/05/01(月) 23:49:42.89ID:nhotaK4o0いつもfor nextで回して値を取得しているのですが
自作関数を作ったほうが良いのでしょうか
0733デフォルトの名無しさん (ワッチョイ 1b44-YTUC)
2017/05/01(月) 23:55:35.44ID:7yf17Mlr0なら vlookupやindex+match 使えば良いんんじゃね?
それがダメな理由あるの?
0734デフォルトの名無しさん (ワッチョイ 6f8e-L3TU)
2017/05/02(火) 00:08:55.38ID:avk+HCZA0・長い
・間違いやすい
です
例えばmatchですと
application.WorksheetFunction.match(
ここまで打つと、ヒントはarg1,arg2…としか表示されません。第一引数が検索値なのか、範囲なのかわかりません
エラーになればいいのですが、エラーはあまり起こらないので、ミスにつながりやすくなっています
また、cells()だけだと、activateなシートのcellsと解釈されてしまいます
複数シート・ブックを扱う際には間違う危険が大きいです
with句も2ブック、2シートまでなら便利ですが、3以上のブックやシートを扱うと逆にわかりづらくなります
こういうのも慣れで対処しているのでしょうか
0735デフォルトの名無しさん (ワッチョイ 1b44-YTUC)
2017/05/02(火) 00:20:45.61ID:XYNewSDv0なるほど そうゆう理由なら
range.find()+offset() を使うか自作function作るかだな
ちなみに 長いは 隠し(隠れてないが・・インテリジェンスが効かないという事で・・)
application.match
としても動作する
application.WorksheetFunction.match
application.match
この動作の違いは #N/A の時 前者は実行時エラー 後者はエラー値が返る事
(引数が 分りにくいのは一緒だけど)
0736デフォルトの名無しさん (ワッチョイ 0fd0-L1Lv)
2017/05/02(火) 00:26:30.98ID:RrM3uHby0「長い、間違えやすい」の対処法であれば、ラッパー関数を作るのがパターンだよ。
言語によらない一般的な解決法。
機能が足りないとかなら、既に存在しないか探すのは第一手段として有効。
だけど、長いとか間違えやすいと言うのは主観的なものなので、探したところで代替機能はないと思うよ。
0737デフォルトの名無しさん (ワッチョイ 0b4c-XZJj)
2017/05/02(火) 00:32:07.84ID:05n65Ap80覚えるのが楽 → 自作関数
状況によりけりだけど、Worksheetfunctionと同じ機能を自分で実装できるようになる頃には、
ラッパー関数は無駄な労力を使ってる気になってくるので最初から自作関数の方が良いといえば良いかなぁ。
0738デフォルトの名無しさん (ワッチョイ 6f8e-L3TU)
2017/05/02(火) 00:37:15.16ID:avk+HCZA0色々な方法を教えてくださり、ありがとうございます
どれがベストかは、なかなか難しそうです
模索してみます
0739デフォルトの名無しさん (ワッチョイ 0fd0-L1Lv)
2017/05/02(火) 00:59:01.38ID:RrM3uHby0まあ、そうなんだけど、考え方次第。
何もWorksheetFunctionの機能で済むところを、わざわざフルスクラッチする必要無いでしょって言う。
ってか、ラッパーなんて手間でも何でもないぞ…
0740デフォルトの名無しさん (ワッチョイ 5b92-VhBr)
2017/05/02(火) 14:55:22.37ID:zdYuWX4z00741デフォルトの名無しさん (JP 0Hff-VhBr)
2017/05/02(火) 15:09:39.79ID:icdrLzQNH> 覚えるのが楽 → 自作関数
ごくごく単機能ではない場合、後からメンテする時に「このコード何やってんだ」となりかねない危険性はある
0742デフォルトの名無しさん (ワッチョイ 5f92-dUup)
2017/05/03(水) 13:49:00.61ID:Gwe9GRzP0Dim 何か分かりやすいシート名 As Worksheet
Set 何か分かりやすいシート名 = ThisWorkbook.Worksheets("元のシート名")
で、何か分かりやすいシート名の方を使う。
0743デフォルトの名無しさん (オッペケ Sr1f-dX+h)
2017/05/03(水) 14:39:50.60ID:wUGLXKixrWorksheet型なりWorkbook型なりのオブジェクト変数にオブジェクト参照を代入すれば処理の途中で煩雑な参照式を書かなくて済むし、
オブジェクト変数を使えるならFor Each Object In Collectionループや Select Case True文でオブジェクト操作すると楽だったりする
0744デフォルトの名無しさん (ワッチョイ 5faa-T7ds)
2017/05/03(水) 19:14:49.89ID:wJSaUc+P00745デフォルトの名無しさん (ワッチョイ 6fa6-Ahd3)
2017/05/03(水) 19:48:12.02ID:ydLfqOuU0関数の戻り値のことだとしたら Sub と同じだと思えばいいけど
0746デフォルトの名無しさん (スプッッ Sd7f-dUup)
2017/05/03(水) 19:59:13.29ID:qPjUe8z0dSF系ぽいラノベとか割とよく出てくる
0747デフォルトの名無しさん (オッペケ Sr1f-dX+h)
2017/05/03(水) 21:03:00.41ID:RFgMuQ6SrC#詳しくないけど、ポインター型か関数の戻り値の型の一種だよね確か
0748デフォルトの名無しさん (スプッッ Sd7f-dUup)
2017/05/03(水) 21:50:37.59ID:m/iWu/Gkdたまたま型と同じ所に書いてるだけ
0749デフォルトの名無しさん (オッペケ Sr1f-dX+h)
2017/05/03(水) 21:52:05.80ID:RFgMuQ6Sr0750デフォルトの名無しさん (ワッチョイ 6fa6-Ahd3)
2017/05/03(水) 22:23:43.51ID:ydLfqOuU00751デフォルトの名無しさん (ワッチョイ 0b4c-XZJj)
2017/05/03(水) 22:40:55.84ID:6gIWvrML00752デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)
2017/05/03(水) 22:50:07.34ID:yMHwWAzs0typeof(void) とかできるし
0753デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/05/03(水) 23:05:56.70ID:KtRh/Jcn0特殊な型として理解してもいいし
関数のシグニチャを示すためのキーワードだけど
便宜的に型と呼ばれてると理解してもいい
varも特殊な型(implicit type)として
ドキュメントにはのってるけど現実的にはキーワードだよね
0754デフォルトの名無しさん (ワッチョイ fe8e-Ogwz)
2017/05/04(木) 00:55:35.47ID:d0nEeZx40でいいのかな?
どうせ使うのは、if分岐でfalseになるかどうかだしあんまり気にしていない
0755デフォルトの名無しさん (ワッチョイ f23c-q6do)
2017/05/04(木) 01:26:03.78ID:7TNYL3q70nullはNothingと同じだけどvoidは違うよ
C#: void Hoge()
VB: Sub Hoge() (意味的にはFunction Foo() As Void)
C#: int Foo()
VB: Function Foo() As Integer
Nothingやnullは変数に代入して値がないっていう意味の値として使えるけど
voidは関数が何も返さないことを示す印なので変数に代入できないし比較したりもできない
0756デフォルトの名無しさん (ワッチョイ fe8e-OgWb)
2017/05/04(木) 01:35:59.26ID:d0nEeZx40なんと!ありがとう!
0757デフォルトの名無しさん (ワッチョイ 934c-HG4F)
2017/05/04(木) 01:49:27.51ID:y6qsqiUz0こんなところで半端な知識を得るよりも、違いが分かるまで色んな文献当たるべきだと思うけど。
0758デフォルトの名無しさん (ワッチョイ fe8e-OgWb)
2017/05/04(木) 02:05:19.39ID:d0nEeZx40別言語から入った場合は、確認作業になるんだよ
0759デフォルトの名無しさん (ワッチョイ 323c-10U+)
2017/05/04(木) 07:48:16.41ID:F88t7MBG0> 便宜的に型と呼ばれてると理解してもいい
なんでそんな嘘書くかなあ
便宜的じゃなくて厳密に型だよ
System.Void構造体の別名だし
> varも特殊な型(implicit type)として
> ドキュメントにはのってるけど現実的にはキーワードだよね
違うよ
var var = 1;
とか書けるし
(if はキーワードだから var if = 1; はエラーになる)
詳しくは
コンテキストキーワード C#
とかでググれ
0760デフォルトの名無しさん (オッペケ Srf7-15LB)
2017/05/04(木) 08:25:17.57ID:/oGtXq+9rC#をこれから勉強しようとしてるVBerだが、こういうツッコミは助かるし勉強になる
753を読んでかなり胡散臭いなぁと思ってた
0761デフォルトの名無しさん (ワッチョイ 9b74-FFaT)
2017/05/04(木) 08:47:48.19ID:dFxnoPMm0とりあえず型にしとこう、ってのがvoid
「言語仕様上は型」「現実には型ではありえない」
どっちも正解という矛盾した存在なんだよ
MSDNのvoid構造体は言語の仕様を説明してるだけ
その説明も矛盾してるんだけど突っ込まないのがお約束
0762デフォルトの名無しさん (ワッチョイ 3235-Ogwz)
2017/05/04(木) 08:57:08.01ID:QHnFD5OV0ババアなのですか?
0763デフォルトの名無しさん (ワッチョイ 323c-10U+)
2017/05/04(木) 09:13:42.03ID:F88t7MBG0> 「言語仕様上は型」
なら型じゃねーか
矛盾してるのはお前の頭の中だけだろ w
0764デフォルトの名無しさん (ワッチョイ 9b74-FFaT)
2017/05/04(木) 09:17:30.40ID:dFxnoPMm0あ、今ちょっとバカには理解できない難しい話をしてるんで黙っててくれますか
0765デフォルトの名無しさん (ワッチョイ 323c-10U+)
2017/05/04(木) 09:41:20.35ID:F88t7MBG0> 本当は型じゃないんだけど、型と同列に扱えた方がプログラミングしやすいから
> とりあえず型にしとこう、ってのがvoid
ってほざかれてもね w
0766デフォルトの名無しさん (オッペケ Srf7-15LB)
2017/05/04(木) 10:56:03.58ID:F61TgSgFrジジイだけどババアだよ
0767デフォルトの名無しさん (アウアウカー Sa1f-n7Uy)
2017/05/04(木) 11:48:18.28ID:gk/7C+2jaコーディングの仕方をネットで調べていたら、withの途中でExit subなどで抜けるとエラーが発生する可能性がある。と書いてあったのですが、
with ××
if ××◯◯ then
××◯◯
else
◯◯
exit sub
end if
end with
としたい場合はどうすれば良いでしょうか?
お願いします。
0768デフォルトの名無しさん (ワキゲー MM0a-G+6H)
2017/05/04(木) 12:04:06.32ID:lrW32DK5M0769デフォルトの名無しさん (オッペケ Srf7-15LB)
2017/05/04(木) 12:38:39.50ID:F61TgSgFr心配ならいまExit SubにしてるとこをGoTo 文に変えて、Withブロックの外のラベルに一旦抜けるようにしてみたら?
飛んだ先でExit Subで処理を抜けるようにすれば良いし、エラー対策もそっちでやればいいんじゃないかな
ただし濫用はおすすめしないが
0770デフォルトの名無しさん (ワキゲー MM0a-G+6H)
2017/05/04(木) 12:49:07.08ID:lrW32DK5Mwithにせず必要なものを変数に格納してから処理するとかでもいいんじゃない?
0771デフォルトの名無しさん (ワッチョイ 3230-Wm8h)
2017/05/04(木) 13:16:33.00ID:yfNHJjRa0>withの途中でExit subなどで抜けるとエラーが発生する可能性がある
というのは事実なのかな…
0772デフォルトの名無しさん (スップ Sd52-umis)
2017/05/04(木) 13:24:59.37ID:TFiCOsvdd0773デフォルトの名無しさん (アウアウカー Sa1f-n7Uy)
2017/05/04(木) 13:27:26.31ID:gk/7C+2ja回答ありがとうございます。
別の方法で試してみます。
>>771
確かかはわかりませんが、対処出来るならしておこうと思いまして
0774デフォルトの名無しさん (オッペケ Srf7-15LB)
2017/05/04(木) 13:30:05.88ID:F61TgSgFrエラーが起きるって書いてあったそのページのURL貼ってくれませんか
そしたらその情報の真偽自体を確かめられるので
0775デフォルトの名無しさん (ドコグロ MM8a-10U+)
2017/05/04(木) 13:35:26.85ID:VXGuDYADM> コーディングの仕方をネットで調べていたら、withの途中でExit subなどで抜けるとエラーが発生する可能性がある。と書いてあった
どこ?
URL晒してみて
そんなの聞いたことがないんだけど
0776デフォルトの名無しさん (ワッチョイ b292-FFaT)
2017/05/04(木) 13:57:19.81ID:Dx8Sp3kd0Functionで値を返すのと、ByRefで返すのは何が違うか分からんし、
セルがあるのに、何でListObject(白と青の縞々のやつ)があるのかも分からん。
0777デフォルトの名無しさん (ワッチョイ fe8e-odle)
2017/05/04(木) 14:04:55.66ID:d0nEeZx40・Functionで値を返す
Functionで値を返しているだけ
・ByRefで返す
これは返してるんじゃなくて参照渡しにしている。グローバル変数とでも思ってればいい
0778デフォルトの名無しさん (JP 0H0e-W+y+)
2017/05/04(木) 14:30:06.03ID:mDQwZSbEHグローバル変数という説明はないでしょ・・・
0779デフォルトの名無しさん (アウアウカー Sa1f-n7Uy)
2017/05/04(木) 14:32:15.00ID:ogGT+5IYaこちらです。
http://qiita.com/mima_ita/items/8b0eec3b5a81f168822d
0780デフォルトの名無しさん (オッペケ Srf7-15LB)
2017/05/04(木) 14:59:14.87ID:F61TgSgFrここですね↓
With 〜 End With の途中で抜けない
エラーが発生する可能性があるので、下記のようなコードは禁止
With hoge
.A = 2
.B = 3
Exit Sub
End With
(以上)*******
この記事はコーディング規約(トラブル回避のためにプロジェクト内で決めるコーディングのルール)の一例の紹介なので、書かれている内容はVBAの言語仕様上必然的に生じる制約に対応するルールであるとは限らないです。
問題のWith句の箇所ですが、正直、場合によるとしか言えないです。
hogeが自作クラスのインスタンスだったら、メソッドやプロパティの設計によってはエラーになりそう。
自分個人の意見としてはWith句の仕様に関してこういうルールが必要かどうかは疑問かな。
0781デフォルトの名無しさん (オッペケ Srf7-15LB)
2017/05/04(木) 15:04:44.60ID:F61TgSgFrListObjectのUI上の呼び方はテーブルだよ。
ワークシート上で構造化参照やデータリレーションの追跡機能を実現するためにエクセルに追加された比較的新しい機能で、使えると非常に便利。
ちなみに色は青白とは限らない。
既定のスタイルがそうなっているから何も設定しないでListObjectを作製すると青白になるだけで、色は自由に設定できる。
0782デフォルトの名無しさん (JP 0H0e-W+y+)
2017/05/04(木) 15:05:58.19ID:mDQwZSbEHうーん、エラーになるというのは思い込みじゃないかな。
そうじゃないと、こんなことできないし。
on error goto my_exit
with hoge
call foo(.a, .b) ' foo()内で実行時エラーが発生する可能性あり
call bar(a) ' bar()内で実行時エラーが発生する可能性あり
'何か処理
end with
my_exit:
foo()やbar()じゃなくて、ビルトインメソッドの場合でも、実行時エラーが発生するものは呼べなくなる。
実行時エラーのwithブロック脱出は良くて、gotoやexit subはエラーが発生する可能視あり、というのも微レ存。
0783デフォルトの名無しさん (オッペケ Srf7-15LB)
2017/05/04(木) 15:14:49.45ID:F61TgSgFrByRefの場合、引数の値の参照先として呼び出し元が使用していたアドレスへの参照そのものが一旦関数に渡り、戻り値とともに呼び出し元に返されるので、関数内で引数に加えた変更が呼び出し元に引き継がれる。
0784デフォルトの名無しさん (ワッチョイ be7a-y3Lx)
2017/05/04(木) 15:43:03.22ID:1SZDThOE0With hoge
.A = 2
.B = 3
Exit Sub
End With
もしこれがエラーになるっていうなら
hoge.A = 2
hoge.B = 3
Exit Sub
でもエラーになるんじゃね
だれか、上だとエラーで下だとエラーにならないサンプルコード書ける?
Withの間に制御構造いれるなって意見にはまあ賛同するけど
0785デフォルトの名無しさん (ワッチョイ 3230-Wm8h)
2017/05/04(木) 16:09:37.58ID:yfNHJjRa0https://msdn.microsoft.com/ja-jp/library/cc392475.aspx
>With ブロックへのジャンプも With ブロックからのジャンプも行わないでください。
>With ブロックのステートメントは実行されますが、With ステートメントまたは End With ステートメントが実行されません。
>その結果、エラーや予想外の動作が発生することがあります。"
とはある。
でも、最近(Office2013以降)のVBAのページ↓では
https://msdn.microsoft.com/ja-jp/library/office/gg264723.aspx
>一般に、With ブロックにジャンプしたり With ブロックからジャンプしたりしないことをお勧めします。
>With ブロック内のステートメントが実行されていて、With ステートメントまたは End With ステートメントが実行されていない場合、
>オブジェクトへの参照を含む一時変数は、プロシージャが終了するまでメモリに残ります。"
とあるので、
Exit For やら GoTo やらで同一プロシージャ内のどこかにジャンプしたときに、
End Withが実行されていないために問題が起きる恐れがあるとは言えるけど
Exit Sub では問題は起きないんじゃないかと思う。
しかしまぁ、Withからの途中脱出がMSからお勧めされていないのは確かだったので、
対応するとすれば
プロシージャ脱出フラグを用意して、Withブロック内で判定してフラグをセット
→Withを抜けてからフラグに応じてExit Sub
とでもするべきなのかな…?
0786デフォルトの名無しさん (JP 0H0e-W+y+)
2017/05/04(木) 16:12:51.32ID:mDQwZSbEH> Withの間に制御構造いれるなって意見にはまあ賛同するけど
with hoge
for i = 1 to 100
call hoge(i, .a)
call fuga(i, .b)
next
end with
for i = 1 to 100
with hoge
call hoge(i, .a)
call fuga(i, .b)
end with
next
俺は上が好み。
(だが、今までそう書いたことあるかどうかは、記憶にない)
0787デフォルトの名無しさん (ワッチョイ c3e6-lr4m)
2017/05/04(木) 16:13:35.30ID:JxiK4Hzx0一つ賢くなったわ
まあWithなんてヘッダー・フッターのプロパティを多数設定する時くらいしか使わんけど
0788デフォルトの名無しさん (JP 0H0e-W+y+)
2017/05/04(木) 16:19:00.71ID:mDQwZSbEH> でも、最近(Office2013以降)のVBAのページ↓では
> https://msdn.microsoft.com/ja-jp/library/office/gg264723.aspx
なるほど、勉強になります。
でも、まだちょっと納得できないなぁ。
withを使わなくても、プロシージャ内のローカル変数は、普通プロシージャが終了するまで残るものだから。
ひょっとして、プロシージャ途中でのset myobj = nothing推奨なのか?
0789デフォルトの名無しさん (ワッチョイ be7a-y3Lx)
2017/05/04(木) 17:01:00.71ID:1SZDThOE0それ上と下ではWithの実行回数が違うから、パフォーマンスに差が出る可能性がある
パフォーマンス目的でWith使うなら、できるなら上のほうがいいだろ
>>788
メモリに残るってのは、Withによって生成される暗黙的な変数参照のことじゃないのか
それは通常 End Withで廃棄可能になる
そう考えると、Withの途中でジャンプすると、アプリ内とはいえメモリリークの原因になりえるかもな
0790デフォルトの名無しさん (ワッチョイ fe8e-CFHd)
2017/05/04(木) 17:02:28.72ID:d0nEeZx400791デフォルトの名無しさん (ドコグロ MM8a-10U+)
2017/05/04(木) 17:09:30.24ID:KrhT3Sv4M> >オブジェクトへの参照を含む「一時変数」は、プロシージャが終了するまでメモリに残ります。
なのでWith文で確保した変数(プログラマーには見えない)のことでしょ
L:
With MyObj
.a = 1
Goto L
End With
とかやると問題になるのかもしれないけど通常は大丈夫だと思う
0792デフォルトの名無しさん (JP 0H0e-W+y+)
2017/05/04(木) 17:10:07.44ID:mDQwZSbEH俺も、End Withが単独のステートメントであるというのを、ヘルプ読んで知ったよ。
0793デフォルトの名無しさん (オッペケ Srf7-15LB)
2017/05/04(木) 18:31:35.10ID:F61TgSgFr以下全部、独立したステートメントみたいだね
End
End Function
End If
End Property
End Select
End Sub
End Type
End With
0794デフォルトの名無しさん (ワッチョイ f23c-q6do)
2017/05/04(木) 18:36:02.44ID:7TNYL3q70君が書いてるようなことは当然把握した上で
voidが分からないとか型なの型じゃないの?って言ってる人に理解してもらうの書き方
varはキーワードじゃないけど「現実的にはキーワード」だよねって言ってるの理解できない?
0795デフォルトの名無しさん (ワッチョイ 323c-10U+)
2017/05/04(木) 18:53:23.57ID:F88t7MBG0わざわざ嘘を教えるとか全く理解できない
普通にMSDNで充分だし
0796デフォルトの名無しさん (オッペケ Srf7-15LB)
2017/05/04(木) 19:00:11.51ID:F61TgSgFrVoidが型なのか型じゃないのかっていう問いに決着をつけさせてあげようって意図は分かる
だけど前提の説明を省いて「Voidに何を期待するかで型か型じゃないのか決まる」って言ってたら、Voidそのものを正しく理解してもらうことに繋がらないよね
0797デフォルトの名無しさん (ワッチョイ 323c-10U+)
2017/05/04(木) 19:23:07.40ID:F88t7MBG0その上でC#ではいくつかの制限(例えば変数宣言には使えない)があると言うだけのこと
0798デフォルトの名無しさん (ワッチョイ df44-/yZT)
2017/05/04(木) 19:28:16.32ID:Bn9E77QS00799デフォルトの名無しさん (ワッチョイ 323c-10U+)
2017/05/04(木) 20:10:04.06ID:F88t7MBG00800デフォルトの名無しさん (ワッチョイ f23c-q6do)
2017/05/04(木) 21:13:42.94ID:7TNYL3q70voidに何を期待するかじゃなくて型に何を期待するかって書いてるでしょ
全く意味違うよ
voidがわからないって言ってる人に
voidは型だよって答えたら正しく理解してもらえるのかな?
0801デフォルトの名無しさん (ワッチョイ cf92-W+y+)
2017/05/04(木) 21:36:52.57ID:8LGDHJ/L00802デフォルトの名無しさん (ワッチョイ 323c-10U+)
2017/05/04(木) 22:05:10.35ID:F88t7MBG0「voidに何を期待するか」って書いてるのは君だけなんだけど頭大丈夫?
> voidがわからないって言ってる人に
> voidは型だよって答えたら正しく理解してもらえるのかな?
>>760 はそこそこ理解したみたいだけどね
0803デフォルトの名無しさん (オッペケ Srf7-15LB)
2017/05/04(木) 23:14:36.67ID:F61TgSgFr俺の書き間違いだった、ごめん
>>753は型に何を期待するかによる、と書いてるね
System.Void構造体の実装と役割が特殊であるという前提知識の下、型の概念が多様であることを踏まえて753を読むと確かに分かりやすい
前提知識がなかったから宙に浮いた話に聞こえた
間違ったことは書いてないっぽいね
ちなみにMSDNのtypeof演算子の項では、普通のtypeof(type)とtypeof(void)を厳密に区別して書きつつ、
typeof(void)から返されるのは型が存在しないことを示す特殊なSystem.Typeオブジェクトだと書いてるね
これだと確かに、voidは型だよと言いきってしまう人の方が勇み足に思える
型って言ってるけどいかなる意味で型なのか明らかにしないと意味がない感じ
https://msdn.microsoft.com/ja-jp/library/aa691348(v=vs.71).aspx
0804デフォルトの名無しさん (ワッチョイ df44-/yZT)
2017/05/04(木) 23:20:15.45ID:Bn9E77QS0誘導してやるから そこで思う存分議論してくれ
C#, C♯, C#相談室 Part94
http://echo.2ch.net/test/read.cgi/tech/1492843013/
0805デフォルトの名無しさん (ワッチョイ bea6-Ogwz)
2017/05/04(木) 23:33:22.87ID:fxaUnXhO00806デフォルトの名無しさん (ドコグロ MM8a-10U+)
2017/05/04(木) 23:46:14.76ID:ntLJBr9KM.NET 2003?
そんな古いドキュメント見て何をしたいんだよ w
こっち見とけ
https://msdn.microsoft.com/ja-jp/library/58918ffs.aspx
てか既に終わった話だぞ
0807デフォルトの名無しさん (ワッチョイ df44-/yZT)
2017/05/04(木) 23:48:42.25ID:Bn9E77QS00808デフォルトの名無しさん (ワッチョイ f2aa-PboC)
2017/05/07(日) 19:51:31.74ID:rg4zCOHW0「ファルス」と思い込んでいた。人前でこんな話する事がないから良いっちゃ良いんだがなんか情けない。
そういうえば、Integerの読みをずっと「インテガー」と思い込んでいてPCショップの店員に爆笑された事があったな
0809デフォルトの名無しさん (ワッチョイ 0fc8-zqBD)
2017/05/07(日) 19:53:40.98ID:fxrcEjmN0まあ、ローマ字表記なんてものがあるから面倒なことになるんだよな
0810デフォルトの名無しさん (スッップ Sd52-WvqP)
2017/05/07(日) 19:56:36.46ID:mMrRcYbLdいんてがーじゃないの?
独学だから気にもしなかった
0811デフォルトの名無しさん (ワッチョイ fe8e-Wvef)
2017/05/07(日) 19:59:12.71ID:N14pdsJK0独学やsohoだとその辺全く鍛えられないよね
しかもツッコミにくい
みんなも「プログラミング用語 発音」あたりで一度検索して目を通しておこう
っていうか通しておいて。聞く方も気まずいんで。
0812デフォルトの名無しさん (ワッチョイ 934c-HG4F)
2017/05/07(日) 21:02:58.89ID:1dxWqAm50何か統一された読み方があるって思い込まない方がいいよ。
ちなみに俺は「false」を他人に伝える時は「フェイルス」と呼んでるわ。
フォールスだと初めて聞く人は分からないし、ファルスだと聞き取りにくいという理由で。
0813デフォルトの名無しさん (ワッチョイ fe8e-GZOZ)
2017/05/07(日) 21:09:57.56ID:N14pdsJK0それ言われると「え?え?」ってなると思う…というか俺はなるかな
プリンみたいに、慣習として合わせたほうが良いと思う
プリンの本来の読み方はプディング、でも最近はプディングと読むようになってきたからますますややこしいんだけどね
0814デフォルトの名無しさん (ワッチョイ 3235-Ogwz)
2017/05/07(日) 21:18:20.33ID:IEEQ9ceb0前の会社のプロバイダのコールセンターで働いてたときに同僚がこのreplyをいつも「リプレイ」と呼んでたのを思い出した。
人間関係は
・親友
・友達
・同僚
・顔見知り
・名前だけ知ってる
といろいろあるけど下にいくほど訂正してあげづらい。上下関係ならさらにそう。上司には言いにくい。
0815デフォルトの名無しさん (ワッチョイ 3230-Wm8h)
2017/05/07(日) 21:18:31.62ID:ihhnzTgu0>初めて聞く人は分からない
ったって、嘘の発音教えてどうすんのw
特に「フェイルス」はfailsと勘違いさせる恐れがあってダメすぎる
0816デフォルトの名無しさん (ワッチョイ 934c-HG4F)
2017/05/07(日) 21:19:45.62ID:1dxWqAm50ちょっと聞き慣れない言葉とか、普通はその場で擦り合わせるだろ。
0817デフォルトの名無しさん (ワッチョイ 3235-Ogwz)
2017/05/07(日) 21:20:08.76ID:IEEQ9ceb0それ英語が得意/興味あるという人種をのぞいたら
間違って発音する人の確率のほうが正しく発音できる確率より大きい。
正しくはウォーニングでウァーニングは誤り。
0818デフォルトの名無しさん (ワッチョイ 3235-Ogwz)
2017/05/07(日) 21:22:11.40ID:IEEQ9ceb0上司は「なんか外国人っぽい発音だな。帰国子女かなんかなの?」みたいに言われた。
0819デフォルトの名無しさん (ワッチョイ 3235-Ogwz)
2017/05/07(日) 21:25:27.65ID:IEEQ9ceb0いつもなんかしらの英語由来の単語は英語の発音で無意識で記憶するようにしてるから
開発ツールのVisual Studioも「ヴィジュアルステューディオ」と「ステゥーディオ」だ。
普通の人は「スタジオ」らしいけどこれ指摘されたときは「えっウソ、みんな本当にそう発音してるの?」と思ったし今でもそう疑問に思ってる。
0820デフォルトの名無しさん (ワッチョイ 32a6-Ogwz)
2017/05/07(日) 21:25:58.10ID:WOcAE+7N00821デフォルトの名無しさん (ワッチョイ 934c-HG4F)
2017/05/07(日) 21:26:20.39ID:1dxWqAm50嘘の発音が駄目って事は、プログラマはすべからくネイティブ発音を習得しておくべきと?
それにfailsとfalseの扱いって普通は違うから会話の流れで分かるし、混同しやすいなら補足すりゃいいだけ。
ところで俺は双方が発声する形の「会話」を想定して「適当でいいよ」って言っているんだけど間違ってないよね?
なんか説明書か何か作るかのような否定のされ方してる気がするんだけど。
0822デフォルトの名無しさん (ワッチョイ 3235-Ogwz)
2017/05/07(日) 21:30:18.33ID:IEEQ9ceb0適当が一番よくないと思う。
英語風に覚えるならそれで統一すべきだし
日本語のカタカナで覚えるならそれに統一すべき。
そうじゃなきゃ太陽が西からのぼることを覚えるのにあの歌の歌詞の逆だと覚えるやりかたをしてたら
なにかたくさん覚えることがあるときになにが逆でなにが逆じゃなかったかわからなくなる。
0823デフォルトの名無しさん (ワッチョイ 3230-Wm8h)
2017/05/07(日) 21:35:42.38ID:ihhnzTgu0「false」をすでに「フェイルス」と読んでいる集団の中に入ってしまったら
自分も会話は「フェイルス」で合わせるよ
その態度は>>821と同じです
でも「false」を「初めて聞く人」のために「フェイルス」と言うなんてのは
ちょっと理解できない
0824デフォルトの名無しさん (ワッチョイ 934c-HG4F)
2017/05/07(日) 21:43:27.20ID:1dxWqAm50そういう潔癖は、色んな人と関わる上ではあまりプラスに働かないから注意した方がいいよ。
まぁ、プログラマの性分として非常に不愉快であるというのは十分に理解できるんだけど。
0825デフォルトの名無しさん (ワッチョイ fe8e-CFHd)
2017/05/07(日) 21:49:03.83ID:N14pdsJK0俺はエスペランドが標準語になるだろうと本気で勉強したよ
英語(笑)フランス語(w)日本語(笑笑)
現在のエスペランドは方言ができまくって今の中国語みたいな惨状になっている
意識を高くするより、周りに合わせるのがベストだよ・・・
0826デフォルトの名無しさん (ワッチョイ 32a6-Ogwz)
2017/05/07(日) 21:51:32.89ID:WOcAE+7N00827デフォルトの名無しさん (スプッッ Sd52-WvqP)
2017/05/07(日) 22:43:12.69ID:A18nUo2qd恥かくことはあってもテキトーで十分。
0828デフォルトの名無しさん (ワッチョイ 92ed-Dtwo)
2017/05/08(月) 01:02:18.02ID:JsU++E7G0日本語で会話してて特定の単語だけ英語で発音されても気味が悪い
これが正解とか拘らずにその場その場の習慣に合わせるのが一番でしょ
日本語にだって方言があるが、それは間違いではない
てかフランスだってドイツだってみんな現地語読みしてるじゃん
イタリアではこう発音するんだよーとか言ってるじゃん
なら日本ではこう発音する、ここではこう発音するでいいじゃん
0829デフォルトの名無しさん (ワッチョイ cf92-W+y+)
2017/05/08(月) 02:18:10.62ID:hqMd+j4B00830デフォルトの名無しさん (ワッチョイ b2a8-HG4F)
2017/05/08(月) 07:03:09.45ID:K1R5gFvI0その日本でもfalseをファルスなんて言わね
0831デフォルトの名無しさん (スプッッ Sdc7-umis)
2017/05/08(月) 07:11:35.65ID:Zm2U6kRgd0832デフォルトの名無しさん (ワッチョイ 3235-Ogwz)
2017/05/08(月) 09:00:08.02ID:XvFtWWVr0変な日本語はしゃべるな
× せやかて工藤
○ そうだからと言って工藤
これで合ってるか?
0833デフォルトの名無しさん (アークセー Sxf7-ENOQ)
2017/05/08(月) 09:34:00.94ID:ngtCDx2wxいやーもの足りん
0834デフォルトの名無しさん (ワキゲー MM0a-G+6H)
2017/05/08(月) 10:38:31.73ID:HyTEfJQ+M工藤さん、あなたの仰りたいことは理解しているつもりなのですが私は次のように考えます。
0835デフォルトの名無しさん (スッップ Sd52-JXI4)
2017/05/08(月) 11:05:14.57ID:iSQgvr1Ud0836デフォルトの名無しさん (ワッチョイ efd5-HG4F)
2017/05/08(月) 11:11:23.37ID:KFotV+4r0integer(インテジャー)でテにアクセントつける人が身近にいる
いやいいんだけどさ、
そういうとこが気になって話が入ってこなくなるときがあんのよ
0837デフォルトの名無しさん (スプッッ Sdc7-umis)
2017/05/08(月) 11:28:58.40ID:Zm2U6kRgd0838デフォルトの名無しさん (ワッチョイ 3235-Ogwz)
2017/05/08(月) 11:41:25.09ID:XvFtWWVr0自社の人のくせに「イ」にアクセントを話している営業がいた。
オレはその会社名を言わねばならないときに正しく「テ」にアクセントを置いてしゃべってるのにだ。
0839デフォルトの名無しさん (ワッチョイ 630a-zqBD)
2017/05/08(月) 11:44:06.38ID:e330aYTU00840デフォルトの名無しさん (ワッチョイ 3235-Ogwz)
2017/05/08(月) 11:45:07.70ID:XvFtWWVr0この前「ディズニーランドに行ってきたよ」と日本人と話すときすらいつものクセで
「ディズニーランド」の「ディ」にアクセントをつけて話す。普通の日本人は平坦か「ニー」付近にアクセントを置く。
こういう単語は探せば何十何百もすぐ挙げれそう。
0841デフォルトの名無しさん (ワッチョイ 3235-Ogwz)
2017/05/08(月) 11:47:04.49ID:XvFtWWVr0じゃプログラミングに話を戻そう。
C言語とかででてくるchar型はどう発音してる?
これはcharacterの略のcharだから「キャラ」が適切だと思うけど「チャー」とか言ってる人がいる。
なにが正しいのだろう?
0842デフォルトの名無しさん (ワッチョイ e2d4-Ogwz)
2017/05/08(月) 11:47:07.14ID:K/3L+GRG0アクセントの無い[i]はイとエの中間だからカナ表記ではローマ字発音に合わせるのが普通
0843デフォルトの名無しさん (スプッッ Sdc7-umis)
2017/05/08(月) 12:10:23.45ID:Zm2U6kRgdcharはキャラだがwcharはワチャー
0844デフォルトの名無しさん (スプッッ Sdc7-umis)
2017/05/08(月) 12:28:39.74ID:Zm2U6kRgd0845デフォルトの名無しさん (アウアウエー Sa4a-WHOc)
2017/05/08(月) 13:28:07.15ID:yUc1Qz8Baスなんか
0846デフォルトの名無しさん (ワッチョイ e2d4-Ogwz)
2017/05/08(月) 13:44:45.32ID:K/3L+GRG00847デフォルトの名無しさん (ワッチョイ efd5-HG4F)
2017/05/08(月) 13:47:50.49ID:KFotV+4r00848デフォルトの名無しさん (ワッチョイ 934c-HG4F)
2017/05/08(月) 15:03:29.66ID:tznJkE6800849デフォルトの名無しさん (ササクッテロル Spf7-3eBY)
2017/05/08(月) 18:11:01.99ID:oXMBelsAp0850デフォルトの名無しさん (オッペケ Srf7-15LB)
2017/05/08(月) 18:16:39.65ID:qQTZnsNor0851デフォルトの名無しさん (ワッチョイ 32a6-Ogwz)
2017/05/08(月) 22:29:18.14ID:iICmC17v0xlsm
xlsb
はなんて読めばいいの?
0852デフォルトの名無しさん (アウアウカー Sa1f-3eBY)
2017/05/08(月) 22:30:14.28ID:6hVUTunKa「リンキュー」って読むんだよと教えてくれて久しぶりに会って話したとき
「マジで信じてたの?」って言われたときは少し悲しかった。
もしラムダ式のことをランブダ式とか言ってれば
その時点で疑ったのに。
0853デフォルトの名無しさん (ワッチョイ fe8e-mUG8)
2017/05/08(月) 22:36:50.43ID:S/SP25we0アルファベット通り。えっくすえるえすえっくす
一昔前なら2007形式とか言ってたけど、ちょっと言えなく鳴ったなぁ
0854デフォルトの名無しさん (ワッチョイ 83c7-/XCo)
2017/05/08(月) 22:42:47.96ID:bH63FMOe00855デフォルトの名無しさん (アークセー Sxf7-ENOQ)
2017/05/08(月) 23:24:00.18ID:ngtCDx2wxクルスク
クルスム
クルスブ
0856デフォルトの名無しさん (ワッチョイ 32d4-Ogwz)
2017/05/08(月) 23:44:05.83ID:fJ8vtBUW0エックスエルエスエックス
エックスエルエスエム
エックスエルエスビー
だと思うよ
0857デフォルトの名無しさん (ワッチョイ 92ed-Dtwo)
2017/05/09(火) 02:37:10.98ID:B9tPADXW0日本語で十分な言葉でもわざわざ英単語使ってみたり
そして日本で働いてるアメリカ人とかでは
英単語であっても極力日本語的な発音で話してくる人が多い
目的は会話であって英単語知識のお披露目じゃないからね
アメリカのことを米国って言うアメリカ人もいたな
まぁ日本人もアメリカ行けば日本のことをJapanと言うしね
0858デフォルトの名無しさん (ワッチョイ 361f-ENOQ)
2017/05/09(火) 02:44:10.70ID:y8fCKHJo0アズナブルさんに謝れ
0859デフォルトの名無しさん (ワッチョイ cf92-W+y+)
2017/05/09(火) 10:08:20.11ID:bwew1y3c0個人的にだが
エクセル ブック
エクセル マクロ
エクセル バイナリ
0860デフォルトの名無しさん (ワッチョイ 3e92-W+y+)
2017/05/09(火) 22:57:23.70ID:ho5latp+0仕事先でもこっちがしかめっ面で格闘してる最中に話し掛けてきて
「ここの連中は発音がでたらめ云々」とか、
「関数も覚えようともしない云々」とかとか、ひつこく語りだす
ま、そおゆう人に限っていつの間にかいなくなっちゃうんだけど
「あれ?Aさんは?」
「あぁ、先月退職しました」
(へー そういやB社のBさんもC社のCさんもそのタイプだったなー
今頃どうしてるんだろ? 全然興味ないけど
0861デフォルトの名無しさん (ワッチョイ 3235-Ogwz)
2017/05/09(火) 23:33:41.45ID:7aZoQWqd0× ひつこく
○ しつこく
電気は大切にね、電子。
いや、日本語は正しくね。
0862デフォルトの名無しさん (オッペケ Srf7-15LB)
2017/05/09(火) 23:45:06.04ID:C/VUqm3grマジのアスペルガーじゃないのかなそういう人って
プログラミングにのめり込んでいろいろ吸収していくって点ではPG適性ある人達
拘りが強くて人間関係はうまくいかないこと多そうだけど
0863デフォルトの名無しさん (ワッチョイ 83c7-/XCo)
2017/05/10(水) 00:06:45.55ID:rcR3oj9w00864デフォルトの名無しさん (ワッチョイ 32a6-Ogwz)
2017/05/10(水) 00:16:51.86ID:zCOat2Lr00865デフォルトの名無しさん (ワッチョイ cf92-W+y+)
2017/05/10(水) 10:23:34.91ID:EO8uIHSl00866デフォルトの名無しさん (アウアウエー Sa4a-WHOc)
2017/05/10(水) 11:36:52.00ID:UTjnRoe7axlsは?
0867デフォルトの名無しさん (ワッチョイ b292-FFaT)
2017/05/10(水) 23:21:09.19ID:a6rY6Alm0やり方が分からないから、閉じる時にSheetにコピーして、
開く時に、またSheetから戻してるんだけど。
だったら最初からSheet使えよって感じになっちゃってる。
>>851
エクセルエックス
エクセルエム
エクセルブ
>>808
最初、
GIF → ギフ
Yahoo! Japan → ヤッホージャパン
引数 → ひきすう
だと思ってたわ。
0868デフォルトの名無しさん (ワッチョイ b2a8-HG4F)
2017/05/10(水) 23:33:55.99ID:7+UXscT00引数 → ひきすう
これ、それであってるでしょ
https://ja.wikipedia.org/wiki/%E5%BC%95%E6%95%B0
引数
引数(ひきすう)は 〜
0869デフォルトの名無しさん (アウアウウー Sa87-0tFV)
2017/05/11(木) 02:42:48.57ID:UIg4Sc0Va0870デフォルトの名無しさん (オッペケ Sr27-Zgtb)
2017/05/11(木) 07:05:21.21ID:/+7stmACrシートを使うのが嫌なら、Thisworkbook.CustomDocumentProperties.Addメソッドでデータ保存用のドキュメントプロパティを追加して、引数ValueにTextBoxの値を設定して保存する。
個人的には非表示のシートの特定セルを名前つきセルにして値保存したりするのが一番簡単でスマートだと思うけど。
0871デフォルトの名無しさん (ワッチョイ 6f8e-SU9n)
2017/05/11(木) 07:43:21.95ID:rPw5k+yz0内部ポインタを一個戻す等、foreachで行う方法はありますか?
fornextで最終行を取得してstep-1で回すしか無いでしょうか
以下は全て空白だと、一行飛ばしになってしまいます
Sub a()
For Each c In Range("a1:a5")
If c = "" Then
Rows(c.Row & ":" & c.Row).Delete Shift:=xlUp
End If
Next
End Sub
0872デフォルトの名無しさん (オッペケ Sr27-Zgtb)
2017/05/11(木) 09:07:12.81ID:/+7stmACrFor Each ループの中のIfブロックを下のように変更するだけでたぶん大丈夫。
If c.Value = "" Then c.EntireRow.Delete
0873デフォルトの名無しさん (ワッチョイ 4392-+8ye)
2017/05/11(木) 09:29:59.01ID:FLYwB0Rv00874デフォルトの名無しさん (ワッチョイ 934c-8ulf)
2017/05/11(木) 09:59:12.35ID:mcCtz2uF0Sub test()
Dim t As Range
For Each x In Range("A1:A5")
If Len(x.Value) = 0 Then
If t Is Nothing Then
Set t = x.EntireRow
Else
Set t = Union(t, x.EntireRow)
End If
End If
Next
t.Delete
End Sub
ループ内で何らかの更新があると困る場合は、更新する処理をループ外へ持って行くのが基本。
0875デフォルトの名無しさん (ワッチョイ 4392-+8ye)
2017/05/11(木) 20:18:31.20ID:FLYwB0Rv00876デフォルトの名無しさん (ワキゲー MM5f-cKkg)
2017/05/11(木) 20:19:50.56ID:Fmy4inGeM0877デフォルトの名無しさん (ワッチョイ 7f35-SU9n)
2017/05/11(木) 20:32:35.28ID:NW/0VvPc0http://echo.2ch.net/test/read.cgi/bsoft/1385286071/
ExcelVBA使える人 → MicroSoftのOfficeの達人 → Wordも詳しい
という理屈ですが。
0878デフォルトの名無しさん (エーイモ SE47-O3YC)
2017/05/11(木) 23:49:17.97ID:zx/kL4SGE0879デフォルトの名無しさん (アークセー Sx27-Zgtb)
2017/05/12(金) 00:54:01.09ID:BDMuG5BjxIf Trim(c.Value) = "" Then で解決
0880デフォルトの名無しさん (ワッチョイ 4392-+8ye)
2017/05/12(金) 09:35:16.74ID:gion8+MF00881デフォルトの名無しさん (スップ Sd9f-F59I)
2017/05/12(金) 12:28:16.19ID:RVcJNNdKd0882デフォルトの名無しさん (ワッチョイ 3f61-Fc1g)
2017/05/13(土) 00:59:48.33ID:mLUQCLV/0ワークシート関数でもvbaでもlenで0が返るね
こういうときはいいけど ’ を探す時がめんどそう
0883デフォルトの名無しさん (アウアウイー Sa27-CBDy)
2017/05/13(土) 13:52:52.97ID:HC1vM6wca2行ほどであればエラーが出ないのですが、行数が多くなると
実行時エラー'5':
プロシージャの呼び出し、または引数が不正です。
とのエラーが出て
デバッグでは「.writeline ActiveSheet.Cells(i, 2).Value」が黄色くなります。
どうすれば数百行でも自動的に保存できますか?
ちなみにBに記載する量が1万文字とか多いです。
0884デフォルトの名無しさん (アウアウイー Sa27-CBDy)
2017/05/13(土) 13:53:25.42ID:HC1vM6wcaSub TxtSave()
Dim FSO
Dim i As Long
Dim Shell As Object
Dim FolderPath
Set Shell = CreateObject("Shell.Application") _
.BrowseForFolder(0, "フォルダを選択してください", 0, "c:\")
If Shell Is Nothing Then
Exit Sub
Else
FolderPath = Shell.Items.Item.Path
End If
Set FSO = CreateObject("Scripting.FileSystemObject")
i = 1
While ActiveSheet.Cells(i, 1).Value <> ""
With FSO.getfolder(FolderPath).createtextfile(ActiveSheet.Cells(i, 1).Value & ".html")
.writeline ActiveSheet.Cells(i, 2).Value
End With
i = i + 1
Wend
Set FSO = Nothing
End Sub
0885デフォルトの名無しさん (ワッチョイ 7f92-igRy)
2017/05/13(土) 13:55:32.72ID:XIxlvzGf0Dir()とかFileSystemObjectとか再帰処理とか苦労して覚えたけど、
コマンドプロンプトなら1行じゃねえかよ。
まいったねこりゃ。
0886デフォルトの名無しさん (ササクッテロレ Sp27-EjkN)
2017/05/13(土) 15:17:59.18ID:dAo8J8aZpデバッグ時にイミディエイトウィンドウに
?ActiveSheet.Cells(i, 2).Value
って打ってエンターすると何が出るの?
0887デフォルトの名無しさん (ワッチョイ e33c-C6Hr)
2017/05/13(土) 17:46:22.64ID:KbyRgcK300888デフォルトの名無しさん (ワッチョイ e33c-xhYv)
2017/05/13(土) 20:16:08.98ID:7fOHZyl+0functionで税計算して返して表示させるにはどうしたらいいですか?
なぜか0になるんですが
0889デフォルトの名無しさん (ワッチョイ 6f8e-ORdk)
2017/05/13(土) 20:19:17.40ID:bv0qe7/80???
Sub a()
Debug.Print tax_include(100)
End Sub
Function tax_include(ByVal price)
tax_include = price * 1.08
End Function
0890デフォルトの名無しさん (ワッチョイ 43cd-4kea)
2017/05/13(土) 21:36:03.75ID:Q6aUrrnC0可愛い子をまとめたクラス作ってほしい
0891デフォルトの名無しさん (ワッチョイ 6f8e-wWCI)
2017/05/13(土) 22:00:31.30ID:bv0qe7/80・A1を変更
・Worksheet_Changeを走らせた
この時、なぜ以下はtrueにならないんでしょうか?
Target.Range("a1") Is Cells(1, 1)
また、変更したセルがA1かどうかを判定するのってrowとcolumnを見るしか無いんでしょうか
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Range("a1") Is Cells(1, 1) Then
'以下は実行されない
Debug.Print 1
End If
End Sub
0892デフォルトの名無しさん (ワッチョイ 53cd-4kea)
2017/05/13(土) 22:27:03.61ID:uVoprXsD0Private Sub Worksheet_Change(ByVal Target As Range)
'If Target.Range("a1") Is Cells(1, 1) Then
If Target.Range("a1") = Cells(1, 1) Then
'以下は実行されない
Debug.Print 1
End If
End Sub
0893デフォルトの名無しさん (ワッチョイ 6f8e-yN95)
2017/05/13(土) 22:28:02.82ID:bv0qe7/80それ評価されてるのvalueです
If Target.Range("a1") = Cells(1, 1) Then
↓
If Target.Range("a1").value = Cells(1, 1).value Then
0894デフォルトの名無しさん (ワッチョイ 53cd-4kea)
2017/05/13(土) 22:32:39.90ID:uVoprXsD0ほんとに分からないで聞いてるの?
If Target.Address(RowAbsolute:=False, ColumnAbsolute:=False) = "A1" Then
MsgBox "うさぴょん"
End If
0895デフォルトの名無しさん (オッペケ Sr27-Zgtb)
2017/05/13(土) 22:35:22.33ID:1tdOb1fkrTarget As Rangeで、Target自体が変更されたA1セルを参照してるんだから、
Target.Range("A1")というオブジェクト式はおかしい
Target Is Cells(1, 1)
の間違いじゃないか?
0896デフォルトの名無しさん (ワッチョイ 6f8e-sSiL)
2017/05/13(土) 22:39:17.62ID:bv0qe7/80質問がわかりにくくてすいません
Worksheet_Changeの中で、
Target.Range("a1") Is Cells(1, 1)
がtrueにならない理由を知りたいのです
同じobjectを指していると思うのですが、違うのでしょうか
>>895
おっしゃる通り、通常ならtarget is cells(1,1)でokと思います
ただ
・A1を変更
・Target.Range("a1") Is Cells(1, 1)
とした場合、うまく行かないのです
Target.Range("a1")
は一体何を指しているのでしょうか。A1セルではないのでしょうか
0897デフォルトの名無しさん (ワッチョイ 7f3c-FKuM)
2017/05/13(土) 22:45:37.20ID:RjzTmCQE0RangeオブジェクトはなぜIs演 算子で比較できないのか
http://www.relief.jp/docs/excel-vba-is-operator-return-false-range.html
0898デフォルトの名無しさん (ワッチョイ 53cd-4kea)
2017/05/13(土) 22:47:47.61ID:uVoprXsD00899デフォルトの名無しさん (ワッチョイ 6f8e-ORdk)
2017/05/13(土) 22:50:51.15ID:bv0qe7/80ありがとうございます、理解できました
・Rangeオブジェクトは取得されるごとに違うメモリアドレスに格納される
さすがエクセルさん、相変わらず素敵な仕様ですね
0900デフォルトの名無しさん (ワッチョイ 53cd-4kea)
2017/05/13(土) 22:52:34.90ID:uVoprXsD00901デフォルトの名無しさん (ワッチョイ cf77-4kea)
2017/05/13(土) 23:07:30.19ID:N6UwL6PP0他言語経験あるような感じにしてはそういうところいい加減なのは自演かただバカなのか
6f8eの過去レス見るとまあ両方だろうな
0902デフォルトの名無しさん (ワッチョイ 6f8e-ORdk)
2017/05/13(土) 23:09:56.99ID:bv0qe7/80をpublicにせず、privateのまま外部から呼び出す方法ってありますか?
以下はエラーになります
'sheet1
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "done"
End Sub
'標準モジュール内、module1
Sub ボタン1_Click()
Sheets(1).Worksheet_SelectionChange (Cells(1, 1))
End Sub
0903デフォルトの名無しさん (アークセー Sx27-Zgtb)
2017/05/13(土) 23:34:11.96ID:furRlE79xイベントプロシージャを直接外部からCallする方法はないと思う。
やりたいことは標準モジュール内に記述した処理をイベント発生時に実行させたいということだと思うけど、
Worksheetクラスのインターフェースを継承させた自作クラスを作成して、標準モジュール内でそのクラスのインスタンスにSheet1への参照をSetして操作する作りにするか、
イベントプロシージャ側から標準モジュール内のメソッドをCallする作りにするかのどちらかだろ
0904デフォルトの名無しさん (ワッチョイ 6f8e-yN95)
2017/05/13(土) 23:39:39.36ID:bv0qe7/80おー、すごい!ありがとうございます、助かりました
0905デフォルトの名無しさん (アークセー Sx27-Zgtb)
2017/05/13(土) 23:52:59.41ID:furRlE79x回答しなきゃ良かった
0906デフォルトの名無しさん (ワッチョイ 3f61-Fc1g)
2017/05/13(土) 23:55:59.50ID:mLUQCLV/0>>903がまっとうな回答でしょうけど呼び出せなくはない
意味あるかは別だけど
邪道な回答その1
Dim Target As Range
Run "Sheet1.Worksheet_SelectionChange", Target
※無理矢理呼び出す(オブジェクト名はデフォルトの前提)
邪道な回答その2
Worksheets("Sheet1").Range("A2").Select
※イベントが発生する操作を書けば当然呼び出せる(A2以外を選択してる前提)
0907デフォルトの名無しさん (ワッチョイ 6f8e-yN95)
2017/05/14(日) 00:02:12.30ID:39DrrGuD0邪道でも良いと思います!
特に2はある意味非常にストレートで良いですね。ありがとうございました
0908デフォルトの名無しさん (ワッチョイ 3fcd-4kea)
2017/05/14(日) 00:06:49.87ID:QqWdjVny0この人は分かってて質問してると思う
まぁ自分で質問して自分で回答して楽しんでるならいいけど
あとワッチョイのUA部分がころころ変わってて怪しい
http://hissi.org/read.php/tech/20170513/YnYwcWU3Lzgw.html
http://uploader.s602.xrea.com/uploader/39DrrGuD0.png
0909デフォルトの名無しさん (アークセー Sx27-Zgtb)
2017/05/14(日) 00:13:18.67ID:/o5arm+Xxイベントプロシージャもリフレクションで呼び出せるんだ、知らなかったわ
ありがとう、勉強になった
6f8eのお陰なのが悔しいが笑
0910884 (アウアウイー Sa27-q1AQ)
2017/05/14(日) 01:43:00.95ID:2Eisyzjgaコンパイルエラー 修飾子が不正です。 とでます。
ただA列にファイル名、B列に10文字くらいの文字列を入れ20行くらいで実行したら
20個のHTMLファイルが保存されたのでプログラムは間違っていないと思います。
おそらく私がB列のセルに1万文字を超える文字列を入力しそれを400行位保存しようとしたため
エラーが出たのだと思います。
私がやりたいのは1万文字以上を超えるhtmlファイルの一部分を変数にして
その変数を変え、400ほどのHTMLファイルを特定の文字列で保存させたいのです。
プログラムは間違ってないけどエクセルの処理能力が超えてしまっている気がするのですが、
その場合どうしたらいいのでしょうか?
0911デフォルトの名無しさん (ワッチョイ 3f61-Fc1g)
2017/05/14(日) 02:24:51.83ID:3ZWO9+NY0今30000文字の文字列で1000行でやってみたけどエラーにならない
俺のそんな高性能マシンてわけでもないし
たかだかそれくらいで処理能力超えないだろ
エラー出そうなことも試してみたけど「修飾子が不正です。」が出せない
質問文に書いてないとこでなんかあるんじゃないかと思うけど
0912デフォルトの名無しさん (ワッチョイ 3f61-Fc1g)
2017/05/14(日) 03:01:04.08ID:3ZWO9+NY0多分環境依存文字が含まれてるんじゃね?
(財)←これを1文字で出すやつ
とかダメみたいよ
もし出力ファイルがunicodeでよければ
With FSO.getfolder(FolderPath).createtextfile(ActiveSheet.Cells(i, 1).Value & ".html", True, True)
に変更したらいける
unicodeだめなら別の方法考えないと
0913910 (アウアウイー Sa27-q1AQ)
2017/05/14(日) 10:06:27.52ID:2Eisyzjgaレスありがとうございます。
環境依存文字があったみたいで、取り除いたら保存できました。
とても助かりました!!
ただ不思議なのは1行ずつ手でコピペすると環境依存文字など入りません。
ただ1行目と2行目をアクティブにして右下部分を引っ張ってきて一気にコピペすると
途中までしかコピーできていなかったり、文字化けしたりしてたんです。
内容がhtmlファイルで改行コードとかタブ文字を消したり、「id="abc"」とかあるからかもしれませんが、
1行ずつのコピペは大変なのでどうしたら一気ににコピペしても1行目と2行目と同じ内容がコピーできるようになりますか?
0914910 (アウアウイー Sa27-q1AQ)
2017/05/14(日) 10:27:48.16ID:2Eisyzjgaですがセルをアクティブにして右下部分を一気に引っ張りコピーすると文字化けします。
(長すぎて書き込めなかったのですが、下記を1行にして貼り付けてください)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja"xmlns:og="http://ogp.me/ns#"xmlns:fb="http://ogp.me/ns/fb#"><head prefix="article: http://ogp.me/ns/article#">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
0915デフォルトの名無しさん (ササクッテロレ Sp27-EjkN)
2017/05/14(日) 11:01:02.60ID:7TLYMSd7pとりあえず解決ならよかった
コピペでもそんな手間ではないと思うんだけどなあ
フィルの件は試してみてなんかわかったらレスするかも
関係ないけどそれ見たら出力のhtmlのcharset、utf-8じゃん
それなら今のコードだとお行儀悪いよね
FSOじゃなくてADODB.Streamとかで出力しないと
内うちで使うだけなんだったらまあいいけどさ
0916914 (アウアウイー Sa27-q1AQ)
2017/05/14(日) 11:40:32.05ID:2Eisyzjgaとりあえず400行ほどあるし、
その後何回も400行ほどコピペをするのはつらいです。
普通1行ずつコピペしても一気に右下を引っ張っても同じ内容になるはずなのに
引っ張るやつだけ文字化けしたりするのはエクセルのバグなんでしょうか?
あと文字コードの件も問題だったのですが、
プログラムが正常に動き、自動的に保存されることが先決だったのです。
このプログラムは同じようなことを実行したかった人がネット上にいて質問掲示板から頂きました。
(私はプログラムできません。)
なのでutf-8で出力できるように改造していただけたら嬉しいです。
0917デフォルトの名無しさん (ワッチョイ e33c-rVrD)
2017/05/14(日) 12:36:49.13ID:PWVYPwyE0もしセルが空白でないなら続けてvbLfを追加、もしセルが空白ならvbLfを追加しない
という操作を行いたいのですが、どうすればいいでしょうか
イメージはこんな感じです
Range(A1).Value = Range(A2).Value _
If Value <> "" Then & vbLf _
End If
0918デフォルトの名無しさん (ワッチョイ 8344-irHX)
2017/05/14(日) 12:45:20.20ID:ElxVcgM100919デフォルトの名無しさん (ワッチョイ e33c-rVrD)
2017/05/14(日) 12:49:19.84ID:PWVYPwyE0かれこれ2時間エラー出っぱなしで泣きたいです
0920デフォルトの名無しさん (ワッチョイ 6f8e-DpWa)
2017/05/14(日) 12:50:07.50ID:39DrrGuD0A1にA2、A3、A4・・・と挿入していくってこと?
Sub foo()
For i = 1 To 10
If Cells(i, 1) <> "" Then
改行 = vbLf
Else
改行 = ""
End If
buf = buf & Cells(i, 1) & 改行
Next
Cells(1, 1) = buf
End Sub
0921デフォルトの名無しさん (ワッチョイ 6f8e-DpWa)
2017/05/14(日) 12:50:20.10ID:39DrrGuD00922デフォルトの名無しさん (ワッチョイ e33c-rVrD)
2017/05/14(日) 12:53:29.70ID:PWVYPwyE00923デフォルトの名無しさん (ワッチョイ 3f61-Fc1g)
2017/05/14(日) 13:01:46.20ID:3ZWO9+NY0丸投げかよと思ったけど>>1見ると最近それもありなんだな
予定ドタキャンで帰ってきたとこだから腹立ち紛れにやっちゃるわ
’宣言追加
Dim ADO As Object
Const adSaveCreateOverWrite As Long = 2’上書きモード
’Set FSOのとこ変更
Set ADO = CreateObject("ADODB.Stream")
ADO.Charset = "UTF-8"
’With FSO〜End Withのとこ変更
ADO.Open
ADO.WriteText ActiveSheet.Cells(i, 2).Value
ADO.SaveToFile FolderPath & "\" & ActiveSheet.Cells(i, 1).Value & ".html", adSaveCreateOverWrite
ADO.Close
オートフィルの件は再現できない ここに貼る前のデータに何かあるのかも
400セル選択してペーストの何がつらいかよくわからんが
0924デフォルトの名無しさん (ワッチョイ e33c-rVrD)
2017/05/14(日) 13:07:48.25ID:PWVYPwyE0それともThenの後に&vbLfをおいても、コード内に反映されるわけではないんですかね
0925デフォルトの名無しさん (ワッチョイ 53cd-4kea)
2017/05/14(日) 13:10:45.32ID:OAGZutLH0>さすがエクセルさん、相変わらず素敵な仕様ですね
とか言ってるくせにちゃんと確認しないの?
三点リーダ使うのは女かアホと相場が決まっている
0926デフォルトの名無しさん (ワッチョイ 6f8e-DpWa)
2017/05/14(日) 13:13:14.49ID:39DrrGuD0Sub foo()
Set 書き出すシート = Sheets("sheet1")
Set データ持ってくるシート = Sheets("sheet2")
array_cells = Array(データ持ってくるシート.Cells(2, 2), データ持ってくるシート.Cells(3, 3), データ持ってくるシート.Cells(4, 4))
For Each i In array_cells
If i <> "" Then
改行 = vbLf
Else
改行 = ""
End If
buf = buf & i & 改行
Next
書き出すシート.Cells(1, 1) = buf
End Sub
>>924
ワークシート関数のif()とvbaは全く違う
一行ずつ処理するってことを念頭においたほうがいい
0927デフォルトの名無しさん (ワッチョイ 6f8e-DpWa)
2017/05/14(日) 13:14:08.59ID:39DrrGuD02chの書き込みから性別当てるなんて、すごーい!
0928デフォルトの名無しさん (ワッチョイ e33c-rVrD)
2017/05/14(日) 13:14:25.27ID:PWVYPwyE0さすがエクセルさん云々をここで発言したことはないので、
別の方と私を勘違いしているんじゃないでしょうか
0929デフォルトの名無しさん (ワッチョイ e33c-rVrD)
2017/05/14(日) 13:15:34.75ID:PWVYPwyE0すいません参考にします
0930デフォルトの名無しさん (ワッチョイ 53cd-4kea)
2017/05/14(日) 13:15:46.59ID:OAGZutLH00931デフォルトの名無しさん (ワッチョイ 53cd-4kea)
2017/05/14(日) 13:18:21.34ID:OAGZutLH00932デフォルトの名無しさん (ワッチョイ 6f8e-DpWa)
2017/05/14(日) 13:19:28.25ID:39DrrGuD00933デフォルトの名無しさん (ワッチョイ 53cd-4kea)
2017/05/14(日) 13:25:45.62ID:OAGZutLH00934デフォルトの名無しさん (ワッチョイ 6f8e-DpWa)
2017/05/14(日) 13:27:39.63ID:39DrrGuD00935デフォルトの名無しさん (ワッチョイ 43cd-4kea)
2017/05/14(日) 13:30:14.65ID:+9EwIvKk00936デフォルトの名無しさん (ササクッテロレ Sp27-EjkN)
2017/05/14(日) 13:30:19.95ID:7TLYMSd7p0937デフォルトの名無しさん (ワッチョイ 43cd-4kea)
2017/05/14(日) 13:38:02.37ID:+9EwIvKk0素直過ぎて辛い
0938デフォルトの名無しさん (ワッチョイ 6f8e-SU9n)
2017/05/14(日) 14:48:19.52ID:39DrrGuD0linuxとかアホな事言ってすいませんでした
0939デフォルトの名無しさん (ワッチョイ 43cd-4kea)
2017/05/14(日) 17:30:44.31ID:+9EwIvKk0生まれてきてごめんなさい
0940デフォルトの名無しさん (ササクッテロレ Sp27-EjkN)
2017/05/14(日) 18:44:17.76ID:7TLYMSd7plinux版Excelとか胸熱だな
0941デフォルトの名無しさん (ワッチョイ 6fc8-vcg+)
2017/05/14(日) 23:18:59.05ID:4EM+3hXS0ちょっとびっくり。
0942デフォルトの名無しさん (ワッチョイ 0fcd-4kea)
2017/05/15(月) 07:15:58.15ID:YL7X9+9D0CRLFでもOKだよ
0943デフォルトの名無しさん (ワッチョイ d30a-8Y85)
2017/05/15(月) 08:51:02.82ID:8OsvPK0Q00944デフォルトの名無しさん (ワッチョイ 6f8e-wWCI)
2017/05/15(月) 08:53:52.17ID:RuVqP/Xq0セル内改行をcrlfにすると、crの分一文字多くなり、ミスに繋がりかねない
こういうのはちゃんと使い分けておいたほうが良い
0945デフォルトの名無しさん (ササクッテロレ Sp27-EjkN)
2017/05/15(月) 09:07:55.25ID:+qzB37uAp0946デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 10:04:23.87ID:au67XF4l05秒おきに更新されるデータシート(5万行ぐらい)をアクティブにするとCPUの使用率が高くなってしまいます。
普段はチャートのあるシートをアクティブにしていて問題はないのですが、
たまに生データを確認したいときがあり、データシートをアクティブにするとファン回転数が上がりPCが苦しそうなのでなんとかしたいです。
データシートには数式はありませんし、Changeイベントなどで動くマクロもありません。
5秒間隔で更新されるのは最下行のデータのみです。
数万行程度のシートをアクティブにしただけでこんなに負荷が上がってしまうものなのでしょうか?
データシートの行数を減らせば負荷が軽くなることは確認済みですが、
過去のデータを見たいときも頻繁にあるので、それ以外の方法で改善する方法がありましたら教えていただきたいのです。
宜しくお願いします。
http://i.imgur.com/0r3c5DZ.jpg
0947デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 10:08:29.62ID:au67XF4l0書き忘れましたが、Win7 + EXCEL2010、CPUはi5とかいうやつでメモリは16Gです。
0948デフォルトの名無しさん (ワッチョイ 6f92-+8ye)
2017/05/15(月) 11:24:53.31ID:Z59X/zup0んじゃなくて、何らかの抽出、絞り込み結果のシートを設けてそれを見れば
0949デフォルトの名無しさん (ワッチョイ 7fa8-8ulf)
2017/05/15(月) 14:51:53.33ID:BtHIySOa00950916 (イルクン MM5f-CBDy)
2017/05/15(月) 14:57:24.84ID:alpqg8q8M私なんかのために貴重な時間を割いてくださり、大変感謝しております。
ありがとうございます。
無事にやりたいことが実現できました。
とても助かりました。
実は私には不思議なパワーがありまして
あなた様が1年以内にとても良いことが起こるよう祈らせていただきました。
あなた様のさらなる幸せを祈っております。
0951デフォルトの名無しさん (ワッチョイ d30a-8Y85)
2017/05/15(月) 16:04:38.55ID:8OsvPK0Q0感謝してるのはわかるが、やりすぎ気味w
0952デフォルトの名無しさん (JP 0Hff-+8ye)
2017/05/15(月) 16:16:41.59ID:Jjv98UEoHその「5秒おきに更新」する処理が重いのでは?
0953デフォルトの名無しさん (ワッチョイ c392-SU9n)
2017/05/15(月) 16:49:14.68ID:hqrIAl2v00954デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 16:59:07.80ID:au67XF4l0生データを確認したい時は直近データを見たいときが殆どなので
直近データをコピペしてその貼り付け先シートでデータ確認するのがよさそうですね。
>>949
そのほうがいいのかもしれませんがエクセルしか知らない自分にはハードルが高いんですよね。
DBへ切り替える方法を簡単に解説してるサイトとか、これでググれみたいなワードがありましたら教えてください。
>>952
5秒間隔での更新は確かに重いですが、
>>946の画像のように、
データシートをアクティブにしたときと他のシートをアクティブにしたときのCPU使用率の差が大きいのが納得いかないのです。
大量のシートをアクティブにするだけで、なんでこんなにCPUが一生懸命動くのかと・・・
>>953
共有はしていません。
0955デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 17:00:47.72ID:au67XF4l0>大量のシートをアクティブにするだけで
↓
>大量のデータがあるシートをアクティブにするだけで
0956デフォルトの名無しさん (JP 0Hff-+8ye)
2017/05/15(月) 17:10:44.64ID:Jjv98UEoHマクロも計算式も一切ないのならデータの更新も行われないわけで、なんらかの処理が5秒おきに
実行されてるということですよね?
それがマクロ(VBA)で、なおかつ画面の再描画が実行されるなら、
・処理の前にapplication.screenupdating = false
・最後にapplication.screenupdating = true
を追加すると、動作が軽くなる可能性があります。
要は、画面の再描画が重いのでは?という疑惑です。
0957デフォルトの名無しさん (ワッチョイ 8344-irHX)
2017/05/15(月) 17:11:46.80ID:iRZDwBv505秒おきに更新
非アクティブ : データの書き換え
アクティブ: データの書き換え + 画面更新
かと
VBAやってる人なら
Application.ScreenUpdating = fasle
とかは 高速化の定番よ
0958デフォルトの名無しさん (ワッチョイ 8344-irHX)
2017/05/15(月) 17:12:46.90ID:iRZDwBv500959デフォルトの名無しさん (JP 0Hff-+8ye)
2017/05/15(月) 17:13:17.26ID:Jjv98UEoHhttps://www.moug.net/tech/exvba/0040055.html
0960デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 17:16:32.27ID:au67XF4l0あ、ごめんなさい。>>946の「Changeイベントなどで動くマクロもありません」というのは、
データシートをアクティブにしたりデータシートのセルの内容を書き換えたりといったイベントで動くマクロはないという意味です。
application.screenupdatingですか。まさかそんな初歩的なミスは犯していないはず・・・今から確認してみます・・・
0961デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 17:24:05.50ID:au67XF4l0screenupdatingについては問題ありませんでした。
データシートに数式はありません(ないはず)。
データシートには条件付き書式はありません(ないはず)。
0962デフォルトの名無しさん (JP 0Hff-+8ye)
2017/05/15(月) 18:03:55.68ID:Jjv98UEoHスパイクはなかったよ。CPU使用率は0.x%とか。
単にデータの多いシートにデータをセットするくらいでは、CPU使用率は上がらないってことかな。
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub hoge()
Set r = Worksheets("Sheet1").Range("A50000")
For i = 1 To 10
For j = 0 To 100
r.Offset(0, j / 10) = j
Next
Sleep 1000
Next
End Sub
0963デフォルトの名無しさん (ワッチョイ 6fc8-vcg+)
2017/05/15(月) 18:04:22.40ID:D8tuQ7tG0無いはずじゃなくてちゃんと調べないとダメでしょ。
調べる関数とかあった筈。
0964デフォルトの名無しさん (ワッチョイ 53c7-fj9k)
2017/05/15(月) 21:28:43.47ID:Nl227Lk000965デフォルトの名無しさん (ササクッテロレ Sp27-EjkN)
2017/05/15(月) 21:49:38.31ID:+qzB37uAp0966デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 22:03:34.78ID:au67XF4l0そうなんですが今も稼働中なのでチェックできないんです、すいません。
チェックできるのは土日になってしまいそうです。
>>965
データシートを更新しているマクロは、
データシートがアクティブでもその他のシートがアクティブでも、その実行速度に差はないと思うんですがどうなんでしょう?
0967デフォルトの名無しさん (ワッチョイ 0fcd-4kea)
2017/05/15(月) 22:04:41.72ID:YL7X9+9D00968デフォルトの名無しさん (ワッチョイ 0fcd-4kea)
2017/05/15(月) 22:06:08.32ID:YL7X9+9D0あとこの問題なかったかどうかの判断はこちらでするのでSS見せて
っていってSS見ると実は間違っているということが稀によくある
0969デフォルトの名無しさん (ワッチョイ 6fcd-4kea)
2017/05/15(月) 22:26:31.63ID:ypGkRsf80あとはなんだろうprocess monitorでexcel.exeが何してるか調べるとか
0970デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 22:30:26.33ID:au67XF4l0データシート以外がアクティブのときはエクセルのCPU使用率はせいぜい12%ぐらいなんですが、
データシートをアクティブにすると、画像のようにエクセルのCPUが大きく上がるのです
http://i.imgur.com/XROLZng.jpg
0971デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 22:32:46.70ID:au67XF4l0それなりに長いマクロなのでSSで示すのは難しいですが、
マクロの最初にFalseにして最後にTrueに戻してるだけです。
間違っている例ってどんなのがありますか?
0972デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 22:33:59.03ID:au67XF4l00973デフォルトの名無しさん (ワッチョイ 6fcd-4kea)
2017/05/15(月) 22:34:37.51ID:ypGkRsf80その前にさ、i5なのになんでタスクマネージャのコア1個なの?
仮想マシンとかじゃないよね?
0974デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 22:42:31.32ID:au67XF4l0タスクマネージャーのコアが1個ってなんですか?
詳しくないんですが、他OSからWindowsを起動して、そこでエクセルを起動してるとかはしてないです。
ハードディスクにはOSはWin7しかインストールしていません。
0975デフォルトの名無しさん (ワッチョイ 6fcd-4kea)
2017/05/15(月) 22:44:32.91ID:ypGkRsf800976デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 22:45:11.31ID:au67XF4l0明日の朝にやってみます。ありがとうございます。
>Excelオプションのハードウェア グラフィック アクセラレータを無効にする
>process monitorでexcel.exeが何してるか調べるとか
難しくてよくわからないんでググってみます。
0977デフォルトの名無しさん (ワッチョイ cfe2-SU9n)
2017/05/15(月) 22:48:12.52ID:HjU+oVHK0あと一番下以外も変化がないだけで更新してるとかは?
0978デフォルトの名無しさん (ワッチョイ 6fcd-4kea)
2017/05/15(月) 22:51:33.73ID:ypGkRsf80IEのCPU使用率やGOM起動中とか、さっきのCPUコア数の件とか
なんか怪しい点が多い
0979デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 22:54:14.32ID:au67XF4l0今試してみたら、最小化したらCPU使用率は上がりませんでした。
>>977
5秒間隔で、データシート最下行のデータを更新する or データシート最下行のひとつ下の行にデータを追加する、ということをやっています。
で、最下行のデータを更新するにも、最下行のひとつ下の行にデータを追加するにも、直近9行のデータを使っています。
つまり、一番下以外の部分も参照しています。
0980デフォルトの名無しさん (ワッチョイ 6fcd-4kea)
2017/05/15(月) 22:58:05.18ID:ypGkRsf80あとはあれだ、描画停止だけじゃなくてこれ
Application.Cursor = xlWait
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
' この間に自分で書いたコード
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.Cursor = xlDefault
0981デフォルトの名無しさん (ワッチョイ 6fcd-4kea)
2017/05/15(月) 23:00:49.81ID:ypGkRsf80とか書いてあるからSelectしてたり何かここに書かれていない重い原因があるんだろうよ
特定されそうな文字列は伏せてうpできねーの
それか、何をどう処理してるか具体的に書こうぜ
0982デフォルトの名無しさん (オッペケ Sr27-Zgtb)
2017/05/15(月) 23:04:45.28ID:KP72bivDr0983デフォルトの名無しさん (オッペケ Sr27-Zgtb)
2017/05/15(月) 23:17:13.55ID:KP72bivDr200バイトくらいの文字列を突っ込んだセルが数十列あったりとかじゃないよな
0984デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 23:19:18.33ID:au67XF4l0IEを起動してなくても、GOMを起動していなくても、データシートをアクティブにするとエクセルのCPU使用率は高くなります。
IEとGOMを閉じてデータシートをアクティブにしたときのCPU使用率です。
http://i.imgur.com/GMyaE03.jpg
>>981
楽天RSSというものを使用して、日経先物の買い注文や売り注文の変化を5秒間隔で集計しグラフ化しています。
マクロ高速化に関するページは一通り目を通しています。
Selectの多用など初歩的なミスはないと思います。
>>982
特殊な仕方でのセルへのアクセスとはどういったものなのでしょうか?
0985デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 23:21:10.98ID:au67XF4l0列数は26列です。
最初の1列は日付、それ以外の25列は数値です。
0986デフォルトの名無しさん (ワッチョイ 6fcd-4kea)
2017/05/15(月) 23:22:29.80ID:ypGkRsf80がんばれなー
0987デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 23:27:01.14ID:au67XF4l0えー、情報出してませんか?残念です。でもいろいろレスありがとうございました。
0988デフォルトの名無しさん (オッペケ Sr27-Zgtb)
2017/05/15(月) 23:27:32.77ID:KP72bivDrその数値何桁あるんですか
あと、書式設定はどうなってます?
0989デフォルトの名無しさん (ワッチョイ 6fcd-4kea)
2017/05/15(月) 23:30:12.17ID:ypGkRsf80つか楽天RSSのせいじゃねーの?
0990デフォルトの名無しさん (ワッチョイ 6fcd-4kea)
2017/05/15(月) 23:33:08.29ID:ypGkRsf80長引いてて他の人が質問しづらいだろうし
0991デフォルトの名無しさん (オッペケ Sr27-Zgtb)
2017/05/15(月) 23:34:38.44ID:KP72bivDrそんなもん、ユーザーのカスタムコードだけ調べても原因なんか分からんだろw
0992デフォルトの名無しさん (ワッチョイ 6fcd-4kea)
2017/05/15(月) 23:36:18.68ID:ypGkRsf800993デフォルトの名無しさん (オッペケ Sr27-Zgtb)
2017/05/15(月) 23:37:21.71ID:KP72bivDr0994デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/15(月) 23:38:35.98ID:au67XF4l0http://i.imgur.com/jG68gse.jpg
こんな感じです。
1列目以外の書式は標準です。
>>989>>990
楽天RSSのせいだとしても、
アクティブのシートによってCPU使用率にここまで差があるというのが納得できないんですよね。
でも仰るように、長引いてて迷惑かもしれないんで、少々控えます。
0995デフォルトの名無しさん (ワッチョイ 7fcd-4kea)
2017/05/16(火) 00:38:16.66ID:o7mBy2CV0>納得できないんですよね。
だから判断するのは質問者の手前じゃねえっつってんだろ
分かってないくせになんで納得できないんだよ
アクティブシートによって楽天RSSが負荷をかける仕様なだけだろ
すっとぼけてるだけで実は仮想マシンで色々動かしてるんだろ?
マネーゲームしてる典型的なカスの態度そのまんまだぜ
0996デフォルトの名無しさん (ワッチョイ c3d5-8ulf)
2017/05/16(火) 01:00:20.15ID:H5+sVhHM0アクティブシートによって負荷がかかる仕様ってことがあるのか、なるほど。
>すっとぼけてるだけで実は仮想マシンで色々動かしてるんだろ?
なぜそう思うのか?そんな知識は持ち合わせていない。
>マネーゲームしてる典型的なカスの態度そのまんまだぜ
すごい偏見
頭悪そうだねw
0997デフォルトの名無しさん (ワッチョイ 7fcd-4kea)
2017/05/16(火) 01:02:10.42ID:o7mBy2CV0じゃあな、いい夢見ろよ
0998デフォルトの名無しさん (スップ Sd9f-F59I)
2017/05/16(火) 08:24:25.65ID:J7MMoyEGd0999デフォルトの名無しさん (ワッチョイ 6f8e-SU9n)
2017/05/16(火) 08:25:04.88ID:iIGA/64l0Excel VBA 質問スレ Part48 [無断転載禁止]?2ch.net
https://echo.2ch.net/test/read.cgi/tech/1494890685/l50
1000デフォルトの名無しさん (ワッチョイ 6f8e-SU9n)
2017/05/16(火) 08:25:24.77ID:iIGA/64l0めんどくさいときはしない
けど基本するかなぁ
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 61日 17時間 20分 51秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。