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


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

Excel VBA 質問スレ Part69



1 名前:デフォルトの名無しさん mailto:sage [2020/12/13(日) 00:22:23.67 ID:Fd224klc0.net]
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける

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

※前スレ
Excel VBA 質問スレ Part68
https://mevius.5ch.net/test/read.cgi/tech/1598756127/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

684 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 12:24:02.20 ID:XpWP4Lg+0.net]
すいません自己解決しました
変数の定義がおなしかったみたいです

685 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 13:04:12.03 ID:nbeJO0KhM.net]
>>677
いけましたサンクス!!!

686 名前:666 [2021/02/16(火) 19:15:33.72 ID:+pX1epGPr.net]
遅くなりましたが、結局Dummyファイルの書き込みにしました。アドバイス頂いた方ありがとうございました。

687 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 21:00:08.21 ID:PQjj23xSa.net]
スミマセン、セルの特殊な機能だと思うのですが、

セルにポインタを合わせると、セルの外側右下に小さな▼が出現、
▼を押すとセルの下に小さなウィンドウが展開し、羅列された文字や数字を選択できる。

上記機能の名称とは何なのか、
どこでイジれるのか、作成できるのか等わからず困ってしまいました。

機能が生きているセルもありましたため、
新規で作成せずともその機能をコピーしようともしましたが方法わからず。

お詳しい方いらっしゃいましたら
お力添え願いたいです。

失礼します。

688 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 21:24:43.99 ID:kmFmEkS70.net]
VBAとは関係なく
「セルの入力規則」から「リスト」を選択してあとは適宜
詳細は上記キーワードで検索して

689 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 22:46:03.00 ID:g3oiZXVYr.net]
教えていただけると助かります。
VBAでIEからExcelに文章を写したいです。
アクティブなIEからカーソルで範囲指定して、その内容を写すことは可能なのでしょうか?

例えば、ヤフーで気になる記事の内容だけをコピペといった感じです。
気になるものだけなので、検索を入れ込む必要はないです。

IEとYahoo起動まではできるのですが、その先が分かりません。

よろしくお願いいたします。

690 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 23:02:29.70 ID:LtHH0x/40.net]
それ手動でコピペしたほうが早いんじゃね

691 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 23:41:10.89 ID:5LT5VcGn0.net]
気になる記事の条件は?
それを自分で判断するなら>>688が正解だと思うが

692 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 09:01:14.53 ID:tQXaEzsv0.net]
>>687
ちったぁググれ
https://konowaza.com/excel/copy_paste_macro.html



693 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 10:16:38.01 ID:vOoN+LpT0.net]
>>690
優しすぎる

694 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 12:53:19.33 ID:3Z4/s25m0.net]
>>686
ありがとうございますm(_ _)m
トライします。

695 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 12:57:54.00 ID:quEf8nPTr.net]
いえいえ

696 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 12:59:55.94 ID:Mp3MtPnAH.net]
クリップボードを監視して、新しいデータがコピーされるたびに保存してくれるアプリとか使えばいいんじゃない?
いちいちウィンドウを切り替えたりペーストしなくていいやつあるだろ

697 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 15:46:44.57 ID:i293dZUhd.net]
>>686
機能が生きているセルを上記指南で解析し、
貼り付けで解決しました!
助かりました。
ありがとうございました!

698 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 22:01:12.58 ID:YnE2/fOB0.net]
最終列までコピーをしたいんですがエラーを繰り返しなかなか実現できません…
例えばA3セルがデータの始まりでA7セルが最終列の場合、以下の文になるかと思いますRange(“A3:A7”).copy

ただ、半年に一度最終列が一列追加になるので、メンテナンスしなくていいように上の文のA7の部分が最終列になるようにしたいです

この場合何かいい方法はあるでしょうか

699 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 22:41:15.13 ID:FtApzB1S0.net]
行じゃなくて列?

700 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 22:42:03.66 ID:tZ0yQ1Z/0.net]
オーソドックスなのはこれだけど、物凄い珍回答を聞いてみたいわ
Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row).Copy

701 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 22:45:44.66 ID:LXOFF6tt0.net]
>>696
last_row = Sheet1.UsedRange.Row + Sheet1.UsedRange.Rows.Count - 1
last_col = Sheet1.UsedRange.Column + Sheet1.UsedRange.Columns.Count - 1
Debug.Print "A3:" & Sheet1.Cells(last_row, last_col).Address(RowAbsolute:=False, ColumnAbsolute:=False)

