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


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

Excel VBA 質問スレ Part80



1 名前:デフォルトの名無しさん mailto:sage [2023/05/31(水) 08:23:38.97 ID:4RV1IxmB.net]
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK

次スレは>>980が立てること
無理なら細かく安価指定

関連スレ
Excel VBA 質問スレ Part79(ワッチョイあり)
https://mevius.5ch.net/test/read.cgi/tech/1674875532/

※前スレ
Excel VBA 質問スレ Part79
https://mevius.5ch.net/test/read.cgi/tech/1674874007/

357 名前:デフォルトの名無しさん mailto:sage [2024/01/11(木) 21:32:22.23 ID:jLVdVVn1.net]
>>351
そんなことするなら素直に
>セルごとに隣接判定をして罫線を描く/描かないの処理
を実装すればいいんじゃねえかと
Sub test()
Dim r As Range
Dim r2 As Range
Set r2 = Selection
For Each r In Selection
If Not isSelect(r, xlEdgeTop) Then r.Borders(xlEdgeTop).LineStyle = xlContinuous
If Not isSelect(r, xlEdgeBottom) Then r.Borders(xlEdgeBottom).LineStyle = xlContinuous
If Not isSelect(r, xlEdgeLeft) Then r.Borders(xlEdgeLeft).LineStyle = xlContinuous
If Not isSelect(r, xlEdgeRight) Then r.Borders(xlEdgeRight).LineStyle = xlContinuous
Next
End Sub
Function isSelect(testRange As Range, index As XlBordersIndex) As Boolean
On Error Resume Next
Dim r As Range
For Each r In Selection
Select Case index
Case xlEdgeTop
If r.Address = testRange.Offset(-1, 0).Address Then isSelect = True
Case xlEdgeBottom
If r.Address = testRange.Offset(1, 0).Address Then isSelect = True
Case xlEdgeLeft
If r.Address = testRange.Offset(0, -1).Address Then isSelect = True
Case xlEdgeRight
If r.Address = testRange.Offset(0, 1).Address Then isSelect = True
End Select
Next
End Function
こんな感じか。行数制限あるからやってるけど、1行If は推奨しないぞ

358 名前:デフォルトの名無しさん mailto:sage [2024/01/11(木) 21:35:04.35 ID:jLVdVVn1.net]
ああ
Dim r2 As Range
Set r2 = Selection
の2行はいらん

359 名前:デフォルトの名無しさん mailto:sage [2024/01/12(金) 11:23:51.46 ID:Dgb3NVJl.net]
>>353
さすがです

360 名前:デフォルトの名無しさん mailto:sage [2024/01/12(金) 16:52:25.20 ID:LICC/lNk.net]
さすがだ。良い書き方してる

361 名前:デフォルトの名無しさん mailto:sage [2024/01/12(金) 18:08:01.72 ID:m3q3lwQ5.net]
For i =1 to 500
Sheets("A").Cells(1,1)=i
Sheets(Array("A", "B", "C", "D", "E")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\out.pdf"
next
というふうに、シートAのA1セルにiを入れたあと、複数シートを一つのpdfにすることを500回繰り返したいのですが、150回くらい行うと「この操作を完了するにはメモリが不足しています。扱うデータ量を減らすか、他のアプリケーションを終了してください。使用できる目盛りを増やすには、以下を検討してください。・64ビット版のMicrosoft Excelを使う。」というエラーが出ます
これを解消することはできないでしょうか?
ネットで検索してもSetしたものをNothingすればいいと書いてあるのですが、そもそもSetしてるものがないので‥

362 名前:デフォルトの名無しさん mailto:sage [2024/01/12(金) 20:43:53.34 ID:LR75xgwt.net]
>>357
試してないけどPDFを作成するたびにビューアが起動するから?
OpenAfterPublish:=False 'ビューアー起動の有無設定
を追加してみたらどうかね

363 名前:デフォルトの名無しさん mailto:sage [2024/01/12(金) 21:09:33.72 ID:m3q3lwQ5.net]
>>358
レスありがとうございます
すみません、記載省略してしまったのですが、ビューワーの起動はしないようにしています

364 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 01:36:13.45 ID:PnyKt9oE.net]
チャットgptに聞いたところ、ActiveSheet.ExportAsFixedFormatはメモリを使用するので、複数回やればエラーになる可能性があるとのことでした。しかし新しいブックを作成し、そこに貼り付けてpdf化、新しいブックを閉じることによって、メモリの使用を抑えることができるとことでした
それで試してみたのですが、結果は変わらず‥
新しいブックを開いてそこで作業して閉じたとしてもメモリの使用量は変わらないのでしょうかね?

