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


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

Excel VBA 質問スレ Part79



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
・コード全部投げてリファクタリングして
・人のコード全部投げてコメントつけて
めちゃくちゃ楽だよな
今までのアホみたいな作業はほぼなくなったわ






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

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

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