[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/26 17:48 / Filesize : 310 KB / Number-of Response : 1035
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part48



1 名前:デフォルトの名無しさん [2017/05/16(火) 08:24:45.78 ID:iIGA/64l0.net]
!extend:checked:vvvvv:1000:512

スレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part47 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1489557874/

※関連スレ
VBAなんでも質問スレ Part2
echo.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
echo.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 125
echo.2ch.net/test/read.cgi/bsoft/1481369538/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

445 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:39:34.14 ID:xwlKrZPp0.net]
_人人人人人人人人_
> 突然の亀レス <
 ̄Y^Y^Y^Y^Y^Y^Y ̄

446 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:47:31.72 ID:7jSAnpp50.net]
>>431
4b19=ef8eだった

447 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:47:35.28 ID:xEezSy0Q0.net]
突然セパレータの話を持ち出しておいて「だって」とはwww

448 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:50:32.04 ID:7jSAnpp50.net]
>>433
mac版で:じゃなくて\で動くの?w
ソースは?w

449 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:57:03.34 ID:7jSAnpp50.net]
>>431
>>433
ワッチョイの仕様変わったの?
ID:lGWBXgBz0この人UA部分がころころ変わってるんだけど
デフォルトの名無しさん (ワッチョイ ef8e-9J/J)
デフォルトの名無しさん (ワッチョイ ef8e-kjbA)
デフォルトの名無しさん (ワッチョイ ef8e-c3sC)
デフォルトの名無しさん (ワッチョイ ef8e-h4wC)

450 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 03:36:38.16 ID:DLazu0lV0.net]
>>410
RangeをSelectする必要なんて普通無いだろう。
Selectする場合はSheetをActiveにするのも自然だろ。

何かおかしなこと言ってない?

451 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 05:02:21.03 ID:AjLNIuL80.net]
>>436
おもた
“見せる”時以外使わない

452 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 07:00:00.45 ID:YbQp1MN1M.net]
>>436
select しないといろんな操作ができないって思ってるのかも
マクロの自動記録で覚えた奴にありがち

453 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 07:39:25.88 ID:xwlKrZPp0.net]
>>436
あんまり無いだろうね。これは俺の好み
Workbook_BeforeSaveで全sheetのcells(1,1)か、最終行に選択セルを持って行くことがよくあるんだ



454 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 07:58:39.77 ID:J+CWW2790.net]
取り敢えずのapplication.goto

455 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:15:30.82 ID:Vftk4o9ex.net]
わざわざシートのActivate/Selectメソッド使わなくても、シート.Range(Index).Selectで終わる話だろ
そんなにGlobal.Range使いたいんか?
Global.Rangeなんてほぼ使わないぞ俺は、コードの可読性下がるから

456 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:55:51.01 ID:mJLzyhAZx.net]
ごとーーー!

457 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:58:27.48 ID:VCI0My45d.net]
シートがアクティブになってないとセルのselectできない話でしょ

458 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 10:28:17.60 ID:d3jolD7CM.net]
>>434
修正したけど出来ないってレスしてんじゃん
ちゃんと読んでからレスしなよwww

459 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 18:30:37.54 ID:N6tgl860x.net]
>>443
>>410は「シートをselectするかactivateしないと、rangeがselectできない」って書いてるよな
シートがアクティブになってないとRange.Selectが使えないっていう話をしてるわけじゃなくて、
シート.Selectメソッドかシート.Activateメソッドを使ってシートをActiveにしないとRange.Selectが使えないっていう嘘を言ってるんだぞ

460 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 20:31:16.93 ID:J+CWW2790.net]
>>445
念のために聞いておくが、何が嘘で、正解は何なのか教えてくれないか

461 名前:デフォルトの名無しさん [2017/06/01(木) 20:53:27.07 ID:gEanndL50.net]
どっちにしろSelectするかActivateすれば使えるんだろ?
たいした問題じゃねえよそんなの

