Excel VBA 質問スレ Part73

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 4668-xJJl)
垢版 |
2021/09/13(月) 07:29:59.47ID:GNx0xRRz0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

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

※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
Excel VBA 質問スレ Part71
https://mevius.5ch.net/test/read.cgi/tech/1621914481/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/09/18(土) 18:33:26.51ID:y+KnaSW50
表形式ならテーブルでOK
名前の定義使わなくても
2021/09/18(土) 18:45:25.50ID:+/kaLHzEM
>>69
俺が思った通りに名前を定義してくれて、不要な名前は勝手に知らない間に削除してくれるとかかな
当然 >>57-59>>61 程度の変換は自動でやる
2021/09/18(土) 18:49:07.44ID:FfOi19ZE0
ちょっとぐぐったけど
NamesコレクションをForEachで回してユーザーフォームにでも表示させれば作れそうだな
2021/09/19(日) 00:12:03.29ID:zQBxj3q40
>>71
めちゃくちゃ簡単だな。任せとけ。
2021/09/19(日) 05:13:48.14ID:AGA6cOjvM
おう、頼んだぞ
2021/09/19(日) 10:09:24.37ID:IfToBfi40
Internet Explorer_Serverのハンドルから取得したIHTMLDocumentオブジェクトではそのページ内での操作はできましたが
Navigate実行時にメソッドをサポートしていないというエラーになります
別のURLへ移動する方法ありますか?
2021/09/19(日) 12:24:27.96ID:jno0wMDOH
>>75
たぶんメソッドの使い方が間違ってる
デバッグしてやるからコード晒してみ
77デフォルトの名無しさん (アウアウウー Sa5b-hED7)
垢版 |
2021/09/19(日) 12:45:26.42ID:/yxUr6Cya
IEのオプションでcssの設定を変える
2021/09/19(日) 14:05:15.93ID:IfToBfi40
>>76

検証中のためハンドルも直接入力してますし
コードも他のサイトの転用したものだったりかなり端折ってますが
何か解りましたらよろしくお願いします

Private Declare PtrSafe Function CLSIDFromString Lib "ole32" (ByVal pString As LongPtr, ByRef pCLSID As Currency) As Long
Private Declare PtrSafe Function RegisterWindowMessageW Lib "user32" (ByVal lpString As LongPtr) As Long
Private Declare PtrSafe Function SendMessageTimeoutW Lib "user32" (ByVal hWnd As LongPtr, ByVal msg As Long, ByVal wParam As LongPtr, ByRef lParam As LongPtr, ByVal fuFlags As Long, ByVal uTimeout As Long, ByRef lpdwResult As Long) As LongPtr
Private Declare PtrSafe Function ObjectFromLresult Lib "oleacc" (ByVal lResult As Long, ByRef riid As Currency, ByVal wParam As LongPtr, ppvObject As Any) As Long
Private Enum SMTO
NORMAL = 0
BLOCK = 1
ABORTIFHUNG = 2
NOTIMEOUTIFNOTHUNG = 8
End Enum

Sub test()
Dim hWnd As Long
hWnd = 136698
Set objDoc = GetHtmlDocument(hWnd)

'objDoc.Navigate ("https://www.google.co.jp/";)

'Googleの検索窓に入力
objDoc.getElementsByName("q")(0).Value = "test"

End Sub
2021/09/19(日) 14:06:52.91ID:IfToBfi40
続き
Public Function GetHtmlDocument(ByVal hWnd_InternetExplorer_Server As LongPtr, Optional ByVal uTimeout As Long = 1000, Optional ByVal documentVersion As Integer = 1) As Object ' As MSHTML.IHTMLDocument
Set GetHtmlDocument = Nothing

If documentVersion <= 0 Then
documentVersion = 1
ElseIf documentVersion >= 8 Then
documentVersion = 8
End If
Dim IID_IHTMLDocumentX As String
IID_IHTMLDocumentX = Split(",{626FC520-A41E-11cf-A731-00A0C9082637},{332c4425-26cb-11d0-b483-00c04fd90119},{3050f485-98b5-11cf-bb82-00aa00bdce0b},{3050f69a-98b5-11cf-bb82-00aa00bdce0b},{3050f80c-98b5-11cf-bb82-00aa00bdce0b},{30510417-98b5-11cf-bb82-00aa00bdce0b},{305104b8-98b5-11cf-bb82-00aa00bdce0b},{305107d0-98b5-11cf-bb82-00aa00bdce0b}", ",")(documentVersion - 1)
Dim InterfaceId(1) As Currency
Call CLSIDFromString(StrPtr(IID_IHTMLDocumentX), InterfaceId(0))