こんなん?

702 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 22:46:54.85 ID:bJ7UNxEFr.net]
>>690

ありがとうございます❗
探してたものに出会えました。
ググってはみたんですが、このサイトには巡り会えなかったので、本当に助かります。
やってみたら、思う結果になりました。
ありがとうございました。



703 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 22:47:30.28 ID:YnE2/fOB0.net]
行じゃなく列です
最終列が半年に一回追加になるのです…

704 名前:デフォルトの名無しさん mailto:696 [2021/02/17(水) 22:50:45.05 ID:YnE2/fOB0.net]
>>697
ごめんなさい、最終列の話だったのでA3セルからD3セルをコピーする場合、以下になるんでした
Range(“A3:D3).copy
今はD3が最終列ですが、半年後にはD3が最終列になるイメージです

705 名前:696 mailto:sage [2021/02/17(水) 22:51:42.12 ID:YnE2/fOB0.net]
何度も間違えてすみません…
今はD3が最終列ですが半年後にはE3が最終列になるの間違いでした

706 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 22:55:52.03 ID:X7VrF3DN0.net]
最終列取得の仕方調べないの?

707 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 23:06:07.99 ID:FtApzB1S0.net]
Range("A3").CurrentRegion.Copy

708 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 23:08:53.17 ID:ooyd3US+0.net]
ColLst = Sheet1.Сells(3,Columns.Count).End(xIToLeft).Column
Range(Sheet1.Cells(3,1),Sheet1.Сells(3,ColLst))
みたいにケツのColumnIndexを可変化させりゃええ
指定範囲より右側にコメントが入るのであれば別の方法を考える必要があるけど

709 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 23:09:11.52 ID:LXOFF6tt0.net]
CurrentRegionは使えそうで使わない

710 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 23:16:43.14 ID:FtApzB1S0.net]
UsedRangeだって使うの怖ない?
どっかにドットあるだけども持ってかれる

711 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 23:18:02.78 ID:tZ0yQ1Z/0.net]
これってやり方は何通りかあるけど、
どの状況でも使える完璧なのが無いよな
一見よさげなUsedRange.Find法とかも、
検索と置換の状態が変わっちゃうし

712 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 23:21:06.27 ID:LXOFF6tt0.net]
ちゃんとやりたい場合列のヘッダの名前の有無を確認とか意味解析するしかないよ



713 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 00:18:06.29 ID:ZQty99yr0.net]
vbaしかつかえないうんちなんだけど、ダイアログに変数名入れたら、その名前を反映させた定型コード作ってくれるような支援ソフトないの?
たとえば、Dim var: var= xとかFor i=LBound(arr) to UBound(arr)とか。いちいちめんどい。
cliborはつかってる。スレチだったらすまそ。

714 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 02:16:18.22 ID:QcGF+jUk0.net]
それこそ自分で作れよ
自分だけにに都合よく自動化したいならそれしかないだろ

715 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 08:21:36.53 ID:sd++046d0.net]
>>711
そういうの別言語だと見たことあるけど
VBAでは諦めた方がいいんじゃないかなぁ
https://mobile.twitter.com/johnsundell/status/1221758718188060673
こういう奴でしょ?
(deleted an unsolicited ad)

716 名前:696 mailto:sage [2021/02/18(木) 08:30:28.40 ID:0xKDo7Uv0.net]
最終列の取得をしてコピーしたいと申した者です
具体的には2シート目以降のC8セルから最終列までコピペしたくこのような文を書いてました

Maxcol = Worksheets(1).Range(“C8”).End(XlToRight).Column

For i = 2 To Worksheets.Count
Worksheets(i) = Range(Cells(8,3), Cells(8, Maxcol)).Copy
Worksheet(1).Cells(Maxrow,1).PasteSpecial Paste:=xlPasteValues
Maxrow = Maxrow + 1
Next i

上には書いていませんがMaxRowで最終行していて、1シート目の最終行にペーストするイメージです

このとき以下の箇所でエラーになりました

Worksheets(i) = Range(Cells(8,3), Cells(8, Maxcol)).Copy

717 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 08:31:50.99 ID:cssKdxraM.net]
>>713
やっぱVbaだと厳しいか、、、別言語だとこんなのあるんだな!ありがとう。