462 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 22:54:42.48 ID:DaNoSOMR0.net]
文法的に納得いかないけど上手くいく不思議
Set Newbook = Worksheets.Add

463 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:25:19.57 ID:4Mx8xPkv0.net]
むしろ参照を返さないAddの方が少数派では



464 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:30:05.12 ID:0CdKwKMK0.net]
>>441
そうですよね
i.imgur.com/c7ccxuI.png

465 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:30:45.71 ID:xwlKrZPp0.net]
>>448
どう納得行かないのか分からん

466 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:32:46.29 ID:DaNoSOMR0.net]
>>451
代入してんのか?実行してんのか?っていう。

467 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:33:10.29 ID:DaNoSOMR0.net]
Setだから代入ではないか。

468 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:34:35.43 ID:xwlKrZPp0.net]
>>452
戻り値を代入してる。特に違和感がないんだが

469 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:37:20.08 ID:JcXv0anO0.net]
むしろ NewBook と言う変数名の方に違和感があるんだが...

470 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:47:19.51 ID:L+dplH4ca.net]
個人的にはworksheet.copyが値返してくれないほうが納得行かない

471 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 00:18:14.15 ID:WCh1iO0Y0.net]
>>456
その気持ちはよくわかる
その行を実行した直後はどの変数にも入っていないシートだからなんか不安になる

どうしても不安なときは先に新規ブック作っといてそこをコピー先にしてるけどね
それはそれで無駄なことしてんなあという気になる

472 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 06:38:31.89 ID:tmNEumAvx.net]
>>448
機能とは関係ない話だけど変数名はNewBookじゃなくてNewSheetにした方がニュアンス的に正しくない?

473 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 06:52:23.32 ID:MGPR/erb0.net]
>>456
機能的に代替出来る操作がある場合は値返さないものが多い気がする。
たぶんユーザー操作をマクロ化する為だけのメソッドは返さないんだと思う。



474 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 11:33:41.01 ID:8fOMtk3c0.net]
>>444
おい間抜け、↓この事だろ?こいつは嘘だ
>>399
>アドバイスいただいたものも全てダメしたけどダメ。

コード書いたり詳細に説明したレスに対してですら
個別にレスを返さない奴は、大体が釣り・試してない・見逃しのパターン

ソース?根拠?理由はこれだ、結果が書かれていない
>>387

余談だけど、foo野郎との質問野郎はなぜかセットで来る

475 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 11:39:22.60 ID:EMy/L9NX0.net]
>>460
義務じゃないんだから、嫌ならもう来なくていよ

476 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 12:18:35.67 ID:8fOMtk3c0.net]
>>461
またそうやって話逸らして逃げるんだから

477 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 12:26:31.41 ID:I1EQuNZXM.net]
ある数値に対して指数表記の有理数と指数を楽に拾いたいときって、format関数を使うのがいいですかね?
他に楽な方法ありますか?

478 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 14:32:15.95 ID:zUUtTsys0.net]
どんな方法があるにせよ、お前はそれで納得できずもっと他にないの?って
聞き続けるんだろ? >>463

479 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 17:47:56.11 ID:I1EQuNZXM.net]
書いてたら泥沼化してたんだけど、結構すっきり書けました。

指数=cint(split(format(数値,"0e+0"),"e")(1))
有理数=数値*0.1^指数

480 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 21:26:05.82 ID:rlzCeZS80.net]
エクセルの複数のセルの外枠に罫線を引きたいのですが、アプリケーション定義なんたらのエラーが出ます。
workbooks(********.***).worksheets(*****).range(cells(StartRow,StartCol),cells(endrow,endocol).borderaround
でstartrow startcol endrow endcolは変数です

どこがおかしいでしょうか?

481 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 21:45:23.47 ID:Zr32bafNM.net]
>>466
cellsがActiveSheetのセルなのでエラーになる。
↓のような感じでどうぞ。