365 名前:デフォルトの名無しさん [2024/01/13(土) 08:06:25.09 ID:ublfaSAv.net]
>>357
Win10,Excel365,64ビット版でそのサンプルコードを動かしたけどエラーが出なかった。
64ビット版にすれば?

あとは実際のワークシートの内容、コードの内容にもよると思うけど、
・シートA〜Eは毎回選択する必要はないかと。Forの前に持っていったらどうなる?
・PDFを出力するコードの下に「DoEvents」を追加してみる



366 名前:デフォルトの名無しさん [2024/01/13(土) 10:46:37.60 ID:14sT36Xv.net]
どなたかコードを作成いただけませんでしょうか。マクロ初心者で恐縮です。
やりたい作業としては
・範囲指定してある部分の印刷
・.pdfで印刷→デスクトップに保存
・保存ファイル名がセル(I8)の値を入れたい

よろしくお願いします。

367 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 10:50:05.61 ID:PnyKt9oE.net]
>>361
職場のパソコンなので環境を変更するのは難しいです
doeventsを入れたところ、エラーは出ないのですが、やはり150回ほどループしたタイミングで強制再起動となってしまいました
タスクマネージャーで見ていたところ、メモリがどんどん増えていきます
色々調べたのですが環境によるものみたいです
素直に、100回ループさせたら一度EXCELを終了させ、メモリを解放してから再度EXCEL起動して続きからマクロを回すことにします
ありがとうございました

368 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 14:05:15.65 ID:veMnryOA.net]
32bit→64bitでどのくらい支障がでるんだろうか
顧客とのやり取りとかで支障がでるのが嫌で移行できないでいる
逆に64bitで32bitでの作成物を扱うのには特に支障はないのかな?

369 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 14:05:21.54 ID:v88G6T5y.net]
Sheet対象を辞めてRange対象にしてみたらどうか
いきなりout.pdfに出力するのを辞めて新規ブックに追加していって、最後にそのブックをpdfでは
メモリ不足から逃げる手立てを一考

370 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 16:41:42.38 ID:PnyKt9oE.net]
>>365
なるほど‥
新規ブックを開いて、pdf化したいシートを順々にコピーしていき、最後に一回だけpdf化するということですね
デメリットとしてはpdfが一つにまとまってしまいますが、運用に支障はないのかもしれません
ありがとうございます
関係者に聞いてみて、それでも問題ないならその方向で行こうと思います

371 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 19:24:41.20 ID:veMnryOA.net]
出来上がったpdfを分割までやればいいだけでは?
コマンドラインで動く外部ツール使えばできるような

372 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 20:34:27.31 ID:PnyKt9oE.net]
>>367
後出しで申し訳ないのですが、実は出来上がったpdfをメールで送って、相手方で印刷するのが今回の運用だったのです
なので「pdfを全て開いて印刷するのは結構面倒だよなぁ」とは思っていました
しかし一つのpdfにできるのであれば、その問題も解決できるので、一つの方が今回は都合が良かったりします
pdfを分割して置かなければならない別の機会があれば、そのようなことも検討したいと思います
ありがとうございました

373 名前:デフォルトの名無しさん [2024/01/13(土) 21:55:24.12 ID:2NbpGDvt.net]
頭の悪い人は解決方法自体を間違えている
いつもの

374 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 22:36:38.78 ID:v88G6T5y.net]
そういうことを平気で衆人環視の環境で書き込める人は 間違い無く病んでる

適しているかどうかは実際にやってみないといけないでしょ?
最後の大きく成ったブックをPDF化するときにエラー吐いて完走しなかったら
元も子も無いんだし 単なる思い付きで書いただけなので検証を
相手が居るならすり合わせも大事だし ダメ出しされたら再検討だし

ところで、初手のout.pdf(このネーミングも如何なものか、とちょっと思った
Outputの意味なのか、Out of Orderとかの意味なのか、いずれにしろ経営陣から
したら眉を顰めてしまう単語 ま、それは置いといて)には、どう蓄積されるのか
興味があった これ走らせたらC:\out.pdfにページが追加されてく?
C:\out.pdfが(2)(3)(4)・・とか増えてく?  誰か教えて