718 名前:696 mailto:sage [2021/02/18(木) 08:45:37.53 ID:0xKDo7Uv0.net]
解決しました…
Rangeの中にCellsを入れる際はCellsの方にもワークシート名を記載してあげなければいけなかったんですね…
お騒がせしました

719 名前:デフォルトの名無しさん [2021/02/18(木) 10:27:10.11 ID:4sNPnSsIM.net]
4点指定でrange作れればいいのにね

720 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 13:38:16.10 ID:EVRbmhyV0.net]
>>717
まあ、
Sheet.Cells(開始行, 開始列).Resize(行数, 列数)
もしくは
Sheet.Cells(開始行, 開始列).Resize(終了行 - 開始行 + 1, 終了列 - 開始列 + 1)
ってやるだけだし

721 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 17:41:06.06 ID:Khd0zmwWM.net]
>>714
これで動くのか
それならまあいいけども

722 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 20:47:31.34 ID:Sdz2Rpjn0.net]
コンパイルしたときに「ユーザー定義型は使用できません」といったようなエラーが出るのですが、
エラー箇所が選択されず特定できません。
ググってみたのですが「関数を一個ずつ切り貼りしながらコンパイル」的な記事しかなく、
結構大きなプロジェクトファイルになってしまっていて現実的ではありません。

原因って何が考えられますでしょうか。



723 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 21:08:20.83 ID:QcGF+jUk0.net]
情報が少なすぎるだろ
で、ユーザー定義型を使ったの?

724 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 21:48:45.33 ID:sd++046d0.net]
>>720
VBAでは珍しいかも知れないけど
VBSではよくある話
実行前コンパイルの概念がないからね

別に1関数単位で抜かなくても
纏めてごっそり抜いてみて
エラーが発生しなくなったら
残った部分には原因がなくて
抜いた部分に原因があるんで
まずそうやって切り分ける

抜いた部分から半分くらい戻してやって
またエラーが起きないか確認するのを
繰り返して行く内に
原因の可能性がある範囲はどんどん狭まるんで
そうやって確認して行く

725 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 21:52:25.45 ID:sd++046d0.net]
原因として考えられるのは
ない型を指定した場合なので
型宣言の書き間違えとかかな

726 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 21:59:48.04 ID:Sdz2Rpjn0.net]
>>721
使ってます。
また、クラスモジュールやライブラリも沢山使ってます。
以前なら間違っている名前の箇所が選択されるので、直ぐに原因が特定できたのですが・・・

>>722
今、出来る範囲でモジュールを解放・インポートを繰り返して検証して見たのですが、
フォームモジュールのいくつかが原因の様で、これらを抜くとコンパイル(実行前コンパイル)が成功します。
ただ、その原因と思われるモジュール内の全てのコードを削除しても同じエラー発生します。
意味が分かりません・・・

727 名前:デフォルトの名無しさん [2021/02/18(木) 22:36:52.79 ID:Xk2lzcuAM.net]
フォーム内のエラーはフォーム呼び出しコードが選択されるから、F8の手押し連打で進めて行けばエラー箇所で止まるんじゃね

728 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 23:05:06.07 ID:jY4O/2kG0.net]
いつもの人っぽいけど、クラスモジュールでエラー止める設定すれば分かるかもしれん

729 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 23:14:40.89 ID:Oj+90OvE0.net]
>>726
シートに書くとエラーの場所がわからないから標準モジュールに書け、
なんて書いてるサイトがあって、その解決策しばらく気づかなかったわ

730 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 23:38:17.80 ID:chyUcvsN0.net]
ズボラせず1個ずつちゃんと調べなよ

731 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 00:07:23.60 ID:3RXIcFsGH.net]
DimとかConstとかでタイプミス
SubやFunctionの宣言部でもよくある
Visual StudioでVB.netプロジェクトを作ってコピペで発見できる場合もある

732 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 03:59:43.95 ID:fFtIagGX0.net]
>>725,726
実行時例外じゃないです。

>>728
>>724の通り、発生元と思われるモジュール内コードを全て削除しても発生し、
モジュール自体を解放すると発生しなくなるため悩んでいます。
私も一個づつ調べたいのですが、もはや調べ方も分からない状況です・・・。

>>729
宣言文のタイプミスでも、通常はエラーが発生すれば原因箇所が選択(反転)されると思いますが、
今回はそのエラー箇所の選択がなく困っています。