with workbooks(********.***).worksheets(*****)
.range(.cells(StartRow,StartCol), .cells(endrow,endocol).borderaround
end with

482 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 22:52:19.74 ID:rlzCeZS80.net]
>>467 ありがとう。 そういうことだったんですね。

483 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 17:22:19.30 ID:u7+4M4Ru0.net]
>>468
初心者が一番嵌まる奴だな。



484 名前:デフォルトの名無しさん [2017/06/03(土) 21:54:33.85 ID:4eBaDiw20.net]
クラスモジュールってクラス定義してインスタンス化できるってこと?マルチスレッド可能なの?
オブジェクト指向?

485 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 22:20:24.58 ID:KC92KqWf0.net]
>>470
>クラス定義してインスタンス化できるってこと?
そう
>マルチスレッド可能なの?
無理

486 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 22:30:10.37 ID:aDOlFL7Wx.net]
>>470
オブジェクト指向

487 名前:ヘ中途半端なとこまでしかできない
マルチスレッドは無理
[]
[ここ壊れてます]

488 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 22:32:25.28 ID:KC92KqWf0.net]
エクセルvbaの場合エクセル自体がメインのオブジェクトだから、そんなにclassにこだわることもないけどね
エクセルvbaでゲーム作ってる人は知らん

489 名前:デフォルトの名無しさん [2017/06/03(土) 22:56:31.41 ID:4eBaDiw20.net]
>>471
>>472
プロパティくらいなのか
サンキュ

490 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 23:02:58.42 ID:aDOlFL7Wx.net]
>>474
カスタムイベント実装、インターフェース継承くらいなら出来る
ただ引数付きコンストラクタの作成やクラス継承・オーバーロードが出来ない

491 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 23:49:37.74 ID:KC92KqWf0.net]
vbaって継承できたのか、知らなかった・・・

492 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 23:53:01.27 ID:6M92ecdj0.net]
>>475
C++でそれらを使ってた時は
無くてもいいかなあとか思ってたけど
VBA始めたらありがたさがわかった

493 名前:デフォルトの名無しさん [2017/06/04(日) 00:02:03.04 ID:SMq8qLM70.net]
>>477
C++でわからなかったんだからわかってないよそれw



494 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 00:14:43.34 ID:QJwsDnIt0.net]
>>478
いや、普通に使ってるものに対して
いちいちありがたみなんて感じないだろ?
あるのが当然なんだから
正直lamdaもほしい

495 名前:デフォルトの名無しさん [2017/06/04(日) 00:23:32.29 ID:SMq8qLM70.net]
>>479
そうか?オレ毎日納豆食うけど食うたびに美味しいぜ?

496 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 00:46:27.14 ID:TICwxklg0.net]
無くてもいいかなあ
とわざわざ考えるとは疑問

497 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 00:55:58.63 ID:/9No1Vdv0.net]
C++の共用体はこんなもん使うか?と思ったけど、使うべき場面が来たら普通に使う
そういうもんだった

498 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 01:47:41.87 ID:ObX9l6mb0.net]
ありとあらゆる機能を使って実装するっていう状況自体少ないだろうしな。

499 名前:デフォルトの名無しさん (ワッチョイ 6a6f-E6+r) mailto:sage [2017/06/04(日) 08:43:15.60 ID:/sAoF2vM0.net]
マルチスレッドが無理って、
2つのブックでDoEventsして、
2つ実行したらおかしくなるってこと?

500 名前:デフォルトの名無しさん (ワッチョイ bd23-KDIu) mailto:sage [2017/06/04(日) 11:38:52.57 ID:ParPgGiC0.net]
>>484
それはマルチスレッドじゃなくね?

501 名前:デフォルトの名無しさん (ワッチョイ 3511-UdBD) mailto:sage [2017/06/04(日) 11:40:48.80 ID:NZhuuX9z0.net]
なんやかんやクラスは便利
データまとめるのにはよく使うわ