Dim lngMsg As Long
lngMsg = RegisterWindowMessageW(StrPtr("WM_HTML_GETOBJECT"))
If lngMsg <> 0 Then
Dim lpdwResult As Long
If SendMessageTimeoutW(hWnd_InternetExplorer_Server, lngMsg, 0, 0, SMTO.ABORTIFHUNG, uTimeout, lpdwResult) <> 0 Then
Dim hResult As Long
hResult = ObjectFromLresult(lpdwResult, InterfaceId(0), 0, GetHtmlDocument)
If hResult <> 0 Then
Err.Raise hResult
End If
End If
End If
End Function
2021/09/19(日) 14:13:18.62ID:qcTxghfBM
gethtmldocumentにnavigateあるのか?
81デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
垢版 |
2021/09/19(日) 21:14:40.95ID:+Er1+t3H0
navigateじゃなくてcreateDocumentFromUrlじゃないの?
知らんけど
82デフォルトの名無しさん (ワッチョイ 9f6b-W1il)
垢版 |
2021/09/20(月) 00:12:39.27ID:wP8fgZ+m0
A1からA10000にデータが有って検索したい文字列があったとする。
この場合,範囲をdictionaryで調べるのと配列で調べるのは速度は同じぐらい??
2021/09/20(月) 00:16:46.79ID:GQS+gMma0
なぜ自分で試さないのか
2021/09/20(月) 02:45:51.50ID:KDTpyD+cH
>>82
データがセルに入ってるならワークシート関数使った方が速い
85デフォルトの名無しさん (ワッチョイ 9f6b-W1il)
垢版 |
2021/09/20(月) 10:43:06.46ID:wP8fgZ+m0
えっ?そうなの??
86デフォルトの名無しさん (ワッチョイ 9f6b-W1il)
垢版 |
2021/09/20(月) 10:44:41.60ID:wP8fgZ+m0
試しましたが、
コードはdictionaryのほうがすっきりした。
体感速度はあまり変わりませんでした。
2021/09/20(月) 10:54:05.02ID:9E+2eMtE0
かまってちゃんかよ
天気いいから散歩でもしてこいよ
88デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
垢版 |
2021/09/20(月) 11:55:16.12ID:djFT0hLf0
コード醸せよ
2021/09/20(月) 12:03:32.94ID:DYg0tonqd
A・オリゼー
90デフォルトの名無しさん (ワッチョイ bf68-I2En)
垢版 |
2021/09/20(月) 12:27:59.43ID:lHEjG93V0
xxとyyどっちが早い、というのは本当に試した方が早い
バージョンアップで最適化されて、すげー早くなってる事がある
2021/09/20(月) 12:51:40.86ID:3QXihmxB0
>>87
別にかまってちゃんじゃなくて、回答に信頼性がないから自分で試したんだろう。誰かが信頼できそうな回答をくれたんだったら試さないと思うぞ。
2021/09/20(月) 13:12:45.31ID:26+LHXKYM
ちゃんと結果まで書き込んでるんだから
質問だけしていなくなるやつもいる中で、優秀だと思うよ
2021/09/20(月) 15:29:06.41ID:Ijs9yUmJM
>>86
まずはありがとうございました、だろ
うぜー帰れ
2021/09/20(月) 15:32:05.91ID:3QXihmxB0
>>93
お前何代表者みたいな顔して怒ってんだよ、とチャチャを入れてみる(笑)
95デフォルトの名無しさん (アウアウウー Sa5b-ONKb)
垢版 |
2021/09/20(月) 16:38:36.67ID:my+lQwjla
イヤ
マジで>>86はウザいわ
2度と来るな
96デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
垢版 |
2021/09/20(月) 16:58:36.07ID:djFT0hLf0
スルー力がない奴もセットて消えろ
2021/09/20(月) 17:03:04.82ID:3QXihmxB0
>>96
お前もスルーしないと
2021/09/20(月) 17:07:29.03ID:FEM4xU2r0
子供か
2021/09/20(月) 17:16:52.36ID:3QXihmxB0
>>98
スルー力、言うのは易し、行うのは難し、を指摘しているだけ。

