[表示 : 全て 最新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

283 名前:デフォルトの名無しさん mailto:sage [2023/03/13(月) 21:34:37.42 ID:rU40dayx.net]
このスレのスレ立て人ディスってんのか?
Excelできます枠で中途入社しときながら、まるきしわからんちんでExcel VBAスレに泣き付いて
質問をキッカケに主人公にでも成ったかのような勘違いしてこの無駄スレ立ててしまった伝説のあいつを?

284 名前:デフォルトの名無しさん [2023/03/13(月) 21:35:17.25 ID:+WoIzVW7.net]
零細企業のVBAすら書けない無能には間違いがあってもわからんだろうがな

285 名前:デフォルトの名無しさん [2023/03/14(火) 12:24:47.61 ID:LCy+s25l.net]
これからはリストラが大量に出るだろうね
エクセルの先生()からプログラマー()までPCとにらめっこする仕事は全部ChatGPTで済む虚業ってバレたんだから

286 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 12:37:28.99 ID:goR8feNU.net]
そう思い込むことで、カキコ本人にはどんなメリットがあるんだ?
個人の感想でしかないものにすがるしか、自我を保てないンか?
そんなメンタルならExcel使う事を辞めた方がいいぞ?
そんな得体の知れないものに頼らざるを得ない企業も長続きはしなくなるだろ
会議の席にAI同席させるンか?

287 名前:デフォルトの名無しさん [2023/03/14(火) 12:47:00.26 ID:LCy+s25l.net]
AIに任せるようになった企業が長続きしないというのはそちらの感想だよね
会議にAIも参加させられない企業と会議にAIが参加できる企業のどちらに柔軟性があるかは明白

288 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 12:51:49.78 ID:IeRCsjIL.net]
AIも道具の一つに過ぎない

289 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 13:06:56.83 ID:goR8feNU.net]
長年いろんな企業を見てきた経験からだ 個人の感想じゃねえ
マンパワーの重要性を認識できない上の方が居たら、大抵足許から崩れてく
会議の席でAIが「できます」っつったら任せるのか?それでコケた場合誰が責任取るんだ?
絵空事夢見て妄想に浸るのは勝手だが、企業もいきもの 維持し続けるための道具としてなら
使いたきゃ使えばいいが、病んだ時のリカバリーにはどうしても人の手は必要(当面は)

例えば、悪天候で電車止まった、架線が切れたようだ 四六時中稼働できる修理ロボットの出番だ! なんて時代はまだまだ先
必死でそういう時代が来るよう努力し続けるのは否定しないが、どうせそうなるんだから今から仕事放棄 は、ただのあほう

290 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 13:27:13.02 ID:ZglUMoKm.net]
理性的に考えれば今の時代は暗黒だから冷凍人間にでもなって輝かしい未来に解凍してもらうのが正解

291 名前:デフォルトの名無しさん [2023/03/14(火) 13:30:38.03 ID:LCy+s25l.net]
今置き換えられるのはPCとにらめっこする仕事って限定してるんだが
勝手に読み替えられても困る



292 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 13:49:04.92 ID:2BnTQRjU.net]
これだけは言える
そこらの並のPC教室や素人に毛が生えたインストラクター(笑)は間違いなく淘汰される。

293 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 14:25:56.84 ID:28TiEHhw.net]
こちらでよろしいでしょうか。すみません。

エクセルで、
「SUM関数」かつ「0が表示」のセルを、
選択する事は可能でしょうか。

294 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 16:50:49.76 ID:goR8feNU.net]
[ホーム]タブにある「検索と選択」で、検索をクリックして、検索する文字列に SUM ではダメなのか?
[ファイル]の[オプション]、[詳細設定]で □ ゼロ値のセルにゼロを表示する(Z)のチェックに限らず
=SUM( のセルを次々選択してくれるが? "かつ" の条件を満たさないとどうしてもイヤ!なのか?
Sheetの至る所に=SUM( がありまくりで絞り込みたいとか? 「0が表示」という日本語も変だけど
[オプション]での設定はBook全部に影響したと思うのだが

295 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 17:40:35.43 ID:+v1A3gMG.net]
>>285
経験なんて個人の感想の寄せ集めだぞ
同レベルの概念とわかってない時点で論外、やり直し

296 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 18:40:07.15 ID:1O8NxYp2.net]
>>289
フィルタで0を指定してからsumで検索すれば行けそう