502 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/04(日) 12:00:24.95 ID:I9SwB1IFx.net]
>>486
クラスでデータまとめるって、具体的にはどういう場面で使ってる?
ワークシート使うより便利?

503 名前:デフォルトの名無しさん (ワッチョイ 3511-UdBD) mailto:sage [2017/06/04(日) 12:55:28.25 ID:NZhuuX9z0.net]
>>487
シートにあるやつを一回配列かコレクションか(俺はやらないけどレコードセットでもいい)にクラスん中でまとめるのよ
メインコードにリストに入れる処理入れるとごちゃごちゃするからさ



504 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/04(日) 13:22:31.55 ID:tlzlLDo0x.net]
>>488
レスありがとう
なるほどね
複数のレコードに対して同じ処理を繰り返す必要がある場合には便利そう

505 名前:デフォルトの名無しさん (ワッチョイ 9e23-amhP) mailto:sage [2017/06/04(日) 17:48:58.65 ID:1s3T2QVw0.net]
>>484
全然ちがう。
win32API使って別スレッド作る方法はあるし可能だよ。
けどExcelVBAでそれをやると物凄い不安定になる。
自分が試した感触ではRangeとかCellとかのExcelのオブジェクト触った瞬間にExcelごと落ちる感じ。

じゃあ、Excelのオブジェクト触らずに計算する所だけなら良いかというと、動く場合もあるけど複雑なものになると処理が間に合わなくて落ちるらしい。

基本、やめた方が良い。

506 名前:デフォルトの名無しさん (スプッッ Sded-qcoX) mailto:sage [2017/06/05(月) 01:20:19.17 ID:oPyz6kCkd.net]
別処理をWord使って処理させようとしてもOf

507 名前:fice全体で連携かかってるみたいでうまくいかなかったことがある
変なとこで作り込まれていてやりたいようにできないんだよな
[]
[ここ壊れてます]

508 名前:デフォルトの名無しさん (ドコグロ MM12-Tm/A) mailto:sage [2017/06/05(月) 08:37:00.53 ID:nJSdLO+iM.net]
元々マルチスレッドに対応してないものを無理矢理動かそうとして文句言われてもなぁ...

509 名前:デフォルトの名無しさん (ワッチョイ 5e6d-zyXy) mailto:sage [2017/06/05(月) 08:43:10.54 ID:+xVCJOY00.net]
文句じゃなくね

510 名前:デフォルトの名無しさん (ワッチョイ 2973-KDIu) mailto:sage [2017/06/05(月) 08:55:26.49 ID:btJTHdak0.net]
想定外の使い方ができないぞ!ってのは文句じゃないのか

511 名前:デフォルトの名無しさん (スップ Sdea-rE82) mailto:sage [2017/06/05(月) 09:24:51.60 ID:Sx3XxldLd.net]
>>490
ほほ同じ経験がある。
自分の場合は処理が終了したデータをDBにINSERTするところは上手くマルチスレッド化できた。
待ち合わせが必要ないパターンだったし。

COMそのものがマルチスレッドだめなんかね?

512 名前:デフォルトの名無しさん (JP 0H6e-rLqX) mailto:sage [2017/06/05(月) 11:01:11.07 ID:bwrXOc4qH.net]
>>490
> 自分が試した感触ではRangeとかCellとかのExcelのオブジェクト触った瞬間にExcelごと落ちる感じ。
それGUIアプリの常識。
全然関係ないスレッドからUIスレッド管理下のものに触ってはいけない。
https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%82%A4%E3%82%B9%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89

513 名前:デフォルトの名無しさん (スップ Sdea-rE82) mailto:sage [2017/06/05(月) 11:54:25.53 ID:Sx3XxldLd.net]
>>496
プライマリスレッドからでもダメなこと多かったよ。