vscodeですがVB.netプロジェクトへのコピペもやってみましたが、
関係のないエラーや注意が大量発生して特定困難でした。
というか互換性ないと聞いたのですが・・・



733 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 04:14:33.39 ID:fFtIagGX0.net]
お礼言うの忘れてました。
沢山回答ありがとうございます。
些細な事柄でも気になる点があればレス欲しいです。

一応質問内容をまとめます
・エラーが発生しているのはコンパイル時です
・通常あるエラー発生箇所の選択がされません(この「発生個所が選択されないという現象」自体の原因も調べています)
・原因と思われるクラスモジュールを解放すると発生しなくなります
・しかし、そのモジュール内のコードを消すだけでは引き続き発生します

734 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 05:06:58.61 ID:UOwA+kJV0.net]
なるほど
つまりVBAのコード側の問題ではないと

詳しい状況が分からんから何とも言えんけど
考えられる状況としては
・ファイルがぶっ壊れてる
・フォーム側に使ってるバージョンにそぐわないオブジェクトが設定されている
・使ってるバージョンにそぐわないAPIとかが使用されている
・何か変な参照設定切ってそれを使ってる

とかじゃない?

クラスとかライブラリ(何をもってライブラリと言ってるのかは分からんけど)使ってて
結構大きなプロジェクトファイル使ってると言うなら
元々動いてたものだったと思うんだけど
今改修を掛けているものが同じ環境下(EXCELのバージョンとか使ってるならランタイムとかが同じ)
で動くか確認した方がいいんじゃないかと思うよ

735 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 05:44:12.15 ID:6sfyeCMi0.net]
>>731
クラスモジュールを開放したあと、同名のクラスモジュールを空で新規追加したらどうなるの?
そのクラスモジュールの名前は何?

736 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 14:25:58.33 ID:fFbWPHDZ0.net]
ユーザ定義型は定義されていません

737 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 21:58:08.64 ID:p5a0AjpTa.net]
>>724
インポートとかすると改行や全角空白、タブ、eofとかがおかしいのが入ることあるよ

738 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 23:14:07.14 ID:FBAC49/30.net]
ぶっちゃけ原因不明でコードを新規ブックにそのままコピペしたら動いたってのは何度かあった
理由がわからんだけだったのかもしれないけど

739 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 00:17:20.20 ID:/mom05J70.net]
怪しい辺りを切り取り貼り付けで直るパターンもあった

740 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 02:39:20.18 ID:exEQDxd80.net]
エクスポートして新規ブックでインポートしてどうなるか試せ

そのクラスモジュールとやらをどっかに張ればなんかわかるかもしれん

741 名前:デフォルトの名無しさん [2021/02/20(土) 10:48:29.96 ID:+4W1iOYZ0.net]
帳票でひな形ファイルにDBからのデータを張り付ける際に
ひな形ファイルに前もって用意している一覧より件数が多くなり
一覧部を増やす際って存在している行を必要分コピペしたら処理が重く遅くなりますか?
範囲指定して行の高さや罫線その他書式を作成していくのが普通ですかね

742 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 11:52:03.51 ID:FtzhhzvS0.net]
1件ずつコピペしてたら遅くなる可能性があるけど
必要な行数を計算してコピペ1回なら問題にはならんのじゃないかな



743 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 13:27:35.51 ID:GLzvS33R0.net]
すげえ基本的な話だけど
2003と2019じゃソースを書き換えないと使えないのはわかるけど
2015と2019は使えるの?

744 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 18:00:11.01 ID:M8GDG/5fa.net]
自分で試せばいいのに

745 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 20:13:12.43 ID:OBWJcVSW0.net]
書き換えないといけないところが分かるなんてすごい実力者だね

746 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 00:07:25.30 ID:J4wkOwtc0.net]
複数バージョン持ってないと試せんだろう

747 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 00:25:53.91 ID:yZKJ3RszM.net]
どっちでも動くように作るのさ

748 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 02:57:17.71 ID:PfdFyViG0.net]
持ってないバージョンで動かないかもとか考えなくてもよくね

749 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 03:11:53.20 ID:NVBTtkD2H.net]
逆に、2019だけで動くようにしろと言われてもできる気がしない
わざと追加されたワークシート関数を使うみたいな、手段と目的を逆転させるのは無しで
そんなに言語仕様って変わってたっけ?