375 名前:デフォルトの名無しさん mailto:sage [2024/01/14(日) 01:10:58.98 ID:oEubWJyC.net]
>>370
すみません、out.pdfというのはネットから適当に拾ったコードなので、自分のコードではチキンとした名前をつけています
これを走らせるとout.pdfが上書きされ、一番最後のpdfしか残りません

また、さっそく一番最後だけpdf化を試してみたのですが、ダメでした
50個回分をシートに蓄積してpdf化を繰り返したところ3回目まではうまく行ったのですが、4回目(160ループ目)くらいからpdfが文字化けしてしまいました
どうもpdf化の回数は関係なく、どれくらいのデータ量をpdf化したかによって上限が来て、それ以降は文字化けするような仕組みみたいです
.ExportAsFixedFormatを使用せずにworksheet.printoutメゾットでpdfに印刷するようにしたら、画質は劣るものの、全てpdf化できました
長々とありがとうございました



376 名前:デフォルトの名無しさん mailto:sage [2024/01/14(日) 07:32:56.45 ID:TX+95vKD.net]
次は添付ファイルのサイズ制限に引っかかって、結局分割することになると見た
そしてVBAからメールを連続送信する方法を聞きに来て、最後にPDFがいくつあっても簡単に一括印刷できることを知るまでがセット

377 名前:デフォルトの名無しさん mailto:sage [2024/01/14(日) 08:46:41.57 ID:kWzMOUYI.net]
>>370はコマンドラインツール使ったことなさそう

378 名前:デフォルトの名無しさん mailto:sage [2024/01/14(日) 11:11:31.44 ID:Oiv3IqyF.net]
>>362
それくらいならChatGptが良いコードを書いてくれるはずだよ

379 名前:デフォルトの名無しさん mailto:sage [2024/01/16(火) 19:30:09.09 ID:1/22QV7P.net]
それならそのコードを貼ってあげなよ

380 名前:ぐううさ [2024/01/16(火) 21:08:30.59 ID:r9xAueHW.net]
業務でvba上手くいかないので質問させてもらってもよろしいでしょうか?

381 名前:ぐううさ [2024/01/16(火) 21:08:36.00 ID:r9xAueHW.net]
業務でvba上手くいかないので質問させてもらってもよろしいでしょうか?

382 名前:デフォルトの名無しさん mailto:sage [2024/01/16(火) 21:09:02.93 ID:wgtY3Vx1.net]
先輩に聞け

383 名前:ぐううさ [2024/01/16(火) 21:17:31.47 ID:r9xAueHW.net]
エクセルシートで他システムから吐き出したデータの

384 名前:の位置や内容がバラバラのため、整理してからまた、他のシステムにデータを取り込むため、列の削除や移動をマクロと変数を使って、ユーザにパラメータを入れてもらって実行することをしたい。
変数にパラメータの値を入れられるが、その後のデータセットからデータの型がとエラーに、なりうまくいかない。
変数はstringsです。
[]
[ここ壊れてます]

385 名前:デフォルトの名無しさん mailto:sage [2024/01/16(火) 21:59:35.09 ID:6je2UWdW.net]
致命的に説明が下手くそなやついるじゃん
376みたいなやつねw



386 名前:デフォルトの名無しさん mailto:sage [2024/01/16(火) 23:15:06.93 ID:Lr6G4gzP.net]
>>379
なにしようとしてるかよくわからないけど、列番号とか指定したいならInteger型にしないといけないんじゃない?

387 名前:デフォルトの名無しさん mailto:sage [2024/01/16(火) 23:21:40.56 ID:Lr6G4gzP.net]
これに下記コードを〇〇できるように書き換えてくださいってソースコード貼付ければいい感じに直してくれるよ
https://www.perplexity.ai/

388 名前:デフォルトの名無しさん [2024/01/16(火) 23:33:44.09 ID:r9xAueHW.net]
>>382
ありがとうございます。
会社でやっているのですぐにはわかりかねますが、再度説明し直して書き込ませていただきます。

389 名前:デフォルトの名無しさん [2024/01/17(水) 02:48:46.43 ID:tk11Vx7i.net]
馬鹿な会社の馬鹿社員
早く潰れろや