514 名前:デフォルトの名無しさん (JP 0H6e-rLqX) mailto:sage [2017/06/05(月) 11:59:36.00 ID:bwrXOc4qH.net]
>>497
> プライマリスレッドからでもダメなこと多かったよ。
どの言語で?

515 名前:デフォルトの名無しさん (ドコグロ MM12-Tm/A) mailto:sage [2017/06/05(月) 12:54:03.39 ID:cR57/ADJM.net]
>>495
> COMそのものがマルチスレッドだめなんかね?
COM 自体はアパートメントモデルをちゃんと設定すればマルチスレッドでも動く
eternalwindows.jp/com/apartment/apartment01.html
個々のオブジェクトが正しく動作するかどうかはまた別の話

516 名前:デフォルトの名無しさん (ササクッテロラ Sp3d-mjoq) [2017/06/05(月) 23:38:18.98 ID:bd1ggU41p.net]
マクロを作成は通常MODULEですが、
Sheet1やThisworkbookに記入するのはどういうときでしょうか。済みません。

517 名前:デフォルトの名無しさん (ワッチョイ 4aef-PQPf) mailto:sage [2017/06/06(火) 00:15:48.16 ID:d6CS0Xy90.net]
なんでVBAでマルチスレッドにするの

518 名前:デフォルトの名無しさん (ワッチョイ 9e23-amhP) mailto:sage [2017/06/06(火) 04:12:26.65 ID:NdFOOmMr0.net]
>>501
要望として有るのは待ち状態の時に先に進めるためとか。

ダイアログの中には何らかの操作をしてダイアログ自体を閉じさせないと次のステップに行かない物がある。
そういう時に別スレッドで無限ループ中でそのダイアログが見つかったら操作する処理を動かしてからダイアログ表示させるとか。

例えばメッセージボックス表示させるんだけど10秒間ボタンが押されなかったらキャンセルするとか。

こういうのは上手く書くと動く。

他にも複数の関連しない計算に時間がかかっている時に単純に速度アップのために使いたいと思うかもしれない。

でも動いても趣味のプログラム以外じゃ危なっかしくて使えない。
マルチプロセスで代替えできるものも多いから無理する必要もない。

519 名前:デフォルトの名無しさん (ワッチョイ 6a06-k7rq) mailto:sage [2017/06/06(火) 04:20:46.72 ID:LBKXQv4G0.net]
>>500

>Sheet1
そのシートをActiveにした時の処理、DeActivateにする時の処理、あるいは
特定のセルにデータを入れた時の処理 etc

>Thisworkbook

ブックの起動時や終了時にDBとの接続処理や切断処理を入れてる

520 名前:デフォルトの名無しさん (ワッチョイ 5e6d-zUMb) mailto:sage [2017/06/06(火) 07:54:06.29 ID:xLIl+dL/0.net]
sheetやbookに書くのはそのオブジェクトのイベント
使い捨ての整形マクロなんかはsheetに書いてもいいけど、標準モジュールに書いたほうベター

521 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/06(火) 09: ]
[ここ壊れてます]

522 名前:05:13.69 ID:YhE+Nuz8x.net mailto: >>500
シートやブックのイベントを使用するためだよ
[]
[ここ壊れてます]

523 名前:デフォルトの名無しさん (ワッチョイ bd23-KDIu) mailto:sage [2017/06/06(火) 20:09:22.46 ID:Uy4z/eLw0.net]
vlookup等を使用しているとソルバーが使えないらしいのでVBAで作ろうと思っていますが、定番というか定石というか、参考になるサイトややり方等はありますか?
言ってて抽象的だなとは思ってはいますが、どうすべきなのか判らず…よろしくお願いします。



524 名前:デフォルトの名無しさん (ワッチョイ 6a6f-E6+r) mailto:sage [2017/06/06(火) 21:53:22.27 ID:efHThVDq0.net]
>>500
Thisworkbook.Worksheets(Activesheet.Name).Cells(1,1).Value=1
って書くのが面倒くさくて、
Me.Cells(1,1).Value=1
って書きたい時とか。