750 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 03:19:27.77 ID:BLnKvBaX0.net]
VBAの言語仕様なんて、64ビット対応しか変わってないだろ
EXCELのアプリケーションモデルは多少の変化はあったかもしれんが

751 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 09:10:45.20 ID:Mdn5KR7p0.net]
基本使えるだろうけど
365のは分からん

752 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 09:54:57.69 ID:E7dwtz5J0.net]
2019未満は切り捨てるためにわざと2019仕様に変更とか
わからん



753 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 18:05:27.14 ID:bOGV4XR6a.net]
古いのいつまでも使われると新しいの売れないからかな

754 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 11:45:30.79 ID:FCcJxvZt0.net]
>>747-748
動かなくなる原因は言語仕様だけじゃないよ
2007 辺りでグラフ周りがかなり変更されてソースに手を入れる羽目になったとかある

755 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 13:18:52.42 ID:kOquHQc20.net]
そうっすか

756 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 17:32:51.40 ID:/Yenw0XZd.net]
>>752
正にそれ結構大変だった。

757 名前:デフォルトの名無しさん mailto:sage [2021/02/24(水) 00:40:47.03 ID:HDXsWzJB0.net]
VB長けてる人ってExcelの機能関数に疎い人多いね
田中に聞けば?

758 名前:デフォルトの名無しさん mailto:sage [2021/02/24(水) 01:26:36.59 ID:QrJrBlgW0.net]
Worksheetfunction使うのでそれはない。

759 名前:デフォルトの名無しさん mailto:sage [2021/02/24(水) 02:17:27.39 ID:CQQJwOCp0.net]
2019欲しいけど
いまクソ高いんだよな
昔は10000ぐらいで買えたよな?

760 名前:デフォルトの名無しさん mailto:sage [2021/02/24(水) 02:42:57.68 ID:+tup+0KC0.net]
今でも1000円で…

761 名前:デフォルトの名無しさん mailto:sage [2021/02/24(水) 02:59:15.91 ID:CQQJwOCp0.net]
割れは怖くて使えんわ

762 名前:デフォルトの名無しさん [2021/02/24(水) 14:09:58.51 ID:HLiwO+Yd0.net]
64bitで未定プログレスバー使うにはどうすればいいの?



763 名前:デフォルトの名無しさん mailto:sage [2021/02/24(水) 19:44:17.34 ID:CpCHMr0L0.net]
オレの2019はアマゾンで900円くらいだ

764 名前:デフォルトの名無しさん [2021/02/25(木) 21:11:18.01 ID:u/u+FiSza.net]
原本となるシートでマクロが動いて欲しくないからマクロを搭載した別ブックのシートにコピーしようとしてるのだけど、activeXコントロールのコピーで詰んでいる。
selectAllすると位置がずれる、ネットで見かけるfor each x in sheets.Shapes方式だと「rangeクラスのTopプロパティを設定できません」とか出る(原因分からないうえ、同じものが複数コピーされてたりする)
Clickメソッド使ってるからシート自体に記述しなくちゃならない状態(原本にマクロを搭載できない理由でもある)

原本をコピーした新しいシートにマクロを転写する方法か、activeXコントロールをうまくコピーする方法などをどなたか分かれば教えてください。
よろしくお願いします

765 名前:デフォルトの名無しさん mailto:sage [2021/02/25(木) 21:28:47.82 ID:mAZPOqOP0.net]
俺はファイルコピーで解決しようとするから知らんわ

766 名前:デフォルトの名無しさん mailto:sage [2021/02/25(木) 22:14:57.96 ID:zfgrXATG0.net]
シートコピーしたら

767 名前:デフォルトの名無しさん mailto:sage [2021/02/25(木) 23:11:51.37 ID:h5Yd8P0i0.net]
デザインモードじゃないから梃子でも動かないって意味か?

768 名前:デフォルトの名無しさん mailto:sage [2021/02/26(金) 03:13:02.34 ID:RTjFElvVH.net]
>>762
ブックを別名で保存してからそっちを開いたら?
コントロールの状態や中身まで含めた完全なコピーが簡単にできるよ

769 名前:デフォルトの名無しさん mailto:sage [2021/02/26(金) 14:42:35.05 ID:uwtwTRSf0.net]
>>760
わいはコントロールやめてユーザーフォームで自作した