297 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 19:37:13.34 ID:28TiEHhw.net]
>>290
仕事で、料理の数の合計を出しています。料理の数の入力が
ないセルは「空白」ですから、選択オプションで「空白セル」を
チェックし、「空白のセル(列)」をすべて非表示にできました。

最後は、自動で「SUM関数」かつ「(合計が)0の表示」のセルを
選択し、セル(列)を非表示にしたいのです。手動でやれよって話
かもしれませんが、マクロで自動化ってできるものなのでしょうか。

298 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 20:05:55.83 ID:28TiEHhw.net]
>>292

>>フィルタで0を指定してからsumで検索すれば行けそう
確認しました。列にならできると思います。しかし、
行方向のセルにフィルタをかける事はできませんでした。

行の一定の範囲のセルを選択したいです。行にフィルタを
かける事はできませんでした。行と列を入れ替えて、列に
フィルタをかけ、最後に行と列を入れ替えたらよいですか。

299 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 20:38:11.33 ID:8uN0bEAR.net]
>>289

各列の1行目にsum関数があるとして、
その合計が0ならその列を非表示にするというマクロならこんな感じか。
(データがどこまであるかわからんからとりあえずA列からF列までを対象にしてる)。

Sub 列を非表示()

Dim i As Long
For i = 1 To 6
If Cells(1, i) = 0 And Cells(1, i).HasFormula = True Then
Columns(i).EntireColumn.Hidden = True
End If
Next i
End Sub

sum関数かどうかまでは判定していないから
sum関数以外の関数が入っていてその値が0なら
その列も非表示になる。

後はどのセルに関数が入っているかわからんから
そこらへんは調整してくれ。

300 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 20:42:07.34 ID:goR8feNU.net]
セルを非表示 という書き方が戸惑う元だけど
>>290 の二行目に書いた Sheet上の0の値を[0]表示させない方法ではダメなのか?
SUMの結果が0のケースでも、0とは表示されず空白になるんだが?

セルの書式設定で ;;; にすることでセルの非表示ということらしいが、結果は変わるのか?
手元のExcelで試しているけど、どういう結果が欲しいのか分からんから戸惑ってる
わざわざ空白セルも非表示にする必要がさっぱりわからん 背景色とかが絡んで来る? 印刷時?

301 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 20:51:19.35 ID:28TiEHhw.net]
>>295

これが具体的なVBAコードですね!ありがとうございます。
説明不足でややこしくてすみません。
とりあえず、本やネットを見ながらコードを参考にし、実践
してみようと思います。皆様ありがとうございました。



302 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 21:06:36.93 ID:28TiEHhw.net]
>>296
おっしゃる通りで、表示させない方法で空白になりました。;;を使っても0が表示されず、
空白になります。この状態で、行の一定の範囲を選択して、選択オプションで「空白セル」
にチェックを入れます。しかし、「SUM関数かつ空白」が選択されず、列を非表示に
できません。SUM関数があると空白と認識されないようです。

>>わざわざ空白セルも非表示にする必要がさっぱりわからん 印刷時?
おっしゃる通りです。空白のセル(列)を非表示にし、印刷しないためです。

303 名前:デフォルトの名無しさん [2023/03/14(火) 23:37:15.42 ID:WthbhZLX.net]
聞く方も答える方も馬鹿で頭が痛くなる
このスレを立てた奴の頭のレベルの程度のせいか?

304 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 00:01:55.44 ID:Ogi5eYUO.net]
>>299みたいなのが賢いムーブなんですね、参考になります

305 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 07:40:00.44 ID:dWb1Fnpz.net]
送られてきたEXCELファイルの特定のセルにある文字列や数値を別のブックにある表シート(特定のセル)に反映させてデータを自動集計したい。
この場合どのようなコードが必要ですか?

306 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 10:52:57.27 ID:bng7Ef1J.net]
>>299
なぜ馬鹿の質問に馬鹿が答えてるのを見るとお前の頭が痛くなるのか因果関係を説明せよ

>>301
全然わからないならあきらめるか、初心者向けの本でも読んでもう少し自力でできるようになってからだな

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チャットさんのコードはどんなの?






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

前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