Me.も要らねえだろって?
何らかの理由でActivesheetが変わっちゃったら嫌じゃないですか?

525 名前:デフォルトの名無しさん (ササクッテロラ Sp3d-mjoq) [2017/06/06(火) 21:56:25.64 ID:vXDpJbBwp.net]
教えてください。

マクロでハイパーリンクを実行したいのですが、セルにリンクを貼る必要がない、ただマクロから実行するだけというとき、どう書けば良いのでしょうか。

526 名前:デフォルトの名無しさん (ワッチョイ ed46-RkbP) mailto:sage [2017/06/06(火) 22:06:15.37 ID:XIE7cY+50.net]
>>508
これ?

Sub foo()
ThisWorkbook.FollowHyperlink "www.google.co.jp/"
End Sub

527 名前:デフォルトの名無しさん (ワッチョイ 6a6f-E6+r) mailto:sage [2017/06/06(火) 22:14:17.43 ID:efHThVDq0.net]
そっち?

ハイパーリンクじゃなきゃダメなのか、
飛べば何でもいいのか。

Dim Ie As InternetExplorer
Set Ie = CreateObject("InternetExplorer.Application")
Ie.Visible = True
Ie.Navigate "www.google.co.jp/"

528 名前:デフォルトの名無しさん (ワッチョイ 6a6f-E6+r) mailto:sage [2017/06/06(火) 22:21:53.88 ID:efHThVDq0.net]
↑Microsoft Internet Controlsを参照設定しないとだめだわ。

529 名前:デフォルトの名無しさん (ワッチョイ 5e6d-hsUK) mailto:sage [2017/06/06(火) 22:53:35.96 ID:xLIl+dL/0.net]
>>510
IEではなく、chromeインスタンスを作ることって出来ますか?

530 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/06(火) 23:09:15.48 ID:NPrNQzK4x.net]
Dim objShell as Object
Set objShell = CreateObject(“WScript.Shell”)
GC.Run (“chrome.exe -url ” & アクセスしたいページのアドレス)

531 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/06(火) 23:10:19.79 ID:NPrNQzK4x.net]
間違えたので

Dim objShell as Object
Set objShell = CreateObject(“WScript.Shell”)
objShell.Run (“chrome.exe -url ” & アクセスしたいページのアドレス)

532 名前:デフォルトの名無しさん (スプッッ Sded-qcoX) mailto:sage [2017/06/07(水) 00:14:23.17 ID:iB9NoSxCd.net]
>>507
activesheetがどこだろうとsheetモジュールに書いてんなら関係なかんべ

sheetオブジェクトまで省略できる手抜きコードで済ますのにたまに使ってるわ
あとsheetをコンフィグ書いとくのに使ってるときにプロパティ的な関数を置いといたりな
あまり行儀よくはない自覚はある

533 名前:デフォルトの名無しさん (ブーイモ MM49-JT0G) mailto:sage [2017/06/07(水) 01:08:40.19 ID:0NeAqWbNM.net]
>>506
詳しくはないけど、VBAでやるものじゃない印象。
Excelのソルバーで収束するように数式を書き換えるか、他の言語やツールを使うのがいいんじゃないかなあ。
「ソルバー アルゴリズム」でググれば色々手段が出てくるよ。



534 名前:デフォルトの名無しさん (ワッチョイ 7d6d-28Zt) [2017/06/08(木) 01:09:56.48 ID:eFwaOcHQ0.net]
あるサイトのスクロールバーを一番下まで下げて
キャプチャしてシートに貼り付けてトリミング。
同じページにあるフレーム内のスクロールバーを下まで下げて
キャプチャしてシートに貼り付けてトリミング。ってのを
3ページ分位繰り返し行いたいのですが
www.vba-ie.net/ie/iescroll.html
この辺とか見てるんですがヒントください