770 名前:デフォルトの名無しさん mailto:sage [2021/02/26(金) 18:00:57.54 ID:3R2zb4XV0.net]
>>762
原本はそのままで動くように作っといて、原本をコピーするマクロは原本とは別ファイルにするのが良いんじゃね

771 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 04:24:42.64 ID:RGn50kCua.net]
>>764
新しくシートをコピーしたらシートにプログラムが何も書かれてない状態になります(原本に記述されていないから)
シートにシートをコピーしたらコントロールが消えてしまいます(コントロールのコピーに躓いている)
>>766>>768
フールプルーフの観点で原本にプログラムを直接書きづらいんですよね。このツールを使うのも原本を更新するのも私じゃないので…
>>767
フォームなら別のブックにコピーできるし使いたいんですが要件的に使えないんですよね
最初はフォームで動作するものを作ったんですが、いちいちウィンドウが開くのめんどくさいと一蹴されました

あくまでシートにマクロをコピーする方法か、activeXコントロールの綺麗なコピーの方法を探しています。

772 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 04:28:43.21 ID:qDfn4Zqt0.net]
>>769
みつかるといいね



773 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 08:38:37.65 ID:+dnfLZll0.net]
>>769
出来るけど、セキュリティ的に大問題アリ。
マクロウイルスのやりたいことと一緒だからな。

774 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 10:42:13.72 ID:MpvSTRAea.net]
ウイルスの作り方探してるのかな

775 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 16:48:22.46 ID:9QiTc1mX0.net]
質問です。
VBAでウィンドウの幅によってレイアウトが変化するページを取り込む方法で詰まっています。

例えば、下記のURLのテーブル「5」をExcelに取り込みたいとします。
しかし、このページはウィンドウの幅を狭くすると「自動レイアウト」になります。
https://www.nankankeiba.com/uma_info/2014104006.do

https://i.imgur.com/EE2hZfE.png

本当はPC固定レイアウトで取り込みたいのですが、下のVBAだと自動レイアウトの方で取り込まれてしまうのですが
どうしたらよろしいでしょうか。
VBA
https://i.imgur.com/tQsJ8fB.png

PC固定のレイアウトで取り込みたいけど、取り込むとこうなる
https://i.imgur.com/106irI4.png

776 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 16:50:21.04 ID:9QiTc1mX0.net]
>>773
列や行の関係でPC固定で取り込めるようにしたいのですが、クエリで何か設定などあるのでしょうか

777 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 19:51:14.14 ID:qDfn4Zqt0.net]
>>774
よくわからんが内容は正しく取得できているんだから、表示用のシート作って
そっちに2行を1行にまとめて表示させるマクロ書けばいいんじゃね

778 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 20:13:53.31 ID:9QiTc1mX0.net]
>>775
実は最近サイトがスマホ用に「自動レイアウト」に対応してリニューアルしたので
もともと作ってあった表示用シートが連れてしまうために「PC固定レイアウト」にしたいのです…

779 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 20:25:57.30 ID:Ydjbk0QN0.net]
URLの後ろに何か引数入れればいいんだろうけど、javascript読めんからわからん。
Web系のスレで聞くか、ここでやるんだったらDOM解析してgetElementsByTagNameとかで取得するしかない。

780 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 20:28:08.24 ID:9QiTc1mX0.net]
>>777
やっぱりweb系のプログラミング知識がないと無理っぽいですかね
自分はさっぱりなので、そっち系でも聞いてみます。

781 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 20:46:04.22 ID:Ydjbk0QN0.net]
ってそれExcel2013?
2019だとどちらも見えていて、
Table4が自動でTable5が固定になっている。

もし2019が使えるなら、QueryTables.Addじゃなくて、
Queries.Addでやってみるといい。

782 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 21:38:16.92 ID:9QiTc1mX0.net]
>>779
わあああ!できました!!!
自分のだと、テーブル5だと自動で、テーブル6が固定でした!!
固定と自動でテーブルずらすだけで良かったんですね。
本当に助かりました;;感謝!



783 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 21:44:40.46 ID:9QiTc1mX0.net]
なるほどー
URLの違いじゃなくてテーブル数が増えていてテーブルの変更でレイアウトを別々で読み取っていたんですね
今後も参考になる知識でめっちゃタメになりました!
いやーID:Ydjbk0QN0さんの着眼点のおかげで助かりました。感動です

784 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 23:59:01.77 ID:W4zZ+WShM.net]
いいってことよ(≧∇≦)b






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

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

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