1 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 11:46:47.21 ID:mBQ16TA8.net] ↑同じ内容を3行貼り付けること ExcelのVBAに関する質問スレ コード書き込みや作成依頼もOK 次スレは>>980 が立てること 無理なら細かく安価指定 ※前スレ Excel VBA 質問スレ Part77 https://mevius.5ch.net/test/read.cgi/tech/1658009255/ Excel VBA 質問スレ Part78 https://mevius.5ch.net/test/read.cgi/tech/1667104996/ - VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
307 名前:デフォルトの名無しさん [2023/03/15(水) 12:05:57.01 ID:VvC5BQRV.net] >>301 そういうのは今はChatGPTに聞いた方が早いかと。 その質問をそのままコピペ、VBAのコードでと聞いたらこんな風に返ってきた。 VBAを使用して、Excelファイルから特定のセルの値を抽出し、別のブックにある特定のセルに値を反映させるには、以下のようなコードを使用できます。 Sub copyCellValue() Dim srcBook As Workbook Dim destBook As Workbook Dim srcSheet As Worksheet Dim destSheet As Worksheet Dim srcRange As Range Dim destRange As Range 'コピー元のブック、シート、セルを指定 Set srcBook = Workbooks.Open("path/to/source_file.xlsx") Set srcSheet = srcBook.Worksheets("Sheet1") Set srcRange = srcSheet.Range("A1") 'コピー先のブック、シート、セルを指定 Set destBook = Workbooks.Open("path/to/destination_file.xlsx") Set destSheet = destBook.Worksheets("Sheet1") Set destRange = destSheet.Range("B2") 'コピー元のセルの値をコピー先のセルに反映 destRange.Value = srcRange.Value 'ブックを閉じる srcBook.Close destBook.Close End Sub
308 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 13:19:10.47 ID:jS5g/06S.net] chatGPTの亜流がどんどんでてきたな https://ronpagpt.jp/
309 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 14:24:15.02 ID:/7ImdP24.net] >>303 AIはすごいね AIはさすがだよ AIにその回答を導き出させた>>303 はもっとすごい
310 名前:デフォルトの名無しさん [2023/03/15(水) 17:36:50.88 ID:d5qN4lxo.net] >>305 要件を満たしていないだろ お前、このスレを立てた零細企業のバカだろ
311 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 18:04:03.00 ID:/7ImdP24.net] いや、AIはすごいんだって だってたちどころに回答するんだぜ? どんな難問投げ掛けられたって、おちゃのこさいさいで即座にだよ?すごいじゃないか やっぱAIには敵わないね でもそのAIを容易に使いこなせる>>303 は、ほんとすごいんだよ こかれらもこまったことがおきたらぜんぶ>>303 にそうだんすればいいよ ぜんぶアッ!といまうだよ >>303 そこがかみだよだってAIあつやれるんだのもきとっすいごおきゅりうょうもっらてんるだろ
312 名前:デフォルトの名無しさん [2023/03/15(水) 18:41:01.53 ID:X44VfF2/.net] やっぱり零細企業の馬鹿本人かよ
313 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 19:56:07.69 ID:cZ1DNOu4.net] >>296 様 皆様 やっと「SUM関数かつ0が表示」を選択する事が できました!!!これでムダな列を自動的に非表示にできます。 @一定の範囲のセルを選択 A検索で「0」の値を検索 B検索結果をクリック Cctrl+Aですべてを選択 大変お騒がせ致しました。本当にありがとうございました。
314 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 20:16:56.49 ID:/7ImdP24.net] やりたいことが分かってから意見書くのも、なんか憚られるが それ、横方向に並べ替えすれば合計欄0のだけ端っこにまとまるから、それで一気に列の非表示すればよくね? 元データが料理の種別とかで固定だから並べ替えなんか「成りません!」てなら別だけど それでも何かを基準に左に詰めたりできそうな気がするんだが https://sakusaku-office.com/excel/post-9111/ https://webpt.jp/blog/excel/excel-across-sort/
315 名前:デフォルトの名無しさん [2023/03/15(水) 20:47:00.15 ID:V0E4/N1Q.net] 馬鹿が考える方法は馬鹿な頭から出てくる馬鹿な方法だからまともに相手にするのが間違い 馬鹿が質問すると荒れるから迷惑
316 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 21:59:25.48 ID:jS5g/06S.net] >>307 そのAIから https://i.imgur.com/XaCp34O.png
317 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 23:05:20.69 ID:xu8ICwau.net] ジジババって最新の技術をすぐ小馬鹿にするよね?
318 名前:デフォルトの名無しさん [2023/03/15(水) 23:58:49.40 ID:cjZorZVQ.net] 最近の馬鹿って自分が馬鹿なことに気づかないの?
319 名前:デフォルトの名無しさん mailto:sage [2023/03/16(木) 00:27:14.17 ID:434mvrOL.net] >>312 ワロス
320 名前:デフォルトの名無しさん mailto:sage [2023/03/16(木) 02:07:32.51 ID:B5SNFDHd.net] さっきから何あぼーんの嵐(笑)
321 名前:デフォルトの名無しさん [2023/03/16(木) 10:36:22.46 ID:N2/NSeFa.net] 馬鹿はエントロピーが大きい状態 エントロピー増大の法則
322 名前:デフォルトの名無しさん mailto:sage [2023/03/16(木) 11:33:40.43 ID:w6mQ50Ij.net] コードの保存はどうしている? ChatGPTで色々と変更しながら書いてもらっているけど、過去のも残しておきたいが ぐちゃぐちゃになっている。
323 名前:デフォルトの名無しさん mailto:sage [2023/03/16(木) 11:38:54.15 ID:6Wkwlpg5.net] そこにメモ帳があるだろ
324 名前:デフォルトの名無しさん mailto:sage [2023/03/16(木) 13:04:45.51 ID:s5XEFQZu.net] >>318 毎回最初から最後まで書いてもらえばいい もう保存とかアホらしくなってきた
325 名前:デフォルトの名無しさん [2023/03/16(木) 15:49:40.74 ID:hTqOV0Oo.net] 間違えた回答をありがたく保存するのかよ
326 名前:デフォルトの名無しさん mailto:sage [2023/03/16(木) 17:03:31.67 ID:pLTmwSf1.net] VBA で1を1stに変換する関数ないの?
327 名前:デフォルトの名無しさん mailto:sage [2023/03/16(木) 17:49:19.70 ID:dPl9ROvM.net] Excel VBAにはない Access VBAなら専用の関数がある
328 名前:デフォルトの名無しさん mailto:sage [2023/03/16(木) 18:00:58.62 ID:Loiq54un.net] >>322 VBAでよければ https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11156601881 ちえぶくろだけど 7年前
329 名前:デフォルトの名無しさん [2023/03/16(木) 21:12:18.58 ID:wf1v+CLj.net] >>322 ワークシート関数で出来るらしい。 =A1&IF(OR(MOD(A1,100)={11,12,13}),"th",CHOOSE(MIN(5,RIGHT(A1)+1),"th","st","nd","rd","th")) 20までならもっと簡単になるみたいで。 =A1&LOOKUP(A1,{0,1,2,3,4;"th","st","nd","rd","th"}) 上記の数式をVBAからWorksheetFunction関数で使う手も。
330 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 21:04:59.58 ID:Rz29PTI+.net] >>322 どこまでの値をカバーするか、どういうデータか、によっては、既に書かれているとおりワークシート関数でも事足りるよ なお本当に1を1stにするだけだったらワークシート関数のSUBSTITUTE使えばいい
331 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 21:17:55.87 ID:Za4MxO2H.net] 1 → 1st 11 → 1st1st 101 → 1st01st
332 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 21:57:25.24 ID:AwqZu1PH.net] スクショを貼り付けしてトリミングするまでのマクロ使ってるんですが トリミングした不要な部分を削除 を追加する事ってできますか?
333 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 22:53:09.64 ID:X3/sx5T9.net] マクロでやる必要ある?
334 名前:デフォルトの名無しさん mailto:sage [2023/03/19(日) 10:30:21.74 ID:fsx9oQpt.net] >>329 毎回、図のトリミング部分を削除するのが手間でマクロでやってしまいたい
335 名前:デフォルトの名無しさん mailto:sage [2023/03/19(日) 11:14:17.24 ID:T5Hyor/5.net] [Win]+[Shift]+[S]キー とかでスクショ撮る前に切り取れば? >トリミングした不要な部分を削除を追加する というのがよく分からんが うっかり
336 名前:gリミングしたけど元に戻したいとか? https://itojisan.xyz/settings/25094/ キャプチャの再考も必要かも [] [ここ壊れてます]
337 名前:デフォルトの名無しさん mailto:sage [2023/03/19(日) 13:05:56.53 ID:fsx9oQpt.net] スクショするコードと下のコード繋げて貼り付けてるんだけどその後に図のトリミング部分を削除を毎回手動でやってるんだけど その手間を無くせないかなと思って Sub 貼り付け() Range("A6").Select ActiveSheet.Paste Application.CommandBars("Format Object").Visible = False Selection.ShapeRange.LockAspectRatio = msoFalse Selection.ShapeRange.IncrementTop 126.5453543307 Selection.ShapeRange.ScaleWidth 0.5493110633, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight 0.8437515373, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.PictureFormat.Crop.PictureWidth = 1439 Selection.ShapeRange.PictureFormat.Crop.PictureHeight = 809 Selection.ShapeRange.PictureFormat.Crop.PictureOffsetX = 324 Selection.ShapeRange.PictureFormat.Crop.PictureOffsetY = -63 Selection.ShapeRange.LockAspectRatio = msoFalse Selection.ShapeRange.IncrementLeft 28.3636220472 Selection.ShapeRange.IncrementTop 0.00007874015748 Selection.ShapeRange.ScaleWidth 0.9641379475, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight 0.9259154745, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.PictureFormat.Crop.PictureWidth = 1439 Selection.ShapeRange.PictureFormat.Crop.PictureHeight = 809 Selection.ShapeRange.PictureFormat.Crop.PictureOffsetX = 310 Selection.ShapeRange.PictureFormat.Crop.PictureOffsetY = -37 Selection.Placement = xlFreeFloating Selection.ShapeRange.LockAspectRatio = msoTrue Range("A10").Select ActiveWindow.WindowState = xlMaximized 'ウィンドウを最大化 End Sub
338 名前:デフォルトの名無しさん mailto:sage [2023/03/19(日) 18:29:45.55 ID:M92RK9ru.net] あなたの言うトリミングとは何なのか トリミング=不要な部分の削除ではないのか というところから、どうぞ
339 名前:デフォルトの名無しさん mailto:sage [2023/03/19(日) 19:21:57.35 ID:+3/waKCo.net] >>333 図の圧縮のトリミングをvbaでやりたいけどコードが分からないんだろう
340 名前:デフォルトの名無しさん mailto:sage [2023/03/19(日) 21:50:22.00 ID:fsx9oQpt.net] いやだから図のトリミング部分を削除したいと言うてるわけです
341 名前:デフォルトの名無しさん mailto:sage [2023/03/19(日) 22:16:16.30 ID:N8t0mUor.net] いやだからわざわざマクロでやる必要ないでしょ? コード書いてるより手動でやった方が早いのでは?
342 名前:デフォルトの名無しさん mailto:sage [2023/03/19(日) 22:33:34.30 ID:fsx9oQpt.net] 頻度が多いのよ 図の形式からいちいち削除する手間を無くして 貼ったと同時に不要なトリム部分を削除したい ネットで見てもなかなか載ってない
343 名前:デフォルトの名無しさん mailto:sage [2023/03/19(日) 22:39:45.16 ID:+3/waKCo.net] >>332 いやお前ら、 図の圧縮のトリミングをマクロでやる方法があるならそれを教えてあげなよ 俺はわからなかった。マクロの記録にもない 何パターンか ・図の圧縮をキーマクロにする 個人的には全くオススメしない https://yaromai.jp/shape-compression/ ・別ソフトを使う pictcutterとか ドラッグアンドドロップで処理できる マクロでどうこうするより早い ・別アプリと連携する imagemagickがvbaと連携できる かなりしんどいけど、imagemagickは有名なソフトでかなり色々できる 急がないならかなりお勧め。知っていれば画像に関することはほぼなんでもできるようになる https://qiita.com/tabizou/items/5789ae88abbb063ea0bb
344 名前:デフォルトの名無しさん mailto:sage [2023/03/19(日) 22:45:35.69 ID:M92RK9ru.net] こんな感じ? Set shape1 = ActiveSheet.Shapes(1) shape1.Copy ActiveSheet.PasteSpecial Format:="図 (PNG)" Set shape2 = ActiveSheet.Shapes(ActiveSheet.Shapes.Count) shape2.Left = shape1.Left shape2.Top = shape1.Top shape1.Delete
345 名前:デフォルトの名無しさん mailto:sage [2023/03/20(月) 08:19:41.94 ID:K5H+7bLz.net] >>338 ありがとう、会社PCだからソフトやアプリを簡単に申請して入れられないんだ >>339 まじすげぇです、 完全に求めていた事が出来た 本当に心から感謝 マジでありがとう
346 名前:デフォルトの名無しさん mailto:sage [2023/03/20(月) 08:22:41.79 ID:K5H+7bLz.net] いや、マジ凄い 素人ながら結構ネットで検索してたのに 実現は無理なんかなと諦めてた 本当に本当にありがとう すげえ
347 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 01:10:26.57 ID:2GJP0s5v.net] 惚れちゃうよね
348 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 07:03:36.10 ID:bl4/liXV.net] 濡れる
349 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 10:12:48.44 ID:PCjca3J8.net] 人間chatgpt認定
350 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 23:13:02.09 ID:QiPSaXn9.net] ワイはエクセルのイルカ 何でも質問してええよ
351 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 23:23:48.95 ID:kDcUmgO1.net] お前を消す方法
352 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 23:34:19.90 ID:PCjca3J8.net] サエコ先生?アシスタントだっけ? あれもリストラされたよね
353 名前:デフォルトの名無しさん [2023/03/24(金) 08:20:34.18 ID:1yrWyKZ9.net] 【本当にあった怖いVBA】 Enum SDigit SList = 2 SOutput End enum sub test() set wsh = Thisworkbook.WorkSheets(SName(SList))) End sub ↑お、SNameがシート名配列か? Function SName(FDigit As SDigit) SName = LSheet.Cells(FDigit, 2).Value End Function ↑ん? Function LSheet() Set LSheet = Thisworkbook.WorkSheets("一覧表") End Function ↑?????????
354 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 08:59:41.03 ID:y9S7Bvf0.net] set wsh = Thisworkbook.WorkSheets(FDigit) でええがな
355 名前:デフォルトの名無しさん [2023/03/24(金) 10:27:19.17 ID:mGsBzzaU.net] いや待て ひょっとすると Function Lsheetは 実は別クラスに書いてあって インターフェースを介在して 取ってきているのかもしれないぞ。 そしたら場合によっては そんな記載になることも ないとは言い切れない。
356 名前:デフォルトの名無しさん [2023/03/24(金) 10:44:43.79 ID:FUl1ABhx.net] いやどれも同じ標準モジュール 一覧表シートに載ってる表(A列がブックのパス、B列がシート名みたいな)の値を取るだけだったから Set Wbo = WorkBooks.Open( SPath( SOutput) ) Set Wsh = Wbo.WorkSheets( SName( SOutput) ) みたいな記述もある(SpathはLSheetのA列から取ってくる) コメント0でなんでこんな記述してるのかも定数や配列にしてないのかも分からん
357 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 11:25:35.61 ID:1rbGFcof.net] 変数名にwshは感心しない 斜め読みだと外部スクリプトでも呼んでるのかと勘違いする
358 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 11:57:47.57 ID:y9S7Bvf0.net] >>352 それはかなり思う。いつも少しひっかかる
359 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 12:03:58.85 ID:MDleo4Zx.net] 古き良きハンガリアン風に WB_[ブックの役割名] WS_[シートの役割名] とかかな。
360 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 12:10:10.68 ID:anQmlZ/+.net] 俺はxla, xlb, xls
361 名前:348 [2023/03/24(金) 12:14:05.32 ID:FUl1ABhx.net] さすがにシートの変数名は変えてあるわ 定数で済むものをシートからの取得にしたり シートからの取得方法が関数の多重呼び出しだったり 呼び出し先の関数ではシート名直打ちだったり 関数が配列みたいな名前だったり 呼び出しの引数がユーザー定義型だったりで 可読性最悪なクソコードなんだよ
362 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 12:19:18.16 ID:anQmlZ/+.net] 定数(変数)をまとめたシートはよく作るな
363 名前:348 [2023/03/24(金) 12:31:11.37 ID:FUl1ABhx.net] >>357 今後マクロを読む引き継ぎ先に向けてのシートだろ? マクロ内での定数宣言で問題ないのに わざわざシートから参照する方式で難解にする意味が分からん 百歩譲ってそこを許すとしても 一覧表シートの指定はLSheet関数じゃなくて SPath、SName内でWorksheets(シート名定数)だろ
364 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 12:35:33.80 ID:DAz6UNB2.net] 変数を日本語(漢字)で宣言してるわ… いけないのはわかってるけどメンテナンスする時に楽だから… Dim 列 As Range Dim 行 As Range
365 名前:デフォルトの名無しさん [2023/03/24(金) 12:37:59.55 ID:mGsBzzaU.net] >>359 ちょっと待て 列や行をの型がRange? どういう状況なんだ?
366 名前:デフォルトの名無しさん [2023/03/24(金) 12:41:59.41 ID:FUl1ABhx.net] >>360 表かなんかの取得で列や行の一部しか入れないんでねーの 行 = Range(A1:C1)みたいな
367 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 13:15:09.00 ID:anQmlZ/+.net] >>358 値の取得は Range("設定!名前") ファイル名やら出力先シート名とかね ダイアログの代わりみたいなもんか
368 名前:デフォルトの名無しさん [2023/03/24(金) 13:36:50.23 ID:mGsBzzaU.net] なるほど したっけ変数名は「行取得セル」とかにした方がいいだろな
369 名前:348 [2023/03/24(金) 14:11:44.49 ID:FUl1ABhx.net] >>362 結局なんでマクロ上に定数で書くんじゃなくシートから持ってきてるんだよ
370 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 15:27:24.94 ID:NHu64AvA.net] >>363 北海道民か
371 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 15:59:07.20 ID:anQmlZ/+.net] >>364 設定ダイアログの代わりにワークシートを使っています。 これでいい?
372 名前:デフォルトの名無しさん [2023/03/24(金) 16:49:43.95 ID:mGsBzzaU.net] >>366 なら、セルひとつで済むんじゃないの? 対象セルに入力規制掛けてリスト化してしまえば。
373 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 17:41:36.37 ID:5t6vPIej.net] >>367 そうだね ほとんどは1つのセルにそれぞれ名前を付けてるね まあオレがそうしてるだけでゴリ押ししてるわけじゃないからな 無駄だ!と言われればそうですねとしか答えられない
374 名前:デフォルトの名無しさん mailto:sage [2023/03/27(月) 19:44:14.62 ID:Lfv4NoBM.net] そうですねと答えられたら「そうですか?」と聞き返すしかない
375 名前:デフォルトの名無しさん mailto:sage [2023/03/27(月) 21:10:49.67 ID:vvevgmMM.net] 問題は名前(文字列)でシートを識別する方式にある プロパティのところでクラス名やモジュール名みたいにワークシートのオブジェクト名を自由に編集できる これはシートに付与した名前とは別物で、シート名がどう変わろうと常にそのシートを示す with worksheet("hoge") ではなく、オブジェクト名で with HogeSheet のように記述できるようになる 名前がHageに変えられたり毛髪に問題が起きても常にHogeSheetにアクセスできる
376 名前:デフォルトの名無しさん mailto:sage [2023/03/27(月) 21:14:34.52 ID:HMtLcTY+.net] あなたの日本語難しいネ!
377 名前:デフォルトの名無しさん mailto:sage [2023/03/27(月) 22:12:35.66 ID:DLXELyrv.net] 左にあるのから123って指定できたやろ名前関係なく
378 名前:デフォルトの名無しさん mailto:sage [2023/04/06(木) 23:56:50.44 ID:hYGJaIME.net] マクロで記録して 再生すると 何だよ エラーになるのは 図形に多い
379 名前:デフォルトの名無しさん mailto:sage [2023/04/07(金) 07:12:32.36 ID:msaEGqkC.net] 記録したコード見て直せ
380 名前:デフォルトの名無しさん mailto:sage [2023/04/07(金) 10:04:57.40 ID:d1VNe0g3.net] マクロだけのファイルでもデバッグ効くんだっけ? デバッグはスルーするけど実行時にエラー起こすんなら原因は別か 「何だよ」書かれても状況書かないなら単なる愚痴ボヤキ
381 名前:デフォルトの名無しさん [2023/04/08(土) 11:49:01.95 ID:30ktKZ0z.net] VBAで別のブックを開いて(或いは別のブックから)何か操作をしてそのブックを閉じるという操作をする時に 必ずdimやsetでオブジェクトやパスを格納しなければならないという事はないでしょうか?
382 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 12:47:34.04 ID:tXbSb+Zf.net] ボタンが貼ってあるセルを選択・値をクリップボードへコピーするコードはどう書けばいいでしょうか? Bingチャットさんの作ってくれたコードはどれもうまく動きませんでした
383 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 13:09:03.48 ID:4CyiPc7l.net] >>377 bingチャットさんのコードはどんなの?
384 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 13:12:30.10 ID:d7u9VIcm.net] >>376 無いよ
385 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 13:29:49.15 ID:Z+egWEAe.net] ボタンが貼ってあるセル ←そんなものは無い 両者は別物だし、セルを覆い隠すようにボタンが貼られてたとして、そのセルに何の値があるというのか 矢印キーで移動してそのセルを選択した時に、数式バーに数式とかが表示されるならその値だし 名前ボックスにセル位置以外のものが表示されたら、その名前を調べればいいし マクロの記録で、そのセルをコピー だけでコード書かれるけど Sub Macro1() Range("A1").Select Selection.Copy End Sub こんなもの書いてどうしたいんだか Winキー + V でクリップボードの中身も見れるけどどうしたいんだか
386 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 14:35:09.85 ID:tXbSb+Zf.net] Sub CopyButtonCell() ActiveSheet.Buttons(Application.Caller).Select Selection.Copy End Sub >>377 みたいな感じです >>380 エクセルのシートから他アプリへたくさん値コピーしなければならないような時 Ctrl+cよりワンクリックでやりたいから汎用のボタンができないかと思ってたんですが 構造的にムリならいいです
387 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 15:57:08.07 ID:cbbXW0a7.net] ちょっとやってみるか
388 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 16:04:33.64 ID:cbbXW0a7.net] と思ったけど >エクセルのシートから他アプリへたくさん値コピーしなければならないような時 >Ctrl+cよりワンクリックでやりたいから汎用のボタンができないかと思ってたんですが これエクセルvbaじゃなくキーボードマクロですわ どうしてもやりたいならボタンじゃなくてセルの変更やダブルクリックでコピーでいいだろう Private Sub Worksheet_BeforeClick(ByVal Target As Range, Cancel As Boolean) With Target Cells(Target.Row, Target.Column).Copy Cancel = True End With End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Target Cells(Target.Row, Target.Column).Copy Cancel = True End With End Sub
389 名前:デフォルトの名無しさん [2023/04/08(土) 16:05:06.51 ID:TknoW+3y.net] 教えて下さい m1 MacBook Air でvbaやってるんですが dim wdapp as word.application set wdapp = new word.application ← 矢印の部分でオートメーションエラーが出るんですが 原因として何が考えられるでしょうか? wordの参照設定はしてあります
390 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 16:12:27.46 ID:jBwRbDE6.net] >>384 新規プロジェクトでその2行だけのコードを動かしたらどうなる?
391 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 16:27:58.20 ID:Z+egWEAe.net] Set wdApp = CreateObject("Word.Application") or Set wdApp = GetObject(,"Word.Application") do not work either.
392 名前:デフォルトの名無しさん [2023/04/08(土) 16:33:45.44 ID:TknoW+3y.net] >>385 wordアプリケーションが開いた後 同じくオートメーションエラーが出ました エラーコードでググったらodbc32ビットと64ビット がうんちゃらかんちゃらと出てきてit弱者の自分には よくわかりませんがもう少し調べてみます エラーコードは-2147467259(80004005)です
393 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 16:41:33.24 ID:tXbSb+Zf.net] >>383 なぜかcancel行はエラーが出るけど カーソル移動で次々値がコピーされるようになりました かなり思ってたのと近い事ができるようになったのでどうもありがとうございます
394 名前:デフォルトの名無しさん [2023/04/08(土) 18:02:10.35 ID:LJ0l06mu.net] >>384 「教えて」「助けて」系の例の法則と思ったけど、 これは違うみたいね インテル系Macでもダメだった Wordは立ち上がるのだがオートメーションエラーで止まる
395 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 20:05:01.26 ID:Mr5vl6VY.net] >>384 Windowsだとエラーは出ないんで俺にはわからん
396 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 2
] [ここ壊れてます]
397 名前:1:34:53.96 ID:ymsLMaB3.net mailto: 0x80004005エラーは要因が沢山あって詳細を書いてくれないと絞れないんだよ システムにWordプロセスが残っている場合 異なるアーキテクチャを呼び出している場合 32bitのodbcと連携してて64bit環境で実行してる場合等 Officeのバージョンとか判ってる情報を全部載せてくれ [] [ここ壊れてます]
398 名前:デフォルトの名無しさん [2023/04/08(土) 22:32:42.99 ID:UJsM3HNZ.net] >>391 馬鹿はコメントするな
399 名前:デフォルトの名無しさん [2023/04/08(土) 22:34:09.73 ID:TknoW+3y.net] みんなありがとう 明日アッポーのサポートが助けてくれるらしい 多分解決すると思う
400 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 23:36:44.53 ID:ymsLMaB3.net] 土日祝関係なくMS製品の尻拭いまでやってくれるなんて優秀だけどなんか泣けるよね
401 名前:デフォルトの名無しさん mailto:sage [2023/04/08(土) 23:45:41.57 ID:cbbXW0a7.net] >>394 いやappleのバグの可能性もある
402 名前:デフォルトの名無しさん [2023/04/09(日) 04:11:37.57 ID:szvOgdHN.net] >>391 知らないくせに出しゃばる馬鹿
403 名前:デフォルトの名無しさん [2023/04/09(日) 11:09:50.22 ID:MwFb9nZt.net] with ステートメントは指定したオブジェクトに対して一連の操作を行うものだから 例えていうとアクティブオブジェクトに対してのみオブジェクト名を省略して行う事ができるという事でしょうか?
404 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 12:44:51.59 ID:UEJLauxK.net] 実際にコード書いてみればわかるような事を質問するやつってこの手の作業に向いてないと思うんだよね それに書いて動かしてこうなったんですが?(実際にコードつける)なら回答する側も具体的に回答してくれると思うんだが
405 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 15:23:49.51 ID:tahaBI1g.net] 最近VBAもedge任せだわ たまに違うってのもあるけど楽で仕方ない このコードの共通する部分を関数にしてとか イエス・ノーできるポップアップ作ってとか(これはいちいち覚えていないので)
406 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 18:19:04.23 ID:bSTOMlGp.net] >>397 自分用語に例える意味がわからない コードを書くときにwithで指定したオブジェクトの記述を省略できる 内部的にはオブジェクトへの参照回数が減るのでスピードアップする そんだけ
407 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 22:24:57.39 ID:LBPW4i/X.net] >>399 ・コード全部投げてリファクタリングして ・人のコード全部投げてコメントつけて めちゃくちゃ楽だよな 今までのアホみたいな作業はほぼなくなったわ