390 名前:デフォルトの名無しさん [2024/01/17(水) 07:28:15.10 ID:dIg9jZv4.net]
自分の能力以上のことを要求されたら
断るのも仕事ですよ

391 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 08:40:16.63 ID:VIMKRH3+.net]
断る勇気も必要ですよ と書きたかったんだろうけど、断ってばかりじゃ評価下がるしな
どんどん周りの人間の評価が上がり続けちゃったら、遠く無い将来に窓際に追いやられるし
おちんぎんもらってチャレンジできるなら、やらないよりはやった方が自分のためにも成る

もらったデータがどういうファイル形式なのかに依りけり
csv(Comma Separated Valuesの略で、各項目がカンマ(,)で区切られたテキストデータ)なのか
txt(中身が文字だけのデータ)なのか、それ以外の形式なのか
より実務に即した回答が欲しければ、じぶんの環境を提示するのもだいじ 取り敢えず叩き台で
https://www.crie.co.jp/chokotech/detail/264/  こんな作業をしていてどこで躓いてる、とかを

392 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 09:18:18.18 ID:bryPjBMS.net]
そんなあなたにPower Query

393 名前:デフォルトの名無しさん [2024/01/17(水) 10:15:06.17 ID:4yidygkf.net]
できないものはできない
請け負った仕事には責任があるんだから最後までやりとげる
能力がないなら評価も低いのは当たり前

394 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 11:50:01.48 ID:KP/5Q6je.net]
今日から始めた初心者ですが
予測変換の決定でエンター押すと改行されてしまうのですが、
それをさせない方法ありますか?
スペースで決定なのはわかるのですが、慣れません。

395 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 12:03:19.97 ID:W/DshM4G.net]
>>389
それVBAの話?



396 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 14:40:54.05 ID:KP/5Q6je.net]
>>390
VBAのVBEの話ですね

一般的なエディタと挙動が違うので混乱してますが
慣れれば問題ないですかね

397 名前:ぐううさ [2024/01/17(水) 18:16:44.75 ID:ldP/vXQ/.net]
376ですが自力で本日できました。
回答頂いた方ありがとうございました🙇

398 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 19:12:31.19 ID:HRooiYus.net]
質問の意味も分からなければ、
回答も役立たず
ただのスレ汚し

399 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 00:33:52.88 ID:j51Gu5qi.net]
VBAの質問なのですが
運送系事務でコース表の各店舗に数量を記

400 名前:する作業があるのですが
この数量記入を例えば入力用というシートを作り一元管理したいのですが
配送を4社に振り分けている関係で月曜日でも月曜@、月曜➁、月曜➂、月曜C、と
シートが4つに分かれておりシステム上これは変えられないと言われました
店舗も例えばセブン、ローソン、ファミマ、サンクス、ミニストップ、と色々あり
100店舗ほどあるのを該当店舗があるシートへ移動し数量を入力するという…

現状でやり始めた事はデータベースを作りキーワードで検索できるようにし
ドロップダウンリストでセブンを選んだらセブン全店が表示されるようにしました
これを利用してオプションボタン等で月曜を指定し店舗名の右セルに数量を入力すると
月曜日シートにある同名店舗の右セルに入力した数量が反映されるという形にしたいのです
ここまで書いて思ったけどこれってVBAで解決させる物でしょうか?
vlookupとかの関数の領域? すいません素人に毛が生えた程度の知識しか無いもので
ご教授いただけると幸いです
[]
[ここ壊れてます]

401 名前:デフォルトの名無しさん [2024/01/18(木) 01:53:45.90 ID:jpryHAaY.net]
>>394
ある程度複雑になるとVBAを使わないと何処に何があるかわからなくなって積む
特に他人からするとブラックボックス化する
ドキュメントを残すことができるなら良いけど

402 名前:デフォルトの名無しさん [2024/01/18(木) 04:26:25.22 ID:O3FeaIOP.net]
ワークシートの内容が固まりきってもう変更は無い、新しいものの追加はない、ならVBAでもいいけど自分なら関数で作る。
VBAで作った方が後々のメンテナンスが大変になる。

403 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 10:41:22.24 ID:i5FxeiUS.net]
>>394
現状を正しく理解できないからなんとも言えないけど、関数かvbaかって質問なら、関数でできるなら関数、できないならvbaってしか答えられないと思う
関数って言っても組み合わせ次第では色々出来るから、vbaでしかできないと思っていても、工夫したら関数でできましたって事なんか腐る程あるし

404 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 11:06:18.05 ID:DZf6Ha1U.net]
現行のシステムの改良/改善なのか? それをベースによりよいシステム化をしてもいいのか?
月曜だけで4シートとあるが一週間分で28シートが現状で存在するのか?
100店舗ほどもあるシートに移動して入力した数量はどこの何に反映されるのか?
入力元のデータは指示書のようなカタチでまとまったものがあるのか?
或いは各店舗からの要請があって、それを元に質問者側が曜日で振り分けているのか?
4社に振り分けているとは?下請けの意味?配送コースの4車輛の意味?

コンビニを例えに出しているが、例示が悪いのかどうか、コンテナ(カゴ)に種々雑多な商品が詰め込まれた
イメージが付きまとってしまい、面倒臭いのはもっと他にあるだろうにと思ってしまうが、
あくまでも4社への振り分けが面倒なだけで、積み荷はもっと単純なものなのか(一店舗に一品とか)
全体のボリュームも知りたいところ
物流の観点から言うと、ピッキングなのか仕分けなのか 似たようなものだろと言われるかも知れないが
そのどっち側なのかでも設計も変わるし成果物も変わる  ↓参考までに
https://www.keyence.co.jp/ss/products/autoid/logistics/role/function-safekeeping.jsp

405 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 12:03:28.39 ID:J8Jk6UJ9.net]
なげーよ



406 名前:391 mailto:sage [2024/01/18(木) 12:31:08.59 ID:KlrhRgnN.net]
曖昧な情報で皆様を混乱させてしまい申し訳ありません
現状でやっている作業の前提条件としては

曜日毎のコース表シートが4つあり
1シート内に曜日毎に決められた店舗の組み合わせで4~5コース存在している
店舗に出荷される数量が前日に確定し全店舗数量一覧が"紙ベース"で来る
数量一覧を元に該当店舗に出荷数を順次入力していく

月曜@〜月曜Cと分かれているのは下請け配送会社4社に振り分けた形で
月曜@にはA社担当コース、月曜➁にはB社担当コースという形になっています
各曜日シートに数量を記入したらその4つのシートが完成版で共有されます

完成版シートの仕様は変えられないと言われてしまったので
せめて数量入力を一元管理して効率化したいと思っていますが
>>394で作った入力用シートの入力情報を各曜日に転記さたいと思い
ChatGPTを使ってみましたがどうしても上手く行きませんでした
上記作業を持ち回りでやっている人間が3人いて入力作業効率化の提案をしても
「良く分からないからいい」「新しい作業を覚えたくない」「そうやって楽する事ばかり考えるな」
作ったという意見を頂いているのでシステムがブラックボックス化しても問題ありません
他作業と並行しながら2〜3時間かかる入力作業を続けたいそうです

407 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 12:51:09.85 ID:i5FxeiUS.net]
>>400
ごめん、結局最終的に何がやりたいのか全然分からないからアドバイスができない
「他作業と並行しながら2~3時間かかる入力作業を続けたいそうです」って言うならそれでいいんじゃない?
と思うけど、聞きたいのは多分そういうことじゃないよね?
言葉で説明されてもこっちはシートがどうなってるのか分からないからなんとも言えない
「東京から大阪まで行きたいけどどう行けばいいですか?」って聞かれても新幹線もあるしバスもあるし飛行機もあるから、なんとも答えられないよね?
それが「東京から大阪まで◯日◯時までにつくように新幹線で行きたいんですけど、どの新幹線に乗ればいいですか?」って聞かれたら答えられる
まずは関数なりvbaなりで自分でやってみて、分からないところのみを聞かないと誰も答えられないと思うよ

408 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 12:59:01.97 ID:i5FxeiUS.net]
あと、無駄な情報が多すぎ
ここは質問をして答えるスレなんだから運用までは面倒見きれない
完成版を変えちゃだめとかブラックボックスが~とかは運用の話であって、その話をされても「はぁ」って感想しかでない

409 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 13:04:56.76 ID:J5B7weBB.net]
【VBA作成 依頼】
5ちゃんねるHTMLを WEBクエリしたんだが、見づらい。
タグ『< >』で改行させるVBAコードを 誰か作ってください。 無料で。
https://i.imgur.com/XMdGvUd.jpg

410 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 14:58:45.62 ID:DZf6Ha1U.net]
曜日毎のコース表シートが4つあり : それ、火曜日水曜日って続かないってことだよね?
28シートあるのか?の問いに応じずに同じことを繰り返すってことは、そういうことだろ?
つまり、曜日毎は関係無くて、4コース用に4シートがあるだけ 
面倒だけどそれぞれの店舗シートに入力したら、その4シートに反映される ということだろ?
その100店舗前後のシートを探すのが面倒だから入力用に新たに1シート設けて、そこに入力したら
店舗のシートに反映されて、尚且つコース用シートにもまとめられる と? そおゆうのが欲しいと?

411 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 11:31:50.99 ID:vOFZkfTX.net]
>>400
結論から言うとそんなの余裕でできる

その前に、あのさ、君結構アタマいい人でしょ?
話を聞く人の労力もうちょっと考えてわかりやすい説明しようよ

・曜日7日
・コース4〜5
・下請け4社
・コンビニ5社(セブン・ローソン・ファミマ・サンクス・ミニストップ)

この4次元マトリックスがどういう風に表になってるのか
口だけで上手に説明するのって難しいし、読む側の読解力にも依存する
ひな形でもいいから自分で簡単なの作ってスクリーンショットとってあげるぐらいしなって

読んでる方はいろんな形式の表が頭に浮かぶんだけど、一体どれなのか特定できないもんだからまともなアドバイスできないわけよ
いろんな人からいろんなアドバイス聞きたいなら、まずどうやればできるだけ多くの人に正しい情報を伝えられるのか工夫しな

https://i.imgur.com/cf3VhMk.jpeg

412 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:01:23.58 ID:vOFZkfTX.net]
>>403
タグをvbNewLineに置換するだけ


自  分  で  や  れ  



.

413 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:04:37.73 ID:FNhUV8xD.net]
Excel VBAでAIは作れますか?

414 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 19:05:48.23 ID:6lky6R4+.net]
>>407
はい
チューリング完全なので

415 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 03:02:30.89 ID:cfaA1lc6.net]
みんなの環境は32bit? 64bit?
世間はどっちが多いんだろう

最近は64bitにしても影響少なくなったと聞くけどどうなんだろう?



416 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 03:14:48.63 ID:t3S6ML7u.net]
MacのVBEの中だけ、
controlキーを使ったショートカットが無効になってるんですが
仕様ですか?
カーソル移動のショートカットが使えないので困ってるのですが
Macの方はどう対応されてますか?

417 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 08:52:16.21 ID:M95x8PfE.net]
>>409
逆に今32bit選ぶ理由って何?

418 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 11:25:30.02 ID:6T/txFD4.net]
2021年以降は32bit版のWindowsが原則販売されなくなったんで、Officeも64bit化が急速に進んでると思われる

419 名前:400 mailto:age [2024/01/21(日) 12:07:31.28 ID:FTr5VFHF.net]
https://i.imgur.com/h1EsLS7.jpg
https://i.imgur.com/QL7Cbdy.jpg
ここまで作った。 ほめて〜

420 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 13:35:45.91 ID:HjVkmv/J.net]
>>413
あんたすげえなマジで。

421 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 21:54:39.11 ID:cfaA1lc6.net]
>>411
まだまだ32bit使って所が多いから

以前64bitにしたら客先で原因不明のエラーでまくったことがあってトラウマに
そのころはMSも32bitを推奨してた

ただ自分の周りくらいしかしらないから世間一般ではどんな感じなのかなと思って
ちなみに取引のある某測定器メーカは外に出すファイルは未だに「xls」に変換するなんてルールが残ってる

422 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 21:55:41.57 ID:cfaA1lc6.net]
>>412
そうなんだ、混在によるトラブルが少なくなってきてるなら自分も64bitに変えたいな

423 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 22:45:54.49 ID:FYICgzZP.net]
取引先が無数にあると、とんでもない環境が残ってるところがあるもんなあ
うちの下請けにもWinXPのとこがあるし
業務用アプリと機器がVista以降サポート外で、それを作ってた会社もなくなってリプレースできないそうだ

424 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 23:16:41.24 ID:HjVkmv/J.net]
64bitの方が高速なんでしょ。わ

425 名前:デフォルトの名無しさん mailto:sage [2024/01/22(月) 13:22:08.13 ID:A+cdLUDz.net]
32bitのほうが省メモリなので場合によっては32の方が速い



426 名前:デフォルトの名無しさん mailto:sage [2024/01/23(火) 13:00:26.55 ID:TWMJRKR5.net]
>>419
もしかして、まだWindows95使ってる?
それならその意見も一理あるね

427 名前:デフォルトの名無しさん mailto:sage [2024/01/23(火) 23:11:52.95 ID:p5vRgsqV.net]
64はパターセーフしろって言われるんだけど、そのくらいエクセルのほうで面倒見てくれんものか
スタート直後に羽根を外そうとしても警告してくれないBウイング並みに気がきかん

428 名前:デフォルトの名無しさん [2024/01/24(水) 00:26:00.94 ID:SDekNUM/.net]
PtrはPointerの略
PtrSafeはポインタセーフ

429 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 07:28:58.42 ID:jPeFRyU8.net]
パターセーフからそれ読み取れるのすごいわ
脳が勝手にptrをポインタと変換してしまうから、
何言ってんだコイツとしか思えなかった

430 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 09:04:52.24 ID:aGyCqA0L.net]
>>421
データイーストw

431 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 09:35:36.07 ID:kKiVyROU.net]
酔って書き込んでそう

432 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 13:07:54.28 ID:4H3THdR1.net]
>>420
意味不明だな
Win95はメモリ8MBでも動作するように設計されたOSだが64bitアプリはサポートしていないぞ

433 名前:デフォルトの名無しさん mailto:sage [2024/01/26(金) 10:50:59.48 ID:HmDFTXOY.net]
時代は64bit

434 名前:デフォルトの名無しさん [2024/01/27(土) 00:55:42.82 ID:t7pPpNfJ.net]
32ビット版のExcelをやめられるところはまだ少ない。

ようやく64ビット版に置き換えられる大企業が出てきた程度。

435 名前:デフォルトの名無しさん [2024/01/27(土) 06:28:48.80 ID:0SBBADg4.net]
Dim i as long と宣言してたのに
i = なんちゃらかんちやら とかいうコードで
iの価が32000程度を、超えるようなとき、over flowという
エラーになることがあります。

Dim i as long なら、32000を少し超えてもover flow
しないのに不思議です。

なんちゃらのとこには定数3とかの数式なのですが
ヤケクソで定数3を、 3# にしたらoverflowせず正常に動作しました。

なんでoverflowしたのか、憶測でも構わないので
誰か教えて下さい

ま、おそらくintegerと見做されたのでしょうが
どうして、Dim i as long 宣言したのに、なんか腑に落ちません



436 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 07:28:24.81 ID:TVHASdZo.net]
なんちゃらかんちやら を正確にここに書いて

437 名前:デフォルトの名無しさん [2024/01/27(土) 07:38:44.57 ID:5pa6Aq5E.net]
>>429
数式中に使っているそれぞれの定数がIntegerの範囲内で、その合計がIntegerの範囲を超えるとオーバーフローするらしい。
定数もあらかじめ変数に入れたりして対策するみたい。
https://www.bold.ne.jp/engineer-club/vba-overflow

438 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 11:56:53.89 ID:bKl8GlI9.net]
そういや32bitから64bitにしたら、
Adoで取得したレコード数をlong型の変数に入れる時に型がおかしいとかいうエラーが出たことあるな。
longlongにしても駄目で、clng()したら動いた。
ワケわからん。

439 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 12:15:04.39 ID:ltTMqvHO.net]
>>432
型ぐらいマニュアルに書いてなかったか?

440 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 16:54:02.91 ID:bKl8GlI9.net]
>>433
マニュアルなんてあるの?
VBなら電話帳より分厚いのがあったけど。

441 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 16:59:10.82 ID:vdIbcaGJ.net]
ADOを使うにあたって適切な参照設定が選択されているか

442 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 17:06:20.98 ID:CH7ruCqI.net]
>>434
今どき紙とか光学メディアなんか使うわけないだろ
マニュアルと言ったらWEB上のオンラインマニュアルのことだよ

443 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 18:28:22.44 ID:qMJDUKYO.net]
リファレンスとマニュアルは別だぞ

444 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 19:18:08.00 ID:KybuIZx4.net]
同じ意味合いで使うこともあるよ

445 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 21:10:11.38 ID:tuLNWDY3.net]
バカが混同してるだけ



446 名前:デフォルトの名無しさん [2024/01/27(土) 21:49:32.99 ID:kM+lvGOz.net]
いやハゲが光ってるだけだろ

447 名前:デフォルトの名無しさん [2024/01/27(土) 22:06:36.73 ID:t7pPpNfJ.net]
>>437
そんなの文脈次第だろw

448 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 09:17:03.35 ID:0xzGzgK7.net]
AutoFilterもしくはAdvancedFilterで行を抽出する
条件が2つまでしか指定できないので、3つ以上のときは条件を配列変数へ代入するというのがまずよく分からんが
条件にワイルドカードを指定するときは配列要素の3つ目以降は無視されるという制限を知らずに、1日ハマった

449 名前:デフォルトの名無しさん [2024/01/28(日) 09:25:58.21 ID:P/o+j6FX.net]
Excel VBAの嫌なところはUTF-8のテキストファイルを扱うときだな

UTF-8とは相性が最悪で入力して出力するときになぜか一部がどこかに消える

450 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 14:12:49.59 ID:GlU8zkf4.net]
>>429
iがintegerだとされたんじゃなくて、右辺がintegerだと判定されて、右辺の計算でオーバーフローしてる
>>431
定数の値じゃなくて、定数の型できまるはず

結論はConstにもちゃんと型指定しろ、ってことだ
ちなみに#は倍精度浮動小数点数らしいぞ

>>432
ADOのバージョンは?
一部バージョンでライブラリがばぐってたはず

451 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 15:58:37.92 ID:FpdhcBpS.net]
>>428
やっぱりそうだよね?自分の周りでも64bitに置き換えてる企業ってほぼないので
しかしここでは64bitが当たり前みたいだし、この手の質問を過去にもしたけどまともな回答得られたことないしで、自分の知らないところでは64bitが当たり前な業界もそれなりにあるのかな?と思ってしまった
64bit移行は取引先が多ければ多いほどハードルが高そう

世間一般的に32bitを切り捨てられるタイミングはいつ頃になるのかな
「xls」ですら切り捨てられない企業を見てると、そんなのは当分先になりそうなイメージ
もしくはMSが完全互換を達成してくれるか

452 名前:426 [2024/01/28(日) 16:52:07.92 ID:v9jfp3rb.net]
イロイロ、ありがとう
さて、ま、念の為、何というか、

Dim i as long
Dim x as long
Dim y as long
Dim BDATA(約25000000) as BYTE

For x = 0 to 3840 - 1
For y = 0 to 2160 - 1
i = 3840 * 3 * y + 3 * x
BDATA(i) = 255
BDATA(i+1) = 0
BDATA(i+2) = 0
next
next

は、モチロン、駄目なプログラミング
さて、いや。呟きです。
とにかく、ありがとう

453 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 19:19:46.49 ID:oSgnhTDB.net]
Doevents 入れないのか

454 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 19:53:30.89 ID:PqCzO7aX.net]
>>445
いわゆる大手企業だけど64bit導入済みだよ
元々アドイン禁止だから影響もほぼなし
一部VBAを多少手直ししたくらい

455 名前:デフォルトの名無しさん [2024/01/28(日) 19:54:43.44 ID:I0zbqNbd.net]
Doevents 入れないのだ
これでいいのだ
バカボンのパパなのだ



456 名前:デフォルトの名無しさん [2024/01/28(日) 21:08:37.59 ID:v9jfp3rb.net]
Do

Dim i as long
Dim x as long
Dim y as long
Dim BDATA(約25000000) as BYTE

For x = 0 to 3840 - 1
cells(1,"A") = x
DoEvents '''✦✦DoEvents 入れてみた \(^o^)/
For y = 0 to 2160 - 1
i = 3840# * 3# * y + 3# * x
BDATA(i) = 255
next
next

って感じでやると A1のセル、すなわちセルA1が
xの値がドンドン更新表示され、面白いです。
面白いから、これで、良いのだぁぁぁぁぁぁ

457 名前:447 [2024/01/28(日) 21:15:24.83 ID:v9jfp3rb.net]
>>450 自己スレ
でも、DoEvents なくても
xの値は表示されるな🤔 なくてもヨイのだ。
少しギコチナイ動きになる気がするが、
気のせいなら、気にしなくてヨイのだ。🥳






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

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

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