もう一ついいか?
人の振りして我が振り直せ(笑)
2021/09/20(月) 17:48:58.56ID:9E+2eMtE0
一番スルーしてない人が言うと説得力ある!
2021/09/20(月) 18:05:45.62ID:Mz1RekPdr
モジュールとボタンを別のブックにコピーしたくてできたと思ったんだけど
ボタンに登録されるマクロがコピー元のマクロになっちゃってとうすりゃええのか分からん
.OnAction=Thisbook&”マクロ名”とかじゃ動かないのね
2021/09/20(月) 18:30:41.29ID:aa1o0gq5a
それコピーじゃなくてインポートしろよ
2021/09/20(月) 18:40:40.67ID:FEM4xU2r0
>>99
寂しいのか?
104デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
垢版 |
2021/09/20(月) 21:44:55.52ID:djFT0hLf0
ボタンをインポート?
これも楽な方法があったらいいのにね
105デフォルトの名無しさん (ワッチョイ bf68-I2En)
垢版 |
2021/09/20(月) 21:51:19.19ID:lHEjG93V0
シート上のフォームコントロールを消す時って
・右クリックで選択
・コンテキストメニューをESCで消す
・切り取り、もしくは「deleteキー」
で合ってますか?

選択する時はF5キーのオブジェクトでもいいんですけど、
どちらにしろ右クリックで選択というのが何か気持ち悪い
106デフォルトの名無しさん (ワッチョイ bf68-I2En)
垢版 |
2021/09/20(月) 21:58:02.93ID:lHEjG93V0
>>101
sheetモジュールのマクロ?
それとも標準モジュールのマクロ?

どちらによるかでやり方が変わる
107デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
垢版 |
2021/09/20(月) 21:58:44.81ID:djFT0hLf0
Ctrl+クリック
Delete
でいいんじゃない
108デフォルトの名無しさん (ワッチョイ bf68-I2En)
垢版 |
2021/09/20(月) 22:10:20.73ID:lHEjG93V0
>>107
短縮できました、ありがとうございました
2021/09/21(火) 16:59:19.72ID:6V+SG26ea
private subのどのプロシージャーからでも、グローバル変数に入った値を取り出す方法として、

たとえばenvという標準モジュールを作り、そのなかで

public dim grobal_a as string

sub hoge
global_a = "aaaa"
end sub


とやっておき、

エクセルのブック起動と同時にこの初期値を入れておきたいので
thisWorkbookにcall hoge

ってやるの、普通?
2021/09/21(火) 18:19:02.19ID:Qqw1uu/Y0
>>106
標準モジュールのマクロですー…
2021/09/21(火) 19:19:53.65ID:Bwxe0pHra
>>110
シートに標準モジュールのやつを呼び出すSubを書いて、それをボタンから呼び出せばいい
2021/09/21(火) 20:47:40.27ID:bgKjXBpU0
>>109
まず変数のスコープ覚えようね
2021/09/21(火) 21:06:44.82ID:0m2xZsmF0
>>109
普通は grobal_a と global_a の二つを一つにまとめると思う
114デフォルトの名無しさん (ワッチョイ bf68-I2En)
垢版 |
2021/09/21(火) 21:13:59.43ID:pV6hI0Vx0
>>110
全シートを選択してカットペーストでいけるだろ、と思ったら無理だった

VBEをVBAで動かすしか無いと思う。
https://jizilog.com/vba-modadd
http://officetanaka.net/excel/vba/vbe/07.htm
115デフォルトの名無しさん (ワッチョイ bf68-I2En)
垢版 |
2021/09/21(火) 21:29:23.86ID:pV6hI0Vx0
>>109
vbaってグローバル変数の初期化できないのか・・・
見たことはない。変な気はする
とりあえずはシートに書くほうが楽だと思う
constでいいなら初期化が出来る。社名みたいにほぼ絶対変わらない物ならこれでもいいかも

Public Const 定数 = 1
sub foo
debug.print 定数
end sub

>>113
わらった
2021/09/22(水) 07:59:00.83ID:ucS/NBRX0
>>109
普通か普通ではないか、と言われれば普通ではないかなぁ。
ではどこが、と言われるとまずモジュール変数をグローバル指定しているところはPrivateにして外部から呼び出す用のプロパティに組み込む。これでどこかで値が変更されてもブレイクポイント仕掛けてどこで呼び出されて値が変更されたかを確認出来るようになる。

あと、初期化用の関数はPublic指定にしておかないと別のモジュールから呼び出せないよ。ThisWorkbookから呼び出すんでしょ?
2021/09/22(水) 08:55:25.77ID:h9k7055fM
ありがとうございます
2021/09/22(水) 08:56:23.60ID:h9k7055fM
constやってみます
2021/09/22(水) 11:22:09.41ID:QukUYkwCa
普通じゃなかったのか…俺もそうしてた
>>116
勉強になります
120デフォルトの名無しさん (ワッチョイ f72f-fBlf)
垢版 |
2021/09/22(水) 15:13:16.34ID:XBxd6ZoY0
書籍「イヤンもう!最初からそう教えてくれればいいのに!ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本」の評判はどうですか?買うか検討中なのですが。
2021/09/22(水) 19:17:45.16ID:igHuaWyKa
>>120
ゼッタイにわかる本系の口語調文章に抵抗がないラノベ好きには良いんじゃない?
2021/09/22(水) 19:18:09.88ID:igHuaWyKa
>>120
ゼッタイにわかる本系の口語調文章に抵抗がない人には良いんじゃない?
2021/09/22(水) 19:19:18.20ID:igHuaWyKa
なにこのエラー去勢された
2021/09/22(水) 19:35:51.24ID:wAf2i/6rH
>>120
人それぞれ印象が違うから、参考書は最初の2、3ページ立ち読みして自分で決めるのがいいよ
125デフォルトの名無しさん (ワッチョイ bf68-I2En)
垢版 |
2021/09/22(水) 20:05:10.79ID:anCt84pS0
イヤンもう
って言うから検索したら特にそんな単語ついてないじゃないですか
2021/09/22(水) 21:46:48.06ID:Th7N/2yOd
https://i.imgur.com/Izd2bnq.jpg
127デフォルトの名無しさん (ワッチョイ bf68-I2En)
垢版 |
2021/09/22(水) 22:05:18.59ID:anCt84pS0
若い子が水着姿で教えるVBAの本なら簡単に死ぬほど売れるのでは?と思った
2021/09/22(水) 22:14:11.23ID:ER/2UqvV0
そもそもVBA自体がオッサン臭い言語
2021/09/22(水) 22:16:41.63ID:cVN8rRFZM
そもそも5ch自体がオッサン臭い場所
2021/09/22(水) 22:21:20.29ID:RvuuvfBjM
そもそもオッサンしかいない
2021/09/22(水) 23:01:12.21ID:LAnicbtO0
VBAとか作業記録してそれループするなり可変したりするなりちょっと直せば誰でも作れるからな
2021/09/22(水) 23:14:36.78ID:jBUNeyMwa
「はたらくプログラミング 」
「高校生からはじめる プログラミング」
「メイクロックマン 史上最大のプログラミング」
「独学プログラマー Python言語の基本から仕事のやり方まで」
のようなアニメやゲームキャラやイケメンを
採用して若い子にアピールするとか
「乙女チック4Gamer」第267回:
「推しと学べるプログラミング」
初心者も学べるプログラミング学習ゲーム
とか

美少女×プログラミング学習×ソーシャルゲーム『コードガールこれくしょん』
とかゲームで呼び込み

恋のプログラミング~ダメ男の見分け方~ DVD-BOX2
のようなDVDを付録に付けてみたりとか
とかとにかくVBAもなんとか頑張って欲しい
2021/09/22(水) 23:55:17.87ID:ToEmXEKY0
オレも1冊3000円くらいのVBAの本買ったわ
その本をキーボードの下奥に置くと角度が良い感じになるんだわ
手首が疲れないし、職場でもなんか「やってる」感がかもし出せるし、本当に買って良かったと思える1冊だったな
134デフォルトの名無しさん (アウアウウー Sa5b-hED7)
垢版 |
2021/09/23(木) 00:25:56.19ID:1QHTb9H7a
全国フェミニスト議員連盟が半泣き←いまここ
https://www.tokyo-np.co.jp/article/132305
2021/09/23(木) 00:27:06.21ID:4aFmMHLK0
>>132
ん。
昔、EXCELVBAゲーム大作戦とかいう本が出てたよ。まぁVBAも昔からあるからゲーム作るのも先駆者がいたんだね。

けど、結局難しいというか、お仕事で覚えることとベクトルが違うんだよ。1/60秒単位で押されているキーの値読み取って、キャラクターや地形描いてその当たり判定行なったりね。

まぁ暇でそういうの作ってみたいというのにはいいかもだけど、お仕事でVBA使うのの興味を持つために、というのにはちょっと重いかもね。
136デフォルトの名無しさん (ワッチョイ bf68-I2En)
垢版 |
2021/09/23(木) 00:56:08.87ID:O9y54sVl0
>>133
分かりすぎる
分厚い本って意外と重宝するよなw
137デフォルトの名無しさん (ワッチョイ bf68-I2En)
垢版 |
2021/09/23(木) 00:59:12.19ID:O9y54sVl0
vbaでゲームは基本的にかなりめんどくさい
メインのループ処理がキツイ
定期的に処理をエクセルに返してあげないと色々と不具合が起きる
曲芸でなければvbaで作るのは絶対に避けたほうが良い
2021/09/23(木) 09:34:39.93ID:MTBJM7920
2つあるフレームの位置を調整していたら、
フレームAをフレームBの中にドラッグしてしまったらしく、
2つのフレームが一緒になってしまいました。

プロパティウィンドウを見ると、フレームAはまだ存在するのですが、
画面上にはフレームBしか表示されていないため、Aを選択することができず、
AをBから分離することができません。

AのLeftやTopを変更してみましたが、画面上に変化はありませんでした。

何かいい解決法があれば教えてください。
2021/09/23(木) 09:39:09.54ID:MTBJM7920
自己解決しました。

@プロパティウィンドウでプルダウンからフレームAを選択する。
ACtrl+[A]で全選択した後、Ctrl+[X]で切り取り状態にする。
BフレームBのエリア外にマウスカーソルを持っていき、Ctrl+[V]で貼り付ける。
140デフォルトの名無しさん (ワッチョイ bf68-I2En)
垢版 |
2021/09/23(木) 11:52:58.11ID:O9y54sVl0
おめ〜^^
2021/09/23(木) 13:11:17.06ID:cmFu96z6a
>>139
たった5分も考える事が出来んのか
2021/09/23(木) 13:48:48.21ID:tEWlRRfOM
せっかく解決策書いてくれてるのにイチャモンつけるバカって何を考えてるんだろ…
2021/09/23(木) 13:53:17.23ID:DsLS3pBM0
ただの寂しがり屋の暇つぶしとか
2021/09/23(木) 13:59:57.49ID:5gST2jZHM
黙って去るやつよりよっぽどいいんだが
2021/09/23(木) 14:03:41.04ID:F4JAOFkVr
配列からグラフを書いたときってデータ数の上限はありますか?
その場合どのように対処すれば良いですか?
2021/09/23(木) 14:08:33.29ID:KMctW7zL0
>>145
上限を気にするようなデータ数だったら
excelでは重くて動かないと思う
別の言語で書いた方がいい
2021/09/23(木) 14:45:47.29ID:gN04ENXIM
>>145
その場合はデータをコンパクトにまとめるしかなくね
2021/09/23(木) 14:47:47.80ID:dUOklB1+M
>>145
数千個程度は描けたような記憶がある
そもそもそのレベルだと個々の値は見えないから複数個まとめて平均取るとかしてデータ量を減らせばいいかと
149デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
垢版 |
2021/09/23(木) 15:12:01.32ID:AtVLca4O0
系列数に上限がいかにもありそう 255とか
150デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
垢版 |
2021/09/23(木) 15:22:04.38ID:AtVLca4O0
>>145
上限なしだって
https://support.microsoft.com/ja-jp/office/excel-%E3%81%AE%E4%BB%95%E6%A7%98%E3%81%A8%E5%88%B6%E9%99%90-1672b34d-7043-467e-8e27-269d656771c3
これスレのテンプレに入れといてほしい
2021/09/23(木) 18:38:01.80ID:rxtBh7Jj0
>>145
セルに適当なデータいれてグラフ作ったら 9万9千9百+α までしか表示されなかった
メモリの問題かもしれん
2021/09/23(木) 18:52:18.65ID:c0lh6Lzfr
ごめんなさい
セルからではなく配列から直接グラフを読み込むときの話です。
自分の場合配列から散布図書いてて
データ数が15000?あたりから表示されなくなったので
2021/09/23(木) 20:46:47.80ID:rxtBh7Jj0
だからメモリ少ないんじゃね
2021/09/24(金) 16:28:38.47ID:GLO6/yx90
VBAで、リボンを常に表示させるてことできるんですか?
ググると
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", True)"
ていうのが出てくるんですが、
”タブとコマンドの表示”ていう状態にしたい。
2021/09/24(金) 18:53:45.39ID:towOKsyE0
If Application.CommandBars.GetPressedMso("MinimizeRibbon") = True Then
Application.CommandBars.ExecuteMso "MinimizeRibbon"
End If
2021/09/25(土) 02:37:13.36ID:p3qnNTxE0
>>155
おおサンクスww
できた。

なんでリボンの表示・非表示の記事書いてるやつはここまで書かないのかね。
2021/09/25(土) 06:01:58.81ID:A2HuAdJq0
なんでだと思う?
158デフォルトの名無しさん (ワッチョイ 1e68-wYsx)
垢版 |
2021/09/25(土) 07:24:00.70ID:i7f0lbxJ0
しっかりと自分で考える事が大事!向上心をもって勉強しよう!
2021/09/25(土) 07:50:31.86ID:xUBmE3KO0
ひろゆきのクラスモジュールの説明は的確で分かりやすかった
2021/09/25(土) 07:51:02.02ID:xUBmE3KO0
クラスモジュールというよりはオブジェクト指向か
2021/09/25(土) 13:59:25.45ID:QZokVoY5p
このスレにはクラスとかオブジェクト指向とかいうと、ファビョって「マウント取りに来たー!!」とか騒ぐじじいがいるから気をつけた方がいいぞ
2021/09/25(土) 14:23:54.16ID:ADwaIx4kM
5chはじじいの巣窟ですよ。
子供は他所で遊んだ方が良いですよ。
163デフォルトの名無しさん (アウアウキー Saef-nXzz)
垢版 |
2021/09/25(土) 15:09:26.96ID:kjOWSdg4a
>>161
聞く方もじじいだし
2021/09/25(土) 22:54:03.42ID:/8ShLWKPp
エクセル詳しい方にご質問。

保護シートの「オートフィルター使用」にチェックつけてる状態で、
Range(Cells(1,1),Cells(1,5)).AutoFilterを実行すると保護解除しろと言われるのですが、原因わかりますか?

Rangeで指定しているセル範囲の保護を外しても言われる始末。
オートフィルターの使用を許可すりゃ通るもんだと思ってました。

見えない仕組みとか、基本的な仕様を見逃してるんかなぁ…
2021/09/25(土) 23:52:15.96ID:wPvtJ2EG0
>>164
オートフィルターのオンオフはできないのが仕様だな
https://support.microsoft.com/ja-jp/office/%e3%83%af%e3%83%bc%e3%82%af%e3%82%b7%e3%83%bc%e3%83%88%e3%82%92%e4%bf%9d%e8%ad%b7%e3%81%99%e3%82%8b-3179efdb-1285-4d49-a9c3-f4ca36276de6?ns=excel&;version=90&syslcid=1041&uilcid=1041&appver=zxl900&helpid=21290&ui=ja-jp&rs=ja-jp&ad=jp
注: ユーザーは、この設定に関係なく、保護されたワークシートでオートフィルターを適用または削除できません。
2021/09/26(日) 00:17:38.53ID:BPwZjS350
とあるフォルダへのショートカットを作成する方法を調べたところ、
コーディング前に、
>参照設定は、VBA画面→ツールメニュー→参照設定で「Windows Script Host Object Model」を選択します。
>これでWshShellクラスとWshShortcutクラスを利用できるようになります。
という記述がありました。

それで作れそうですが、
作った.xlsmファイルを他人に渡した場合、
その相手が上記の参照設定をしていない環境だったとしても、ショートカットの作成は行えますか?
2021/09/26(日) 00:44:49.64ID:vU9Y5LAHp
>>165
ご回答頂きありがとうございます。

こういう基本的な説明くらい最初から見とけって話でしたね。

しかし、シートの保護とAutoFilterを両立できないとは、痒いところに手が届かない仕様ですな。
2021/09/26(日) 01:37:23.16ID:O844yIU50
>>167
オートフィルターON/OFFと同時にシートの保護/解除も書いてしまえばいいんでないの?
2021/09/26(日) 01:39:32.52ID:BPwZjS350
>>166
自己解決しました。

参照設定を変更しなくてもショートカットの作成は可能でした。
そちらの方法にします。
https://excel-ubara.com/excelvba4/EXCEL293.html
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況