535 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/08(木) 05:16:07.28 ID:1DKX/Vru0.net]
>>517
なんでこんなヘンテコなことしなきゃならんの?
JavaScriptなんて

536 名前:必要無いぞ。
と思ったけど、ちょっと調べてみるとJavaScriptでスクロールしてる例が多いな。
今、試す環境が無いから何とも言えないな。

DOMの勉強するよろし。
[]
[ここ壊れてます]

537 名前:デフォルトの名無しさん (ワッチョイ db6d-D9zB) mailto:sage [2017/06/08(木) 07:40:44.87 ID:fJC45ZIB0.net]
>>517
パット見たけどかなりめんどくさそう
キーボードマクロの方が良いと思う

538 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/08(木) 15:33:04.11 ID:1DKX/Vru0.net]
>>519
キーボードマクロは危険だよ。
動いてる最中にマウスクリックとかすると場合により大変なことになる。

操作は難しくないけどキャプチャをどうするかで難しくなるかも。
自分だったら難しい方法を選択するので。

539 名前:デフォルトの名無しさん (アウアウイー Saf1-ptyI) mailto:sage [2017/06/08(木) 20:37:38.86 ID:HogApBmCa.net]
VBA初心者です
For Nextループのカウンタ変数について質問です

1) データの最終行を取得
  カウンタ変数の初期値 2、終了値をデータの最終行に設定(仮に11とします)
2) For Nextループで処理
3) ループ終了後、A11セルの値を変数に代入したい

  For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
処理
Next
★変数 = Cells(i, 1).Value

★For Nextループを抜けた直後のカウンタ変数iは、データの最終行(i=11)のはずなので、
そのままCellsプロパティに代入すればA11セルの値を取得できると考えたのですが、
ループ終了時にカウンタ変数iが終了値に+1されて12になってしまいます

「For Nextループ終了後のカウンタ変数iは終了値+1になる」
というのは仕様なのでしょうか?

540 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/08(木) 20:40:46.12 ID:TyBSFeDZ0.net]
仕様ではないけど現実はそうなる

541 名前:デフォルトの名無しさん (ワッチョイ d543-g/1O) mailto:sage [2017/06/08(木) 20:45:04.87 ID:xavUYSpk0.net]
ループ変数が指定の範囲を「越えたら」ループを終了する、というのがForの仕様

542 名前:デフォルトの名無しさん (アークセー Sx71-sCoW) mailto:sage [2017/06/08(木) 20:46:19.32 ID:x3QO3rgpx.net]
>>521
xlupの値を使えばいいでしょ

543 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/08(木) 20:46:39.16 ID:TyBSFeDZ0.net]
ループ変数が指定の範囲の「間」ループを繰替えす、というのがForの仕様



544 名前:デフォルトの名無しさん (アークセー Sx71-5Ux4) mailto:sage [2017/06/08(木) 20:53:59.27 ID:ajpliBtkx.net]
>>522
仕様だよ
For Nextはカウンタ変数の値が引数endを超過した(または引数endの値未満になった)と判断したときにループ終了になる
Step1でループさせた場合、カウンタ変数がend+1の値になったときに次の処理に移るので、ループを抜けた後のカウンタ変数は当然end+1になる

545 名前:521 (アウアウイー Saf1-ptyI) mailto:sage [2017/06/08(木) 20:55:48.28 ID:HogApBmCa.net]
お答えありがとうございます

>>523,525-526さんがおっしゃってるようなことかなー、と思ったのですが
カウンタ変数は終了値を維持するという謎の思い込みがあったので
詳しい方々にきちんと教えていただけて有り難いです

>>524
ごり押しでi=i-1とするつもりでしたが断然スマートですね
というか、最終行取得のCells(Rows.Count, 1).End(xlUp).Rowも定型文のように覚えていたので、
きちんと構文の意味と動作を調べ直します






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<310KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef