Excel VBA 質問スレ Part69at TECH
Excel VBA 質問スレ Part69 - 暇つぶし2ch345:デフォルトの名無しさん
21/01/28 15:55:46.33 8thmnp2a0.net
>>342
バイトすごいですね
今は何の職業?

346:デフォルトの名無しさん
21/01/28 19:35:23.37 1VXsvNu50.net
Excelのハイパーリンクをクリックするたびに
MSのサイトにアクセス先の情報を送って
そこからリダイレクトしていたという
衝撃の事実を今日知った。
10年以上つかってて気が付かなかったよ
死ねこいつら

347:デフォルトの名無しさん
21/01/28 20:13:31.96 RkzGmpaJd.net
>>345
え、これマ?

348:デフォルトの名無しさん
21/01/28 20:18:19.29 cYs3zIiO0.net
ソースを

349:デフォルトの名無しさん
21/01/28 20:26:06.12 1+p+qv3s0.net
これ買っとけばいいみたいなど定番の本はある?
ネットでやりたいことをちょこちょこパクって繋げてるけど限界だわ
汎用性の高い一つの大掛かりなVBAを組もうとしたら圧倒的に知恵がない

350:デフォルトの名無しさん
21/01/28 20:34:03.81 8m13k+420.net
ネットで調べても書き方が人それぞれだったりちゃんと整理されれなかったり
肝心の自分の目的を書いてなかったりそんなんばっかだからな。
それらの無駄とストレスを減らすために、辞書は1冊あった方がいいな。
書き方と順序が統一されてるだけでも有用。

351:デフォルトの名無しさん
21/01/28 20:35:31.88 8m13k+420.net
できる大辞典は定番ではある
他の本はいらん
これにないなら諦めて他で調べればいい

352:デフォルトの名無しさん
21/01/28 20:54:55.16 8thmnp2a0.net
vbaでIEとかChromeとか操作できるのは最近分かったけど(やったことはない)、他に操作できるアプリってどのくらいあるの??

353:デフォルトの名無しさん
21/01/28 20:55:48.34 8m13k+420.net
エッジもできる

354:デフォルトの名無しさん
21/01/28 21:05:03.93 8thmnp2a0.net
あ、ブラウザー以外でおねがいしゃす

355:デフォルトの名無しさん
21/01/28 21:09:54.36 eBfsAdOM0.net
>>345
それExselとか書いてないかい?w

356:デフォルトの名無しさん
21/01/28 21:27:46.20 1VXsvNu50.net
URLリンク(superuser.com)

This is a known Microsoft bug where hyperlinks are redirected to another page if:
You are using Microsoft Internet Explorer:
with a proxy server
while using a firewall that does not allow HTTP requests on your local network
Internet Explorer is not your default browser.
The ForceShellExecute registry key is not present or is not set to 1
You can apply the fix from here:
URLリンク(support.microsoft.com)
バグなんてもんじゃねえ

357:デフォルトの名無しさん
21/01/28 21:31:23.39 ABoKcn6c0.net
>>351
参照設定の中に入ってるのは普通に動かせるし、
WindowsAPIとUIAutomationとSendKeysがあるから、
マウスとキーボードで動かせるようなものなら大抵。
極端な例を言うと、VBAで仮想のファミコン(エミュ)を作ってマリオ動かす人もいる。

358:デフォルトの名無しさん
21/01/28 21:34:15.56 46r/uxOM0.net
>>348
「一度死んでみた」

359:デフォルトの名無しさん
21/01/28 21:37:00.50 ABoKcn6c0.net
って書いてて思ったんだけど、
IRモジュール使ってVBAでテレビとかエアコン動かせる人いる?

360:デフォルトの名無しさん
21/01/28 21:50:11.88 O9WqV6fA0.net
俺さ、VBAのソース書いてて
インテリセンスが糞だと思ってたけど
上には上があるんだなぁ
今ClassicAspとかいう昔の組んでるんだけど
HTMLとJavaScriptとVBScriptで出来てて
テキスト編集ツール使って
テキストファイルで作ってる
もちろんインテリセンスなんて全く効かない
そうなると一番怖いのが文法エラー
VBAなんかだと一発で分かるけど
最初っからコンパイル自体されないので
どこでエラーになっているか
全く分からない

361:デフォルトの名無しさん
21/01/28 21:57:01.68 SI9VK8hs0.net
ブラウザの開発ツールの使い方を知らないだけでは

362:デフォルトの名無しさん
21/01/28 21:58:09.32 8thmnp2a0.net
>>356
vbaでエミュってエミュをvbaで起動してるってことではなく?
何をどうやったら作れるのか不思議
vbaでIoTの組み込みや操作も可能なのだろうかー

363:デフォルトの名無しさん
21/01/28 22:02:50.14 TxA55uF+M.net
元々仕事でなんとなしに触らざるを得なくなってコピペやらその場限りのググりで生きながらえてきたんだけどちゃんと筋道立てて1から勉強したいというときに適した本やサイトはありますか?

364:デフォルトの名無しさん
21/01/28 22:04:15.85 8m13k+420.net
本はある
サイトはない

365:デフォルトの名無しさん
21/01/28 22:04:36.53 8m13k+420.net
本も当然、1冊では終わらん
入門編から順に買うことになる

366:デフォルトの名無しさん
21/01/28 22:05:55.11 46r/uxOM0.net
>>359
馬鹿は黙っていればいいのに

367:デフォルトの名無しさん
21/01/28 22:49:59.34 TfrdJEz20.net
>>362
慣れてきて半人前くらいになってきたな、と思うならこの本
入門レベルでは決して足りない実務に必須のスキルとは ExcelVBA 実戦のための技術

368:デフォルトの名無しさん
21/01/28 23:07:43.56 ABoKcn6c0.net
>>361
VBAでエミュ。
今は消えてるけど、以前ここにワードで動かしてる動画があった。
URLリンク(www.nicogame.info)
UPされた当時は実機並みのスピードは出てなかったけど、
今のハイスペックPCで動かしたらどうだったか・・。

369:デフォルトの名無しさん
21/01/28 23:11:02.95 8thmnp2a0.net
>>367
謎技術

370:デフォルトの名無しさん
21/01/29 00:41:18.26 R2RLQXG+0.net
VBAって当たり前だろうけどエクセルの基本的な知識がないと使えないよね?
エクセル全然知らないから大変だな…

371:デフォルトの名無しさん
21/01/29 00:42:02.94 SG5MocSx0.net
それじゃ役に立てる場所がないじゃん
実践で使わないと上達しないぞ

372:デフォルトの名無しさん
21/01/29 00:49:19.50 SG5MocSx0.net
未来の開拓のため!つっても普通
「よし、エクセルを覚えるぞ」からだろそれは…
PCにエクセルをインストールしてエクセル入門の本を買うところからだな
書式とか関数とかピボットとかスイスイできるほどに覚えてからだなVBAは
でないとプログラムの意味も理解できない

373:デフォルトの名無しさん
21/01/29 01:35:07.55 R2RLQXG+0.net
>>371
助かります!

374:デフォルトの名無しさん
21/01/29 02:08:08.30 R2RLQXG+0.net
エクセル初歩から覚えるなら絶対買っとけ!って書籍やサイトはありますか?

375:デフォルトの名無しさん
21/01/29 02:35:09.20 SG5MocSx0.net
「絶対」は無い。
まあ「絶対ではないがまったり普通に」、
FOM出版のよくわかるシリーズでいいのでは。
当然最初は基礎編ね。
スレ違いだからこれ以上は然るべきところで聞くのがいいと思う。

376:デフォルトの名無しさん
21/01/29 03:41:44.14 IWwHfNXwH.net
>>373
入門サイト
URLリンク(excel-ubara.com)

377:デフォルトの名無しさん
21/01/29 03:58:52.37 R2RLQXG+0.net
>>374
>>375
ありがとう!!
とりあえず神髄を参考にしていきます

378:デフォルトの名無しさん
21/01/29 08:15:50.80 Xkyf+iIu0.net
>>369
いや、Excelの知識無くてもVBだけでExcelを動かしてる人いますぜ
その人当然ワークシート関数をろくに知らない

379:デフォルトの名無しさん
21/01/29 09:35:52.52 Llo2P1qs0.net
昭和の頃は、Excel講座に通うサラリーマンはバカにされてたけど、同時にvi使える人が達人として尊敬されてた。
どう考えてもテキストエディタより表計算のほうが技能必要だけど。

380:デフォルトの名無しさん
21/01/29 09:38:10.99 Llo2P1qs0.net
日本の成長に脅威したCIAが、たいていの問題に対して使える優秀な製品を貶し、使いどころの限られる古いテキストエディタユーザーを神扱いしたのではないか?

381:デフォルトの名無しさん
21/01/29 09:40:46.74 higCsMc/M.net
そもそもVBAは最後の手段であって、それを活用することは決して褒められたものじゃない
ワークシートの機能で簡単にできることを知らずにシコシコ馬鹿みたいにVBA書いてるアホは多い

382:デフォルトの名無しさん
21/01/29 09:44:43.17 Llo2P1qs0.net
結果、CIAの思惑通り、標準的な日本人はviを使いこなせるが、Excelを使いこなす日本人は少ない。
Excelを使いこなせた方が絶対便利なのに。

383:デフォルトの名無しさん
21/01/29 09:55:51.98 eIG6sa+UM.net
テキストエディタはC++やJava などでプログラム開発するためのただの道具だけどな
むしろ本格的なプログラム組むならVBAは汎用性に欠ける

384:デフォルトの名無しさん
21/01/29 10:15:15.81 9nrwkhnr0.net
>>378
昭和にExcelあったっけ?

385:デフォルトの名無しさん
21/01/29 10:17:07.73 9nrwkhnr0.net
最近はSheetというかExcelの外でのExcelVBAの活用方法を知りたい

386:デフォルトの名無しさん
21/01/29 10:28:32.08 Hw3psapAM.net
Excelと他のアプリを連携するにしてもある程度の規模になるとVBAではなくてOffice add-ins(JavaScriptまたはTypeScript)やVSTO(C#)の利用をMicrosoftは推進してる
あくまでVBAはMS Officeのシステムの枠内で処理の自動化を実施するための道具

387:デフォルトの名無しさん
21/01/29 11:18:05.10 smfBIAno0.net
>>383
Excel 自体は存在したけど日本語版じゃないしMac用だからリーマンが講座に通うとかはありえんだろうな
アメリカのリーマンかも知れんがw

388:デフォルトの名無しさん
21/01/29 11:33:25.67 IWwHfNXwH.net
一番最初にMac版が発売されたのは昭和60年9月、ただしこの時点ではマクロは使えなかった
Windows版は昭和62年10月発売で、ここからマクロ機能が搭載された
この時代だと、viが使える人は別に尊敬されてない
そもそもほとんど知られてなかったんだから、使える人がすごいとか判断すらできなかった

389:デフォルトの名無しさん
21/01/29 13:42:22.04 Xkyf+iIu0.net
知人がYouTubeで表計算なりVBを勉強したいと言っているが、同志達からみてどのチャンネルがおつつめ?
金子?ユースフル?たてばやし??
自分、YouTubeであまりExcelの参考にはしないから誰が優秀か全然わからん

390:デフォルトの名無しさん
21/01/29 13:44:47.29 IzzhGfbbM.net
つべを見ないのが1番参考になる説

391:デフォルトの名無しさん
21/01/29 13:46:17.88 Xkyf+iIu0.net
知人いわく、金子ていうあんちゃんがやたら人気あると聞いてさ
でもプロではないと思うから自分なら観ない

392:デフォルトの名無しさん
21/01/29 15:03:44.68 XKqQMMzPd.net
お前ら化石みたい頭してそうだもんな、youtuberとか頑なに受け入れられないんだろうな
俺は金子見て勉強してるよ

393:デフォルトの名無しさん
21/01/29 15:07:49.71 hZ93xN6Od.net
Exportasfixedformatメソッドでpdfを出力するとき、そのファイル名にセルの値を参照してるのですが
セルの値が改行されているとエラーが出ます。
エラーを出さず改行を無視してファイル名をつけたいのですが、どうすればよいでしょうか?

394:デフォルトの名無しさん
21/01/29 16:22:00.18 SG5MocSx0.net
コード見せてよ

395:デフォルトの名無しさん
21/01/29 16:32:12.51 wsDc5NzC0.net
改行の記号忘れたけど
あれをReplaceで消せばいいだけじゃね

396:デフォルトの名無しさん
21/01/29 16:36:09.23 SG5MocSx0.net
vbCrとvbLfとvbNewLineを空文字化すればいけるかな?

397:デフォルトの名無しさん
21/01/29 16:52:50.17 ur5sUiDWd.net
s = Replace(Replace(Replace(Replace(s, vbCr, ""), vbLf, ""), vbCrLf, ""), vbNewLine, "")

398:デフォルトの名無しさん
21/01/29 17:07:40.77 8cihH0fua.net
vbNewLine は vbCr と vbLf の組み合わせか、いずれか一方だから、vbCr と vbLf だけでもいいかも

399:397
21/01/29 17:08:58.02 8cihH0fua.net
そんな定義はないか…

400:デフォルトの名無しさん
21/01/29 17:32:34.00 wsDc5NzC0.net
396を関数に
Private Function Getファイル名(byval s as string) As String
Getファイル名 = Replace(Replace(Replace(Replace(s, vbCr, ""), vbLf, ""), vbCrLf, ""), vbNewLine, "")
End Function

401:デフォルトの名無しさん
21/01/29 19:31:25.44 Xkyf+iIu0.net
田中派と金子派がハッキリ別れてるわ自分の界隈は

402:デフォルトの名無しさん
21/01/29 20:44:38.50 Wez0GYRkM.net
他のダメ文字は来ないことをお祈りか

403:デフォルトの名無しさん
21/01/29 21:10:33.96 IWwHfNXwH.net
youtubeができる前に基本は覚えたから今さら見る気になれないなあ
だからどっちがどうとかも興味ない

404:デフォルトの名無しさん
21/01/29 21:43:57.23 MBltpUk80.net
>>399
全部空文字にするなら、置換する元のリストをArrayでくくって、lbound(配列)~ubound(配列)でその配列の中身ループさせればいいだけじゃん
それ可読性悪すぎ

405:デフォルトの名無しさん
21/01/29 21:55:58.53 IWwHfNXwH.net
要素がもっと多いと配列にした方がメンテ性は良くなりそうだけど、4つだと微妙だなあ
個人の好みで片付けたくなる
For Each x In Array(vbCr, vbLf, vbCrLf, vbNewLine)
  s = Replace(s, x, "")
Next

406:デフォルトの名無しさん
21/01/29 21:59:33.79 IWwHfNXwH.net
あとForで回すと微妙に遅くなるんで、関数化(ブラックボックス化)して大量のデータを処理するなら1本の式にまとめた方がいいかもしれない

407:デフォルトの名無しさん
21/01/29 22:14:22.45 SG5MocSx0.net
つまり403は考え足らずだったと

408:デフォルトの名無しさん
21/01/29 23:07:49.79 GBOzgJJf0.net
CreateObject("VBScript.RegExp")で探すのも大差ない?

409:デフォルトの名無しさん
21/01/30 00:02:38.07 U1XssVyb0.net
w、Wsは不用です。
あるシートの
w.Cells(1, "B")には000001234や000001234-1などの文字列が入っています。
ハイフンなしの場合は下7桁を。
ハイフンありの場合は-より左の下7桁と-以降を抜き出して
別のシート.同じ行のA列に入れたいです。
下記の処理でelse節を通る場合、
Rightしたときに前ゼロが消えちゃう(1234だけになる)んだけど
消えないようにするにはどう書けばいいですか。
(If節を通る場合は消えません)
If InStr(1, w.Cells(1, "B"), "-", vbTextCompare) >= 1 Then
Dim sNo() As String
sNo = Split(w.Cells(1, "B"), "-", , vbTextCompare)
sNo(0) = Right(sNo(0), 7)
Ws.Cells(gyo, "A") = Join(sNo, "-")
Else
Ws.Cells(gyo, "A") = Right(w.Cells(1, "B"), 7)
End If

410:デフォルトの名無しさん
21/01/30 00:03:27.01 U1XssVyb0.net
間違えました
w、Wsは不用です。

w、Wsはシートです。

411:デフォルトの名無しさん
21/01/30 01:01:10.51 5ChT/CTU0.net
>>403
>>404
なるほど勉強になるわ
いろんな書き方があるからプログラムは面白いな
スマホで打つの面倒くさいからコピペしたけど自分ならReplaceを4行に分けて


412:一個ずつ処理してたわ



413:デフォルトの名無しさん
21/01/30 01:07:22.27 6QDP6TPLH.net
>>408
Else
  Ws.Cells(gyo, "A").NumberFormatLocal = "@"
  Ws.Cells(gyo, "A") = Right(w.Cells(1, "B"), 7)
End If

414:デフォルトの名無しさん
21/01/30 02:17:52.72 O2YJs/tfd.net
>>336
言っとくが、本気にするなよw
熟練者はネットも本も見るぞ。
ま、本に関してはVBAの本は見ないかも。

415:デフォルトの名無しさん
21/01/30 02:23:06.62 O2YJs/tfd.net
>>385
???
そうか?
VSTO廃れてるように見えるが。
情報少ないし。

416:デフォルトの名無しさん
21/01/30 02:42:40.27 fm9PSZiO0.net
>>408
単にWsのA列の表示形式が文字列じゃないだけじゃね

417:デフォルトの名無しさん
21/01/30 02:48:37.26 qXiZMF+3d.net
>>392
これ面白そうだったから調べてみた。
s = worksheetfunction.clean(s)
でいけるっぽい

418:デフォルトの名無しさん
21/01/30 07:14:33.38 1M+OYc940.net
VBAがそのうち廃止されると噂聞くけど無くなったらExcelじゃなくて良いね
キングとかジャストの安い互換ソフトで十分
それとPython

419:デフォルトの名無しさん
21/01/30 07:28:22.98 O0XirISQ0.net
そんなのきいたこともない

420:デフォルトの名無しさん
21/01/30 07:31:09.77 inFBwlEk0.net
上にExcel使いこなしてる奴少ないとあるが、事務歴長いおばちゃんとか操作長けてるイメージあるけどどうなの??

421:デフォルトの名無しさん
21/01/30 07:45:37.30 JU3c6HAP0.net
>>397-398
> vbNewLine は vbCr と vbLf の組み合わせか、いずれか一方だから、vbCr と vbLf だけでもいいかも
それでいいと思う
URLリンク(docs.microsoft.com)

422:デフォルトの名無しさん
21/01/30 08:19:24.57 5ChT/CTU0.net
>>415
MS様の関数を使うのが一番きれいか

423:デフォルトの名無しさん
21/01/30 08:27:30.21 jJ/MoYJX0.net
>>418
テンキーだけ速い。

424:デフォルトの名無しさん
21/01/30 08:28:40.37 fCdLLOZj0.net
ワークシートの関数とか基本的なものしか知らないな
知ってると便利そうね

425:デフォルトの名無しさん
21/01/30 08:43:21.65 BrDW2qLKd.net
>>418
小企業で事務が2人ぐらいのとこだと、速いけどたいがい変な自己流
いわゆるExcel方眼紙を素早く作って定型文書を作ってしまうとかそんなイメージ
もちろんよく勉強してる人もいるが

426:デフォルトの名無しさん
21/01/30 08:54:12.58 BrDW2qLKd.net
[A2] = [Clean(A1)]

427:デフォルトの名無しさん
21/01/30 09:29:14.83 inFBwlEk0.net
テンキー速いのは良いね
電卓も得意そうだし
方眼紙はアカンど、あれ考えた人天才かファホどちらかだな
そういうおば様が引き継ぎにくいシートを大量生産しとるんだねうちみたいに

428:デフォルトの名無しさん
21/01/30 10:10:18.97 1M+OYc940.net
VBAはいつまで使えるんだろう?
あと15年は大丈夫かね

429:397
21/01/30 10:35:24.24 rbovmPt/a.net
おー、ありがとございまーす‼︎

430:397
21/01/30 10:37:11.90 rbovmPt/a.net
>>419
おー、ありがとうございます‼︎

431:デフォルトの名無しさん
21/01/30 10:41:58.65 b7Gs8Wa80.net
>>408
です
>>411
>>414
ありがとうございます、おっしゃる通り数字扱いになっているのだと思います。
>>411さんの方法でやってみます

432:デフォルトの名無しさん
21/01/30 11:30:40.53 1M+OYc940.net
最近、Excel + Pythonとか耳にするけどVBAより何が良いんだろー?

433:デフォルトの名無しさん
21/01/30 11:46:57.12 O0XirISQ0.net
ExcelVBAのひどさは文法よりライブラリのひどさにある
言語だけ変えてもあんまり解決しない
丸々置き換えた外部ライブラリならもっと楽にプログラムできるかもしれない

434:デフォルトの名無しさん
21/01/30 12:27:45.49 1M+OYc940.net
そうなのかー

435:デフォルトの名無しさん
21/01/30 13:08:59.54 Jfm3X56+M.net
Pythonみたいな外部環境使う時は、エクセルを操作って言うより作成する時が多そう
入出力ともにエクセルならVBAの方が手っ取り早いでしょ

436:デフォルトの名無しさん
21/01/30 13:24:52.13 Au3KeWLZM.net
というかVBA使ってるのは他に開発ツールが無いからなんだよ
Pythonインストールできる環境ならそもそもVBAなんか使ってない

437:デフォルトの名無しさん
21/01/30 13:37:40.94 fCdLLOZj0.net
最近VBA描けるようになって嬉しいけどここ見てると終わってる言語みたいだな...

438:デフォルトの名無しさん
21/01/30 13:44:55.44 inFBwlEk0.net
古い言語だからでは?
昭和の定年ジジババがどや顔で昔からプログラミングやっていたと若者にマウント取ってくるのは大抵VBAが大半

439:デフォルトの名無しさん
21/01/30 13:51:30.45 Jfm3X56+M.net
終わってる言語だけど、代わりに仕様変更がない安心感はある
諸悪の根源は仕事の効率化って名目でVBA押し売りするサイトやら講師やらだな
はよくたばれ

440:デフォルトの名無しさん
21/01/30 14:05:31.86 xS3gwMFJ0.net
今VBA押してるか?
Pythonばかりステマされてる気がする

441:デフォルトの名無しさん
21/01/30 14:46:55.21 Au3KeWLZM.net
>>435
今でも使われてるしVBAしか開発環境のない職場も多いし、
いつも手作業で気合いで乗り切るって人より遥かにマシだから引き続き学習進めていいと思うよ
ただ余裕があれば自宅でPythonとかHTML+JavaScript辺り触っとくといいかも

442:デフォルトの名無しさん
21/01/30 16:29:08.79 Jfm3X56+M.net
Vbaしかないってどんな状況だよ

443:デフォルトの名無しさん
21/01/30 16:33:11.52 rDRgl3OZ0.net
よくあるだろ。
オフィス系を主体に普通に手作業メインで事務やってるとこは。

444:デフォルトの名無しさん
21/01/30 16:33:53.70 c0t4Oketd.net
>>434
Pythonインストールできる会社って少ないの?
なにか引っかかるの?

445:デフォルトの名無しさん
21/01/30 16:36:47.91 rDRgl3OZ0.net
余計なものはインストールしちゃいけないことになってる

446:デフォルトの名無しさん
21/01/30 16:59:35.87 SAK/nUhP0.net
良かれと思って勝手にやって怒られても嫌だしな

447:デフォルトの名無しさん
21/01/30 17:00:42.77 KmRaLG0X0.net
規約で使っていいツールが決まってる

448:デフォルトの名無しさん
21/01/30 17:06:41.65 Jfm3X56+M.net
何で勝手にインストールするのが前提なんだよ
上に相談すればいいじゃん
それすら出来ない融通の効かない会社なら、そもそもマクロなんか絶対許さないだろ

449:デフォルトの名無しさん
21/01/30 17:13:45.33 Rr8OfpXod.net
ウチの会社は全く融通きかない
Alt+F11で上司の上司から呼び出し食らったの思い出しましたわ

450:デフォルトの名無しさん
21/01/30 17:17:25.24 rDRgl3OZ0.net
>>446
上に相談で通るって、どんだけ小さい企業を想定してるんだよと

451:デフォルトの名無しさん
21/01/30 17:24:56.08 SAK/nUhP0.net
>>446
お前の知ってる会社が世の中のすべてじゃないってことだよ

452:デフォルトの名無しさん
21/01/30 17:24:58.39 Jfm3X56+M.net
上に相談するのに企業規模関係なくね?

453:デフォルトの名無しさん
21/01/30 17:30:12.43 Jfm3X56+M.net
まぁどうせ無理だろって思い込みでやってるから、
そういう状況なんだろうな
行動しないかやっても中途半端なくせに上司や会社への愚痴は一人前

454:デフォルトの名無しさん
21/01/30 17:43:22.21 SAK/nUhP0.net
そうやって思い込みで批判してるお前も思い込み仲間だな

455:デフォルトの名無しさん
21/01/30 17:47:12.97 6QDP6TPLH.net
相談するかどうかには規模は関係ない
許可されるかどうかも規模は関係ないかな
相談のしやすさだけは違うかも

456:デフォルトの名無しさん
21/01/30 18:58:14.37 vCh93ej0M.net
会社PCでPython+Excelなんて非現実的すぎるよな
相談しても「余計なことしなくていい」で終わり
でもExcelは最初から入ってるからVBAなら無問題
未だに使われてるのはそれが最大の理由
一時期「ExcelでPython使えるようになる」みたいな話があって期待してたけど立ち消えで残念

457:デフォルトの名無しさん
21/01/30 19:17:07.76 inFBwlEk0.net
そもそもExcel使いの中でのVB人口が少ないわな
職場によっては白い目で見られる事あるみたいだし。。。

458:デフォルトの名無しさん
21/01/30 19:23:25.71 rDRgl3OZ0.net
>>454
うちと同じ
厳格で神経質な大企業だわ

459:デフォルトの名無しさん
21/01/30 19:57:40.31 O0XirISQ0.net
python入ってたらpip installぐらいさせてくれるだろ

460:デフォルトの名無しさん
21/01/30 20:20:54.08 JU3c6HAP0.net
>>434
Excel関係ないならPowerShellでいいだろ
気合いるけどC#, VB.netだって使えるし

461:デフォルトの名無しさん
21/01/30 20:25:06.96 VxE/916e0.net
>>454
えっ、ExcelにPython搭載の話は無くなったの?

462:デフォルトの名無しさん
21/01/30 20:38:13.29 j+igCUSpM.net
>>459
ExcelにPythonが搭載?その後
URLリンク(qiita.com)

463:デフォルトの名無しさん
21/01/30 21:00:39.22 aByJMjeF0.net
>>458
PowerShellは軽く調べたことあるけどそんなに便利なの?
C#とかVB.netってのは追加インストールなしでできる?
今のところうちの会社で出来そうな言語は↓
・VBA(Office)
・VBS(WSH)
・Jscript(WSH)
・JavaScript(webブラウザ)
・PowerShell

464:デフォルトの名無しさん
21/01/30 21:22:07.64 xS3gwMFJ0.net
VBAで簡単なアプリ開発ってできるの?
tefuくんの体脂肪測定器みたいな

465:デフォルトの名無しさん
21/01/30 21:22:48.91 O0XirISQ0.net
いくら便利でも所詮はシェルだし
体系がわかりやすくなっても
いったん古い体系になじんでたら覚える手間増えるだけだし
劇的に安全になったり間違いが減ったり作業が減るわけじゃない
今から入る人以外やる人いるのか?

466:デフォルトの名無しさん
21/01/30 21:23:28.18 aByJMjeF0.net
VBAは極めれば当然事務系のシステムはもちろんアクションゲームやシューディングゲームも作れる
開発効率は知らん

467:デフォルトの名無しさん
21/01/30 21:35:23.25 xS3gwMFJ0.net
>>464
簡単なアプリ作るのに初心者から何年ぐらいかかるな

468:デフォルトの名無しさん
21/01/30 21:40:45.18 aByJMjeF0.net
>>465
ジャンルは?

469:デフォルトの名無しさん
21/01/30 21:41:39.22 aByJMjeF0.net
ああ、上に書いてあるようなやつか
人によるけど半年~1年くらいじゃね?

470:デフォルトの名無しさん
21/01/30 21:59:47.48 xS3gwMFJ0.net
>>467
tefu君たいしてすごくないな
ありがとう!

471:デフォルトの名無しさん
21/01/30 22:54:30.67 inFBwlEk0.net
昭和の頃からExcelできる=パソコンできる
パソコンできる=Excel Wordできる
この固定観念は不変だいまだに
何故なんだや?

472:デフォルトの名無しさん
21/01/30 23:08:10.45 O0XirISQ0.net
だれの概念だ
おれはしらんぞ

473:デフォルトの名無しさん
21/01/30 23:08:37.64 XeNTB87Q0.net
固定観念ではなく社会に出てPC使う上で一番必要になるから

474:デフォルトの名無しさん
21/01/30 23:14:56.21 xzjRtN8LM.net
昭和だと8bitパソコンの全盛期か?

475:デフォルトの名無しさん
21/01/31 01:25:22.99 SqzzHClod.net
>>460
えっ!Excelにjavascript搭載?!

476:デフォルトの名無しさん
21/01/31 03:01:40.77 Y3xOrDkq0.net
そもそもアプリがEXCEL何だから何が搭載されようがパフォは大差無いだろうな
それならブックが超軽いとかの方が恩恵あるわ

477:デフォルトの名無しさん
21/01/31 10:40:24.97 /4jghnKY0.net
昭和だからMS-DOSって奴か
定年して10年位の近所の爺がやたらExcelの話しだけは詳しかったわ
平成初期って今みたいにpcが普及していたイメージ無いのだがね

478:デフォルトの名無しさん
21/01/31 10:44:54.99 LH9Tecev0.net
平成初期は家庭の普及は少ないかもしれないが学校でPCの授業はある時代

479:デフォルトの名無しさん
21/01/31 11:12:38.97 eXchLs/k0.net
平成初期頃ならPC-9801+MS-DOS上で一太郎とロータス123の時代

480:デフォルトの名無しさん
21/01/31 12:51:12.93 LqdlwBTz0.net
FileSystemObjectのOpenTextFileで開いたファイルのポインタを最初の行に戻す方法ってありますか?
ADOのMoveFirstメソッドみたいな感じの。

481:デフォルトの名無しさん
21/01/31 13:05:56.87 tZ/FxqNKd.net
Windows版Excel(もちろん英語版)が最初に発売されたのは一応昭和時代の終わり頃だよ
日本で使ってた人はほぼいなかったと思うけど
使い物になる日本語版が登場したのは平成5年の秋

482:デフォルトの名無しさん
21/01/31 14:29:00.06 BqVAUrnsx.net
Excel 95か97は持ってたはずだが…どこいったかな
Excel2000は現役?で使ってたりするw
現代のPCで動かすと爆速だから

483:デフォルトの名無しさん
21/01/31 15:54:08.87 /4jghnKY0.net
2000て今のパソコンで動くのか知らんかった
サンクス!

484:デフォルトの名無しさん
21/01/31 15:56:11.00 1T3G+5lu0.net
3.1も動くんじゃね?

485:デフォルトの名無しさん
21/01/31 16:01:12.88 xa1uSfuZH.net
Excel2000とWindows2000を勘違い

486:デフォルトの名無しさん
21/01/31 19:37:03.65 U4PZxrG+d.net
>>435
色んな言語やって適材適所。
VBAの場合、特殊な環境なのでVBAが有利だけど出来ないことも結構ある。

487:デフォルトの名無しさん
21/01/31 19:38:49.07 U4PZxrG+d.net
>>451
足らないなら作れば良いってのもある。
バイナリエディタぐらいなら2時間もあれば作れるだろ。

488:デフォルトの名無しさん
21/01/31 19:41:00.82 MeuEia/rM.net
足らないなら
足りないなら

489:デフォルトの名無しさん
21/01/31 19:42:32.36 U4PZxrG+d.net
>>461
問題はさ、結局VBAから呼び出す形じゃピタゴラスイッチみたいになるし、外部からExcel操作するようなのは、元々VBAでやる必要のない処理なので競合にならないということ。

490:デフォルトの名無しさん
21/01/31 20:16:56.70 7WfxADLN0.net
ワード97のイースターエッグでピンボールが遊べた重いで
エクセルは迷路だっけか

491:デフォルトの名無しさん
21/01/31 21:05:00.18 zGey4MUp0.net
冴子先生

492:デフォルトの名無しさん
21/01/31 21:39:17.09 xa1uSfuZH.net
カイル

493:デフォルトの名無しさん
21/02/01 10:35:57.85 vqEWjed4a.net
64bit対応をしてるんですが、素人なのでポインタ/ハンドルとそれ以外の区別が難しいです
GetInputStateはlongptrではなくlongで良い(実際どちらでも動くことは動きました)と思うのですが、合ってるでしょうか?
Private Declare PtrSafe Function GetInputState Lib “USER32” () As Long
(そもそも、パラメータや引数がないのに、何故型宣言が必要なのかからしてよく分からないのですが…)

494:デフォルトの名無しさん
21/02/01 13:32:29.40 0pAIWcaIM.net
URLリンク(docs.microsoft.com)
検索しろよ
BOOLだからLONGでいいんじゃねえの?

495:デフォルトの名無しさん
21/02/01 15:05:09.75 cziAKMq/0.net
>>491
そんなことがわからない馬鹿はAPI使うなよ

496:デフォルトの名無しさん
21/02/01 16:35:31.74 4U/YDNuw0.net
ど素人の質問で大変申し訳ないのだけど、教えていただけないでしょうか。

Sub test()
Dim s As Worksheet
Set s = Worksheets.Add
Debug.Print "ActiveSheet.CodeName : " & ActiveSheet.CodeName
Debug.Print "s : " & s.CodeName
End Sub
というコードで、ワークシートを1枚追加してそのワークシートのコード名を取得しようとしたところ、
VBEを開いているときは問題なくコード名を取得できるのですが、
VBEを開かずに開発タブからマクロを実行させると、ActiveSheet.CodeName も s もブランクとなり、コード名を取得できません。
(VBEを開いた状態であれば、開発タブから実行させても取得できる)
何か追加で設定しなければならないことなどあるのでしょうか?
Excelのバージョンは 2019MSO(16.0.13530.20418)32ビット です。

497:デフォルトの名無しさん
21/02/01 17:21:35.68 90ziZ1xl0.net
Debug.PrintじゃなくMsgBoxにしても無理?

498:デフォルトの名無しさん
21/02/01 17:26:28.07 4U/YDNuw0.net
>>495
MsgBoxにしてみましたが、変わらずブランクのままでした…

499:デフォルトの名無しさん
21/02/01 17:33:05.91 90ziZ1xl0.net
CodeNameプロパティは
VBE閉じてると取得できないみたいね
URLリンク(social.msdn.microsoft.com)

500:デフォルトの名無しさん
21/02/01 17:40:51.41 vqEWjed4a.net
>>492
>>493
ありがとうございました
他人のコードを意味も分からず流用してました
戻り値なんですね

501:デフォルトの名無しさん
21/02/01 17:52:09.95 GaUVwnAZH.net
>>497
これまじかー
イベントを起動するシート判定に使おうと思ってたから痛いな
配布する前でよかったのが救いか

502:デフォルトの名無しさん
21/02/01 17:58:19.66 s7QwQuf00.net
Nameは使える

503:デフォルトの名無しさん
21/02/01 18:31:44.12 4U/YDNuw0.net
>>497
ありがとうございます!
おかげさまで解決しました!
ものによってはVBE閉じていると取得できないということもあるんですね…勉強になりました…

504:デフォルトの名無しさん
21/02/01 19:44:46.16 x4MWOITLH.net
497は既存のオブジェクトは大丈夫みたいだな
良かった

505:デフォルトの名無しさん
21/02/01 23:01:45.15 neAX3K2a0.net
VBAでIoT、たとえば防犯カメラを特定の時間稼働させることできる?

506:デフォルトの名無しさん
21/02/01 23:03:50.03 cgpbZmzy0.net
知らんけど何故VBAでやるの?

507:デフォルトの名無しさん
21/02/01 23:04:15.16 neAX3K2a0.net
もしくはラズベリーパイ動かせたりする?

508:デフォルトの名無しさん
21/02/01 23:04:51.14 neAX3K2a0.net
>>504
できるのかなと思て
ただの興味本位

509:デフォルトの名無しさん
21/02/01 23:11:41.22 KRwxYz520.net
できない

510:デフォルトの名無しさん
21/02/02 01:35:01.99 eRozloyAH.net
もちろんできるが

511:デフォルトの名無しさん
21/02/02 02:35:02.20 K9rz1pjI0.net
VBAなんか使わなくてもできるだろ

512:デフォルトの名無しさん
21/02/02 03:35:20.04 CQc47MX20.net
VBA以外のもんでも使ってりゃいいよね

513:デフォルトの名無しさん
21/02/02 05:46:24.43 rAxQwi5Z0.net
こんなこともわからない馬鹿には無理

514:デフォルトの名無しさん
21/02/02 07:45:22.80 k1bhpTE6x.net
複数のユーザーフォームをボタンと紐付された関数ごと
別のフォームのマルチページの一つのページとして統合したいんだけど
どうやったらいい?
コントロールのコピーしたら関数まっさらになってしまう

515:デフォルトの名無しさん
21/02/02 08:44:36.43 xrgeUBRvM.net
コードもコピペしてオブジェクト名整えれば?

516:デフォルトの名無しさん
21/02/02 09:39:10.72 k1bhpTE6x.net
すまん
問題はオブジェクト名にあった
コントロールをコピーして貼り付けるとコピー元とは無関係に
左上から連番でオブジェクト名が新規に付けられてしまう
それで元のコードとの相関性がグチャグチャに
他のフォームからコピーするとオブジェクト名の重複が発生するから
しょうがないとは思うが…
複数フォームを一つのフォーム内ページで管理出来たらコンパクトでいいと思ったが甘かったか

517:デフォルトの名無しさん
21/02/02 09:52:43.44 k1bhpTE6x.net
ボタンのオブジェクト名をマクロで変更するにはどうしたらよいかわかる?

518:デフォルトの名無しさん
21/02/02 12:07:20.51 K9rz1pjI0.net
素人が作るからそいういう糞システムになる

519:デフォルトの名無しさん
21/02/02 13:21:01.13 1bf+ts0k0.net
え?
まさかみんなプロなのここ??

520:デフォルトの名無しさん
21/02/02 13:30:17.30 k1bhpTE6x.net
仕事で使っちゃあいるが
ほぼ趣味だな
一度も仕事としてコーディングしたことはないな

521:デフォルトの名無しさん
21/02/02 14:20:46.66 CQc47MX20.net
言葉遊びどーでもいい

522:デフォルトの名無しさん
21/02/02 20:44:18.05 gUgxJ4hN0.net
VBAで何か生活の役にたつアイデアある?
家計簿しかり、体脂肪計しかり。他には?

523:デフォルトの名無しさん
21/02/02 20:55:15.73 9gegCBvb0.net
アンケートならもっと人のいるところでやりましょう

524:デフォルトの名無しさん
21/02/02 21:54:41.99 6HeFUyi4M.net
扱いたいデータ次第でしょ
スマートメーターとか
デジタル温湿度計とか
インプットのデータが多様であればあるほど
得られる成果の種類も増えるというもの

525:デフォルトの名無しさん
21/02/02 22:01:58.54 6HeFUyi4M.net
素人質問
VBSで正規表現の(肯|否)定(先|後)読みが出来ないっぽいんだけど
気のせい?

526:デフォルトの名無しさん
21/02/02 22:07:07.66 /jXNxNj70.net
VBAを生活に役立てるとかいう発想が的外れすぎる
Officeでやりたいことを実現する為のものってことすら理解してない

527:デフォルトの名無しさん
21/02/02 22:11:21.43 CQc47MX20.net
そんなの正規表現じゃないからできないよ
もちろん一番肝心なVBAにとってのね

528:デフォルトの名無しさん
21/02/02 22:11:57.41 CQc47MX20.net
>>524
いまいち理屈になってないな

529:デフォルトの名無しさん
21/02/02 22:26:20.10 aIKF9fP10.net
俺はVBAで彼女できたし宝くじも当たった
死んだばあちゃんまで生き返って超ハッピーだわ

530:デフォルトの名無しさん
21/02/02 22:27:38.52 CQc47MX20.net
で、オフィス365で結婚できたんだろ?w

531:デフォルトの名無しさん
21/02/02 22:46:41.30 gUgxJ4hN0.net
競馬当てるアプリ作れないかなあ

532:デフォルトの名無しさん
21/02/02 22:59:13.66 IsWRFffm0.net
まず、「当てるアルゴリズム」を考えなきゃだなw

533:デフォルトの名無しさん
21/02/02 23:44:33.28 gUgxJ4hN0.net
ExcelVbaでコロナ撲滅できないかなあ

534:デフォルトの名無しさん
21/02/03 00:08:17.17 Yvoh8zTm0.net
感染者の数字をいじればあら不思議

535:デフォルトの名無しさん
21/02/03 00:13:00.26 IsA8Nz810.net
>>532
最近、感染者数を少なく発表して緊急事態事態宣言の効果だと思わせてるように感じるわ
でもそれで皆が緊張感を持てば本当に少なくなるわ

536:デフォルトの名無しさん
21/02/03 00:22:42.50 IsA8Nz810.net
数字の操作ってゆうか

537:デフォルトの名無しさん
21/02/03 00:25:44.87 LtKIm7ALM.net
>>525
意味がわかりません

538:デフォルトの名無しさん
21/02/03 09:12:57.83 oZwwFQVT0.net
>>532
なんだEXCELのおかげで減ったのかw

539:デフォルトの名無しさん
21/02/03 15:27:10.82 +BSqfKukd.net
感染者数、重症者数、検査数の計算に100パーセントExcel使ってるだろう

540:デフォルトの名無しさん
21/02/03 15:33:21.67 OWg+mFa00.net
公務員はエクセル使えるほど有能じゃないよ

541:デフォルトの名無しさん
21/02/03 15:43:30.53 +BSqfKukd.net
じゃどうやって計算するんだ

542:デフォルトの名無しさん
21/02/03 15:43:54.79 OWg+mFa00.net
電卓

543:デフォルトの名無しさん
21/02/03 15:47:57.83 vHpfqXCDM.net
役所の資料落としたら実数入ってることあったけど
関数での計算結果を貼り付けた訳じゃなかったのか
まぁ役所なら只管電卓叩くのはありそうだけど

544:デフォルトの名無しさん
21/02/03 15:48:46.57 pCF2gtkpM.net
公務員は電卓使えるほど有能じゃないよ

545:デフォルトの名無しさん
21/02/03 17:11:17.18 NujmcxqJ0.net
計算できるとこに丸投げ

546:デフォルトの名無しさん
21/02/03 19:08:06.27 3ZiqWZ4T0.net
>>539
算盤

547:デフォルトの名無しさん
21/02/03 20:08:10.32 N+D/8PXWM.net
国家公務員ですがVBAとADO(+SQL)でAccessや業務システムからデータ引っこ抜いて統計資料作ったりしてます
前任者は紙に印刷して正の字書いたり交通調査で使うカウンターみたいので数えてました
他にも色々業務楽にしましたが報告すると人が減らされるので、
隠しておいて余った時間に資格試験の勉強とかしてます

548:デフォルトの名無しさん
21/02/03 20:31:35.92 OWg+mFa00.net
手作業が当たり前の公務員の職場環境で
マクロ使うとめっちゃ時間余るわな

549:デフォルトの名無しさん
21/02/03 20:32:39.17 OWg+mFa00.net
結局>>545もやってる仕事は
効率化なぞしてない無能公務員のままってことなんだから

550:デフォルトの名無しさん
21/02/03 21:04:10.99 8fFe9VfNM.net
VBAによる小手先の自動化により無駄な業務の整理や業務フローの見直し、システム改善などの本質的な業務改善のモチベーションが失われ、
結果的に業務効率を下げているというのはVBAあるある

551:デフォルトの名無しさん
21/02/03 21:24:07.09 pw5uMyFVM.net
dictionaryに一括代入ってできますか?

552:デフォルトの名無しさん
21/02/03 21:29:55.02 u9u/PMRw0.net
>>541
只管とかよくすらっと出てくるね。

553:デフォルトの名無しさん
21/02/03 21:31:21.01 u9u/PMRw0.net
>>545
待てこら、それ税金…

554:デフォルトの名無しさん
21/02/03 23:26:22.08 IsA8Nz810.net
>>545
周りのひとはvbaやマクロの存在を知らない
業務ではほぼエクセルを使用
そんな企業に転職したい

555:デフォルトの名無しさん
21/02/03 23:34:48.39 OWg+mFa00.net
一般事務になるね
マクロできて当然の職場よりは時給下がると思う

556:デフォルトの名無しさん
21/02/03 23:54:01.09 KaBI8RGU0.net
結局そういうアナログな企業は、効率化か進まないしそんな脳みそじゃ事業の収益性も低い。よって給料も少ない。

557:デフォルトの名無しさん
21/02/04 00:29:12.39 EDgIUA7r0.net
そりゃそうだ
VBA出来て作業効率高い方が給料も高いわな
ただ単純に考えればVBAを
生業にしている奴より
VBAを補佐的に使って実際にはJavaや
C++、C#、Ruby等で大きなシステムを
作れる奴の方が給料は高い
下を見てもきりがないが
上を見てもきりがないのだよ

558:デフォルトの名無しさん
21/02/04 05:41:02.93 k/pdvxcQM.net
>>547
抜本的な改革は現場じゃできないです
国家公務員なんで法律や規則、本省が定めた通達や事務連絡、業務システム等を使うことは義務付けられていて、
特段の定めのない部分を各自の裁量の範囲内で工夫するしかない
そしてその範疇ですらある程度の規模の改革をしようとすると根強いアナログ派に今の業務を変える必要がないと反対されます

559:デフォルトの名無しさん
21/02/04 08:45:54.79 EDgIUA7r0.net
>>556
全く
それで糞国家公務員の糞議員が
こんなこと言ってるんだから笑える
【科学】「技術先進国とは呼べなくなった日本…デジタル化は20年遅れ、未知数の研究への投資にも消極的」 元内閣府副大臣が警鐘 ★6 [ボラえもん★]
スレリンク(newsplus板)

560:デフォルトの名無しさん
21/02/04 12:43:48.65 HL3/AUUDa.net
システムは作るのが目的ではなく、運用してなんぼ

561:デフォルトの名無しさん
21/02/04 16:00:33.10 UCczH9pi0.net
政治家が無理矢理変えてあげないとダメなままってことだね。
しかもいい方向に変えようとすると文句を言うほどの無能の二乗。
政治家の改革に公務員は文句を言ってはならないという法律を作らないとな。

562:デフォルトの名無しさん
21/02/04 18:23:19.39 Si5WR9J9M.net
予算分捕るためのシステム構築だからいざ運用しようとすると結局人を介しての無駄な作業になってる

563:デフォルトの名無しさん
21/02/04 18:37:47.68 FKk50fHur.net
Open、put といったバイナリーファイル作成するコマンド類使ってファイル書き出したら、
破損しているとメッセージが出る。
それでも修復して開くと元ファイルと同じような感じなのですが、破損されないやり方ってありますか?ちなみにWordやエクセル形式でなってます。

564:デフォルトの名無しさん
21/02/04 19:17:39.93 4EyDekmA0.net
民営化勧めた結果だろ
国が技術に直接投資できる機会が減っただけ

565:デフォルトの名無しさん
21/02/04 19:49:33.76 oAeYA3FP0.net
誰かVBAでココア作ってやれよ

566:デフォルトの名無しさん
21/02/04 19:53:24.63 hiF+rUbe0.net
VBAでモバイル向けアプリは不可能

567:デフォルトの名無しさん
21/02/04 20:04:35.91 Gq769HFz0.net
スレチ

568:デフォルトの名無しさん
21/02/04 20:22:03.56 txoKZHIlx.net
>>553
東証一部上場のnot ITな技術職だけど
周りびっくりするほどマクロ使える人居ないよ
スクリプトの存在知ってる人で10人に一人くらい
年齢層高くてWindowsupdateも怖いってな感じな
アナログ昭和な雰囲気が色濃く残る
でも儲かってんだからあんまり気にしないって感じでな

569:デフォルトの名無しさん
21/02/04 21:59:36.09 SP6gWQY80.net
>>566
よその会社がどんなだろうとわしらに関係ないし

570:デフォルトの名無しさん
21/02/05 00:16:00.19 7kBPI4G70.net
HashiCorp の時価総額は5,000億円、GitHub は8,000億円で、
Shopify は15兆円で、
Airbnb は10兆円で、米ホテル大手3社の合計を超える
Ruby on Rails だと、社員1,000人で、1兆円ぐらい行く。
他の言語の10倍ぐらい高い感じ

571:デフォルトの名無しさん
21/02/05 01:22:13.93 iyRthznT0.net
だからなに

572:デフォルトの名無しさん
21/02/05 11:14:22.52 s99X7duh0.net
何かいているんだろうね
誤爆かな

573:デフォルトの名無しさん
21/02/05 19:34:57.84 6dLnjK/10.net
お前が死ぬ?
だからなに?

574:デフォルトの名無しさん
21/02/06 07:31:11.79 h7KDjzAUa.net
たらばがに?

575:デフォルトの名無しさん
21/02/06 10:04:32.10 vJxzd/Np0.net
タラバガニはカニとつくがヤドカリの仲間

576:デフォルトの名無しさん
21/02/06 10:30:51.90 V74K/t/p0.net
前レスにあったVBAでChromeのWEB操作って安定するの?

577:デフォルトの名無しさん
21/02/06 10:31:59.83 V74K/t/p0.net
今流行りのRPAってVBAのsendkeyみたいなもんなのかなー

578:デフォルトの名無しさん
21/02/06 16:20:00.03 Dqii0zXCd.net
>>575
全然違うw
VBAでも同じことが出来るがSendkeys使うのは、かなりレベルが低い。
普通はUIAutomationか古くからのウィンドウハンドルにコントロール毎の個別メッセージ投げる方法。

579:デフォルトの名無しさん
21/02/06 16:31:09.62 V74K/t/p0.net
UIAutomationはじめてきいたよ
検索したら結構すごいな
ありがとうだよ

580:デフォルトの名無しさん
21/02/06 19:33:52.07 fN47MGl7x.net
UIAutomation不安定で使いにくいよ

581:デフォルトの名無しさん
21/02/06 20:06:48.07 V74K/t/p0.net
あ、そうなの
安定は何?

582:デフォルトの名無しさん
21/02/06 20:46:25.88 Ye4r/rjw0.net
Hand

583:デフォルトの名無しさん
21/02/06 21:31:42.19 V74K/t/p0.net
Hand?
検索しても出てこない

584:デフォルトの名無しさん
21/02/06 21:32:07.41 UWEF+xf00.net
手作業って意味では?

585:デフォルトの名無しさん
21/02/06 21:37:41.59 V74K/t/p0.net
えっ!(>@<)

586:デフォルトの名無しさん
21/02/06 21:43:24.63 lh4GrNRq0.net
>>578
自分の技術が未熟なだけだろ。

587:デフォルトの名無しさん
21/02/08 08:31:47.69 3VxmPK6Z0.net
他の言語にはできてVBAにはできないことって何がある?

588:デフォルトの名無しさん
21/02/08 10:21:36.60 Scq1JBqB0.net
環境構築

589:デフォルトの名無しさん
21/02/08 10:40:50.82 +Mz9f4POH.net
>>585
言語も色々あるから、VBA「だけ」にできないことってのは思いつかない
VBA「にも」できない、ならexe化とか色々あるけど

590:デフォルトの名無しさん
21/02/08 11:53:50.27 i/vSXK/G0.net
>>585
Object指向言語で言うところの継承。
VBAにもインターフェース継承と言うものはあるが、
あれはObject指向言語の委譲に当たるので別物。

591:デフォルトの名無しさん
21/02/08 12:19:06.34 dnKpq+Faa.net
>>585
エクセルを使わないで何かする

592:デフォルトの名無しさん
21/02/08 12:48:06.83 qHUCVA4k0.net
>>585
全く出来ないわけじゃ無いけど、実質無理なのはマルチスレッド。
マルチプロセスなら出来るけど。

593:デフォルトの名無しさん
21/02/08 18:11:48.67 p8c3QmB90.net
ブックを閉じるときに、全部のシートでA4、A6、A18、A20、A22のいずれかのセルに値が入っていたら、
シート名の先頭に"済"をつけて、シートを最後尾に移動するマクロを作りたいのですが、Worksheets(ws).Name = "済" & Worksheets(ws).Nameの所で
「実行時エラー13・型が一致しません」になります
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
For Each ws In Worksheets
ws.Activate
If ws.Cells(4, 1) Like "" And _
ws.Cells(6, 1) Like "" And _
ws.Cells(18, 1) Like "" And _
ws.Cells(20, 1) Like "" And _
ws.Cells(30, 1) Like "" Then
Else
Worksheets(ws).Name = "済" & Worksheets(ws).Name
ws.Move After:=Sheets(Sheets.Count)
End If
Next ws
Application.Quit
ThisWorkbook.Close savechanges:=True
End Sub

594:デフォルトの名無しさん
21/02/08 18:14:26.48 NxJgvgy90.net
そりゃ一致しないw
Worksheets(ws).Nameじゃなくて、ws.nameでいけるよ

595:591
21/02/08 18:18:43.05 p8c3QmB90.net
>>592
ありがとうございますm(_ _)m

596:デフォルトの名無しさん
21/02/08 20:35:33.37 zFuXTVqB0.net
wsに何を入れてるか自分でわかってないのでは

597:デフォルトの名無しさん
21/02/08 22:23:33.63 PnrMZIJR0.net
>>594
エラーになってる行以外は正しいからちょっとした勘違いじゃね?
それよりFor Each ... In WorkSheets のループ中にシートの移動とかして大丈夫なんだっけ?

598:デフォルトの名無しさん
21/02/08 22:58:25.06 dqyQLjrK0.net
Like ""じゃなくて.Value <> ""にしてElse消した方が分かりやすいとは思う
まあその辺は好みか

599:デフォルトの名無しさん
21/02/08 23:02:43.36 PnrMZIJR0.net
>>596
> Like ""じゃなくて.Value <> ""にしてElse消した方が
And を Or にするのを忘れてるぞ…

600:デフォルトの名無しさん
21/02/08 23:11:37.90 dqyQLjrK0.net
そんな揚げ足取らんでも

601:デフォルトの名無しさん
21/02/08 23:37:22.94 +Mz9f4POH.net
可読性無視
For Each ws In Worksheets
 with ws
  .Activate
  If .Cells(4, 1) & .Cells(6, 1) & .Cells(18, 1) & .Cells(20, 1) & .Cells(30, 1) <> "" then
   .Name = "済" & .Name
   .Move After:=Sheets(Sheets.Count)
  End If
 End with
Next

602:デフォルトの名無しさん
21/02/08 23:44:11.84 hflY2uffd.net
最近はexcel vbaを淘汰しようとkintoneとかゆうのが台頭してきたな

603:デフォルトの名無しさん
21/02/09 00:16:34.90 WNqxBDcE0.net
>>600
大体今までの経験則から言うと
ノンプログラミングというのは
ろくなことがない。
無理に纏めようとして
歪みが生じて
結局ぐちゃぐちゃになるのがオチ

604:デフォルトの名無しさん
21/02/09 00:29:46.89 eSMVOSkL0.net
>>600
結局、スクリプトとかが必要になる

605:デフォルトの名無しさん
21/02/09 00:46:13.94 zh7tau7O0.net
Select文で求めない条件を並べるのもおすすめ
Select Case Empty
Case ws.Cells(4, 1).Value
....
Case ws.Cells(30, 1).Value
Case Else
Worksheets(ws).Name = "済" & Worksheets(ws).Name
End Select
Case節で分けなくてもカンマで条件を繋げても問題ない
短絡評価にもなる

606:デフォルトの名無しさん
21/02/09 11:57:03.39 RXmZGByb0.net
sagasu= Dir(ThisWorkbook.Path & ”作業ファイル*20210209*”)
Worksbooks.Open(以下略)
みたいな感じで自動でファイルを探してきて開くマクロを作りたいのですが、20210209の部分が常に変わるので、
変数=hizuke(yymmdd、str)を定義したのでこれをDir関数にワイルドカードつきで組み込みたいのですができませんか?
初歩的かもしれませんが検索しても見つからなくて、、、

607:デフォルトの名無しさん
21/02/09 12:24:40.43 3oJYLekcH.net
>>604
sagasu= Dir(ThisWorkbook.Path & "作業ファイル*" & 変数 & "*")
あと、hizukeって関数は自作しなくてもFormatというのがある

608:デフォルトの名無しさん
21/02/09 16:16:16.99 RXmZGByb0.net
>>605
やってみたらできた
ありがとうございます!!

609:デフォルトの名無しさん
21/02/09 17:23:48.59 /LZ4DWEX0.net
いつものあれか

610:デフォルトの名無しさん
21/02/10 01:23:44.62 nFlUbaHj0.net
足し算のできないいつもの人か

611:デフォルトの名無しさん
21/02/10 21:21:46.44 LZ9Af/PB0.net
良かったよ
プロだらけだったらヤバいスレになるw
趣味と後学のために少しずつやっていたら好きになってきた。
仕事で使う機会あまりないわ

612:デフォルトの名無しさん
21/02/12 13:51:51.87 IzjdsqjHM.net
しじいの言う「後学」という単語に哀愁を感じる

613:デフォルトの名無しさん
21/02/12 15:55:10.24 /wh0XpHtM.net
Excelの新機能「Lambda関数」によって「Excelの数式がチューリング完全になった」とナデラCEO。プログラミング言語としてのExcel数式であらゆる計算が可能に
URLリンク(www.publickey1.jp)

614:デフォルトの名無しさん
21/02/12 16:16:26.53 IzjdsqjHM.net
チューリングウイルスに期待

615:デフォルトの名無しさん
21/02/12 17:41:16.52 o9EDytUaM.net
マクロを10個くらいリボンに登録したらVBEがアドインだらけになってワロタ
どうやらxmlを作って一つのアドインとしてまとめて登録するのがセオリーみたいだな

616:デフォルトの名無しさん
21/02/12 20:11:52.96 00Lfe/Nd0.net
>>611
ええええええええええええええええええええええええ
ちょっと驚愕のニュースだ

617:デフォルトの名無しさん
21/02/12 20:13:11.50 00Lfe/Nd0.net
つまりもうマクロを四苦八苦して作る必要はないんだな!?

618:デフォルトの名無しさん
21/02/12 20:18:24.17 00Lfe/Nd0.net
Excelだ
Excelの時代が来る

619:デフォルトの名無しさん
21/02/12 20:22:55.94 eP0byIu+0.net
重さが気になる
便利だけど重くて出来るだけ避けるような関数にならないか

620:デフォルトの名無しさん
21/02/12 20:59:52.79 jxDcSv/l0.net
>>611
よくわからんけどVBA使わなくてもユーザー定義関数が書けるようになったのか?
でもそれだけじゃチューリング完全じゃないよね?
誰が説明してくれ…

621:デフォルトの名無しさん
21/02/12 21:35:08.47 4lNcO7mK0.net
よくわからんがVBA使わないでってことなら
URLリンク(papasensei365.com)

622:デフォルトの名無しさん
21/02/12 22:07:36.71 aXSnuzkq0.net
LAMBDA の発表: Excel の数式をカスタム関数に変換する
URLリンク(techcommunity.microsoft.com)

623:デフォルトの名無しさん
21/02/12 22:29:40.24 aRG7/C7T0.net
よく分からんけどlet使えてことだろ

624:デフォルトの名無しさん
21/02/12 22:35:41.83 jxDcSv/l0.net
>>620
ああ、なるほど名前の一種として関数定義ができるのか
再起を使えばチューリング完全にもなりそうだし、これいいな
ただ、また「(俺が見て)わけのわからん機能は使うな」とか老害に言われるんだろうなw

625:デフォルトの名無しさん
21/02/12 23:02:00.32 82D6PoJM0.net
vbaにLinq付けてくれたほうが喜ばれるぞ

626:デフォルトの名無しさん
21/02/12 23:07:09.02 GpQsWoGq0.net
Lambdaがファーストクラスオブジェクトなら以下のようなscheme風の無限ループも書ける
((lambda (x) (x x)) (lambda (x) (x x)))
VBAの時代は終わるかも

627:デフォルトの名無しさん
21/02/12 23:12:05.58 82D6PoJM0.net
まともなセル内数式エディタは付きますか?

628:デフォルトの名無しさん
21/02/12 23:18:29.37 00Lfe/Nd0.net
恐ろしいことにつくらしい
動画紹介でついてた

629:
21/02/13 01:03:54.87 HkWfV2pEH.net
>>611
その lambda とやらは、不動点コンビネータを記述できるのですか?

630:デフォルトの名無しさん
21/02/13 04:07:19.47 yi//B+MQH.net
セキュリティでVBA禁止にしても、開いた瞬間に固まるブックが簡単に作れてしまうのかな
意図せず無限ループになったらデバッグが大変そう

631:デフォルトの名無しさん
21/02/13 06:10:57.87 qLIOxiK10.net
へー
EXCELでLinqやラムダ式が書けるようになるのか
Linqやラムダ式は.Netでも便利だけど
開発者をふるいに掛けているものの一つだから
理解出来ない脱落者はEXCELやVBAの
開発ですら役立たずの烙印を押される
そんなときが来るなんて夢にも思って無かったな

632:デフォルトの名無しさん
21/02/13 06:48:06.39 qLIOxiK10.net
あ、なんだ
VBAで使えたりLinqが使えるようになる訳では無いのか
あいつら基本レイトバインディングだからトレースするとき慣れてないと分かり辛いんだよな
良かったなお前ら

633:デフォルトの名無しさん
21/02/13 07:44:30.44 PYtZn7CJ0.net
>>628
> セキュリティでVBA禁止にしても、開いた瞬間に固まるブックが簡単に作れてしまうのかな
今でもあるけど計算回数の上限決めて打ち切るでしょ

634:デフォルトの名無しさん
21/02/13 07:56:56.81 IALcuoUI0.net
>>627
URLリンク(www.microsoft.com)
LAMBDA is the true lambda that we know and love
you can define a fixed-point combinator
dekiru

635:デフォルトの名無しさん
21/02/13 11:41:30.80 PelpVnvk0.net
>>611
どんだけ凄いの?
だれか40歳にもわかるように説明して

636:デフォルトの名無しさん
21/02/13 12:21:31.92 PYtZn7CJ0.net
>>633
例えば、A1, B1, C1セルの中身をカンマで繋いでD1に格納したい
その際セルが空なら"[空だよーん]"ってしたいとするでしょ
今までは
D1: =TEXTJOIN(", ", FALSE, IF(A1 = "", "[空だよーん]", A1), IF(B1 = "", "[空だよーん]", B1), IF(C1 = "", "[空だよーん]", C1))
って似たようなIF式を何度も書く必要があったけどLAMBDA使えたら
f: =LAMBDA(x, IF(x = "", "[空だよーん]", x))
って定義しておけば
D1: =TEXTJOIN(", ", FALSE, f(A1), f(B1), f(C1))
って書ける
さらに課長に"[空だよーん]"とかふざけんな、"[空でございます]"にしろって言われてもLAMBDAの1箇所を直すだけで済む

637:デフォルトの名無しさん
21/02/13 12:41:35.80 BN4b1mTrp.net
>>633
40のお前がバレンタインデーでチョコ貰えるくらい凄い

638:デフォルトの名無しさん
21/02/13 12:49:30.81 PelpVnvk0.net
>>635
(>_<)\

639:デフォルトの名無しさん
21/02/13 14:07:20.92 IALcuoUI0.net
ただの関数定義じゃないか
それで十分だった気はするが

640:デフォルトの名無しさん
21/02/13 15:14:43.31 wz9KaBQo0.net
VBAに影響ほとんどなさそう
一発でピボ集計とかシート挿入とかに関係ないし

641:デフォルトの名無しさん
21/02/13 15:33:24.19 QpeYGISo0.net
と言うかラムダ式書けるなら、ついでにセル内でも数式の改行とインデントができるようにしてくれればよかったのにな
Excel職人のIFだらけの数式を読むのがまずキツイんだは

642:デフォルトの名無しさん
21/02/13 15:40:56.55 jHG+5C+w0.net
セルで分ければいいんだけど一つの数式にまとめられるのがすごいと思ってるからな
まあ自分もそうだったけど

643:デフォルトの名無しさん
21/02/13 17:28:35.52 VP7xI/GI0.net
単に複数セル使うのが嫌なだけってのが多いように見える

644:デフォルトの名無しさん
21/02/13 18:42:07.48 yi//B+MQH.net
まとめて印刷とか名前を付けて保存みたいな手作業を置き換えるVBAはなくならないかな

645:デフォルトの名無しさん
21/02/13 19:19:56.21 PYtZn7CJ0.net
>>639
> セル内でも数式の改行とインデントができるようにしてくれればよかったのにな
それ昔からできるぞ…
URLリンク(www.becoolusers.com)

646:デフォルトの名無しさん
21/02/13 19:28:08.81 jHG+5C+w0.net
営業の要ミーティング恐い((((;゚Д゚)))))))

647:デフォルトの名無しさん
21/02/13 21:29:40.36 T3s5Sft8d.net
>>639
普通にやってるけど。
読むのキツイんだろ。

648:デフォルトの名無しさん
21/02/13 21:48:38.47 wz9KaBQo0.net
うかる!って、説明ヘタだね…

649:デフォルトの名無しさん
21/02/13 22:16:40.52 OlVotr6u0.net
職場にIf and orの職人がいるオレに謝れ

650:デフォルトの名無しさん
21/02/13 23:44:53.12 29TtheM20.net
んー? 今までセル内の数式って受身の動きだったけど
それ実装すれば自発的に動けるようになるってこと?

651:デフォルトの名無しさん
21/02/14 00:40:24.25 X0FsHGir0.net
>>643
まじか、しらんかったわ
勝手にスペース削られたりするもんだと思ってたわ。。

652:デフォルトの名無しさん
21/02/14 00:53:19.53 D24G58JB0.net
>>648
自発的には動かないよ
今まではVBAでしかユーザー定義関数は作れなかったけどVBA使わなくても作れるって言うだけ
ただマクロを有効にする必要がないから実務としてはそれなりに意味はある

653:デフォルトの名無しさん
21/02/14 00:53:54.05 D24G58JB0.net
>>649
まあ俺もつい1年ぐらい前に知ったんだけどw

654:デフォルトの名無しさん
21/02/14 05:33:27.25 8cTA8eHd0.net
それよりかパイプライン演算子を実装して欲しい
ラムダ関数はその足掛かりな気もするけど

655:デフォルトの名無しさん
21/02/14 08:25:32.74 0LuW/JvdM.net
セルの書式を調べる関数はよ

656:デフォルトの名無しさん
21/02/14 09:01:53.08 D24G58JB0.net
>>653
Cell("format", a1) じゃ駄目なの?
URLリンク(dekiru.net)

657:デフォルトの名無しさん
21/02/14 09:44:10.83 9bE5PNm50.net
EXCELって意外と古いの使ってたりするから受け渡しがどうかな

658:デフォルトの名無しさん
21/02/14 09:46:12.37 HYvJ8gAi0.net
>>652
一部がダメ文字の文字コード

659:デフォルトの名無しさん
21/02/14 10:33:56.69 ccxL17vjM.net
>>654
ああごめん
表示形式以外の書式ね
色とかフォントとか罫線とか

660:デフォルトの名無しさん
21/02/14 10:46:19.10 IPhvN32f0.net
もしかして >>653
データの「表示形式」だけでなくて
フォントや横位置/縦位置、塗りつぶし、罫線なんかの戻り値が欲しいのかしら?

661:デフォルトの名無しさん
21/02/14 10:47:17.03 IPhvN32f0.net
ありゃ。本人からの返事の方が早かった

662:デフォルトの名無しさん
21/02/14 11:28:53.22 D24G58JB0.net
>>657
4.0マクロ関数でどうぞ
URLリンク(blog.goo.ne.jp)

663:デフォルトの名無しさん
21/02/14 16:36:27.43 W30Sj/2D0.net
VBAはSelectのCaseで、False,Empty,Nullあたりが同一判定されて、個々に行えないのがクソ

664:デフォルトの名無しさん
21/02/14 17:23:19.56 D24G58JB0.net
>>661
VarTypeも知らない僕はアホです
っていうカミングアウトか?

665:デフォルトの名無しさん
21/02/14 19:08:55.75 hT3ZVIIc0.net
ねこ

666:デフォルトの名無しさん
21/02/15 11:39:26.92 S0ZRmbKV0.net
DIR関数を利用して以下のりようなロジックを見たのですが、
foldercheck = (Dir(wrkpath, vbDirectory) <> "")
()の中のロジックはどのような技法なんでしょうか
if Dir(wrkpath, vbDirectory) <> " then

667:664
21/02/15 13:15:47.99 S0ZRmbKV0.net
URLリンク(docs.microsoft.com)
Dim MyResult, Var1, Var2
MyResult = (45 < 35) ' Returns False.
MyResult = (45 = 45) ' Returns True.
自己解決しました。上記と同じなのですね。お騒がせしました。

668:デフォルトの名無しさん
21/02/15 19:45:33.20 olEKN+utr.net
フォルダへの書き込みのアクセス権をチェックするようなサンプルないですかね。

イメージとしてはフォームのフォルダ選択ボタンを押して選んだフォルダが書き込みできなければ選んだ時点でそういうメッセージを出したい。このあとアウトプットフォイルを書き込む際にエラーが出る前に

669:デフォルトの名無しさん
21/02/15 20:10:33.97 xaJaofAeH.net
>>666
まじめにやるならGetFileSecurityとGetAclInformationを使う
もっと簡単にやりたかったら、ダミーのファイルを1つ作ってみてOn Errorでエラーになったかどうか判定

670:デフォルトの名無しさん
21/02/15 20:15:42.96 nKU68rXI0.net
FSOのGetFileでフォルダーを取得して
Attlibutesプロパティ見ればいいんでないかな

671:デフォルトの名無しさん
21/02/15 20:16:42.83 nKU68rXI0.net
>>668訂正
GetFile → GetFolder
だった

672:デフォルトの名無しさん
21/02/15 20:30:32.32 btvLdCUB0.net
>>668
いいわけないだろw
そもそもフォルダのR属性は他の用途に使われている

673:デフォルトの名無しさん
21/02/15 22:00:51.83 iJ9piVTy0.net
普通にicacls呼べばいいじゃん

674:デフォルトの名無しさん
21/02/15 22:59:53.76 R4sT9O4+0.net
>>662
いや、それだと0と1がIntegerとしか返ってこないし、
TrueとFalseもBooleanとしか返ってこないから判定できないだろ。バカかお前?

675:デフォルトの名無しさん
21/02/15 23:48:13.25 yTkZToOt0.net
isnullはあったよなたしか

676:デフォルトの名無しさん
21/02/16 02:55:26.52 nbeJO0KhM.net
CSV形式で保存する前に、Serial値の表示形式をyyyy/m/dにマクロから変更して
保存してからその後開くと、"1/1/2020"とか意味分からんStr型になっちゃうんだけど、
誰か分かるひといる?
csvを取り込むソフトがどうしてもこの表示形式に変更しないと、うまく取り込めない謎仕様なんだ。
ちなみに、いったん保存してから開いてやってもダメだった。
(もちろん、手作業で開いて表示形式変更したらバグらないんだけど・・・)
rngObj.NumberFormatLocal = "yyyy/m/d"

677:デフォルトの名無しさん
21/02/16 07:43:45.82 +oOyZ54g0.net
>>672
型を判定してから値を判定すりゃいいだけだろ
応用力ないのか?

678:デフォルトの名無しさん
21/02/16 10:30:54.61 OCcCJKsW0.net
整数の1と小数の1.0だと値(バイナリ)が違うって知ったら狂いそうだな

679:デフォルトの名無しさん
21/02/16 11:04:29.70 +oOyZ54g0.net
>>674
いま手元にExcelないから確認できないけど
rngObj.NumberFormat = "yyyy/m/d"

book.SaveAs …, Local:=True
に、してみたらどうかな

680:デフォルトの名無しさん
21/02/16 11:41:24.25 XpWP4Lg+0.net
2021/2/15 6:43
みたいに、時間が入ったセルの、
日付の部分
だけ変えたいんですがやり方がわからないです
セルの日付(2021/2/15)を変数で定義して、新たな日付(2021/2/16)の変数も定義して
replace(セルの位置,セルの日付,新たな日付)
で入れ替えようとすると型が合わないって出てしまうのですが
どうすればいいでしょうか?

681:デフォルトの名無しさん
21/02/16 11:56:30.35 S5ddSisTa.net
>>678
もしかして変数で定義してる型がDateだったり?

682:デフォルトの名無しさん
21/02/16 11:58:31.61 XpWP4Lg+0.net
>>679
dateとstring両方試しました

683:デフォルトの名無しさん
21/02/16 12:13:25.96 9n1pp/97M.net
CStr(Format(a,″yyyy/m/d“))

684:デフォルトの名無しさん
21/02/16 12:24:02.20 XpWP4Lg+0.net
すいません自己解決しました
変数の定義がおなしかったみたいです

685:デフォルトの名無しさん
21/02/16 13:04:12.03 nbeJO0KhM.net
>>677
いけましたサンクス!!!

686:666
21/02/16 19:15:33.72 +pX1epGPr.net
遅くなりましたが、結局Dummyファイルの書き込みにしました。アドバイス頂いた方ありがとうございました。

687:デフォルトの名無しさん
21/02/16 21:00:08.21 PQjj23xSa.net
スミマセン、セルの特殊な機能だと思うのですが、
セルにポインタを合わせると、セルの外側右下に小さな▼が出現、
▼を押すとセルの下に小さなウィンドウが展開し、羅列された文字や数字を選択できる。
上記機能の名称とは何なのか、
どこでイジれるのか、作成できるのか等わからず困ってしまいました。
機能が生きているセルもありましたため、
新規で作成せずともその機能をコピーしようともしましたが方法わからず。
お詳しい方いらっしゃいましたら
お力添え願いたいです。
失礼します。

688:デフォルトの名無しさん
21/02/16 21:24:43.99 kmFmEkS70.net
VBAとは関係なく
「セルの入力規則」から「リスト」を選択してあとは適宜
詳細は上記キーワードで検索して

689:デフォルトの名無しさん
21/02/16 22:46:03.00 g3oiZXVYr.net
教えていただけると助かります。
VBAでIEからExcelに文章を写したいです。
アクティブなIEからカーソルで範囲指定して、その内容を写すことは可能なのでしょうか?
例えば、ヤフーで気になる記事の内容だけをコピペといった感じです。
気になるものだけなので、検索を入れ込む必要はないです。
IEとYahoo起動まではできるのですが、その先が分かりません。
よろしくお願いいたします。

690:デフォルトの名無しさん
21/02/16 23:02:29.70 LtHH0x/40.net
それ手動でコピペしたほうが早いんじゃね

691:デフォルトの名無しさん
21/02/16 23:41:10.89 5LT5VcGn0.net
気になる記事の条件は?
それを自分で判断するなら>>688が正解だと思うが

692:デフォルトの名無しさん
21/02/17 09:01:14.53 tQXaEzsv0.net
>>687
ちったぁググれ
URLリンク(konowaza.com)

693:デフォルトの名無しさん
21/02/17 10:16:38.01 vOoN+LpT0.net
>>690
優しすぎる

694:デフォルトの名無しさん
21/02/17 12:53:19.33 3Z4/s25m0.net
>>686
ありがとうございますm(_ _)m
トライします。

695:デフォルトの名無しさん
21/02/17 12:57:54.00 quEf8nPTr.net
いえいえ

696:デフォルトの名無しさん
21/02/17 12:59:55.94 Mp3MtPnAH.net
クリップボードを監視して、新しいデータがコピーされるたびに保存してくれるアプリとか使えばいいんじゃない?
いちいちウィンドウを切り替えたりペーストしなくていいやつあるだろ

697:デフォルトの名無しさん
21/02/17 15:46:44.57 i293dZUhd.net
>>686
機能が生きているセルを上記指南で解析し、
貼り付けで解決しました!
助かりました。
ありがとうございました!

698:デフォルトの名無しさん
21/02/17 22:01:12.58 YnE2/fOB0.net
最終列までコピーをしたいんですがエラーを繰り返しなかなか実現できません…
例えばA3セルがデータの始まりでA7セルが最終列の場合、以下の文になるかと思いますRange(“A3:A7”).copy
ただ、半年に一度最終列が一列追加になるので、メンテナンスしなくていいように上の文のA7の部分が最終列になるようにしたいです
この場合何かいい方法はあるでしょうか

699:デフォルトの名無しさん
21/02/17 22:41:15.13 FtApzB1S0.net
行じゃなくて列?

700:デフォルトの名無しさん
21/02/17 22:42:03.66 tZ0yQ1Z/0.net
オーソドックスなのはこれだけど、物凄い珍回答を聞いてみたいわ
Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row).Copy

701:デフォルトの名無しさん
21/02/17 22:45:44.66 LXOFF6tt0.net
>>696
last_row = Sheet1.UsedRange.Row + Sheet1.UsedRange.Rows.Count - 1
last_col = Sheet1.UsedRange.Column + Sheet1.UsedRange.Columns.Count - 1
Debug.Print "A3:" & Sheet1.Cells(last_row, last_col).Address(RowAbsolute:=False, ColumnAbsolute:=False)
こんなん?

702:デフォルトの名無しさん
21/02/17 22:46:54.85 bJ7UNxEFr.net
>>690
ありがとうございます❗
探してたものに出会えました。
ググってはみたんですが、このサイトには巡り会えなかったので、本当に助かります。
やってみたら、思う結果になりました。
ありがとうございました。

703:デフォルトの名無しさん
21/02/17 22:47:30.28 YnE2/fOB0.net
行じゃなく列です
最終列が半年に一回追加になるのです…

704:デフォルトの名無しさん
21/02/17 22:50:45.05 YnE2/fOB0.net
>>697
ごめんなさい、最終列の話だったのでA3セルからD3セルをコピーする場合、以下になるんでした
Range(“A3:D3).copy
今はD3が最終列ですが、半年後にはD3が最終列になるイメージです

705:696
21/02/17 22:51:42.12 YnE2/fOB0.net
何度も間違えてすみません…
今はD3が最終列ですが半年後にはE3が最終列になるの間違いでした

706:デフォルトの名無しさん
21/02/17 22:55:52.03 X7VrF3DN0.net
最終列取得の仕方調べないの?

707:デフォルトの名無しさん
21/02/17 23:06:07.99 FtApzB1S0.net
Range("A3").CurrentRegion.Copy

708:デフォルトの名無しさん
21/02/17 23:08:53.17 ooyd3US+0.net
ColLst = Sheet1.Сells(3,Columns.Count).End(xIToLeft).Column
Range(Sheet1.Cells(3,1),Sheet1.Сells(3,ColLst))
みたいにケツのColumnIndexを可変化させりゃええ
指定範囲より右側にコメントが入るのであれば別の方法を考える必要があるけど

709:デフォルトの名無しさん
21/02/17 23:09:11.52 LXOFF6tt0.net
CurrentRegionは使えそうで使わない

710:デフォルトの名無しさん
21/02/17 23:16:43.14 FtApzB1S0.net
UsedRangeだって使うの怖ない?
どっかにドットあるだけども持ってかれる

711:デフォルトの名無しさん
21/02/17 23:18:02.78 tZ0yQ1Z/0.net
これってやり方は何通りかあるけど、
どの状況でも使える完璧なのが無いよな
一見よさげなUsedRange.Find法とかも、
検索と置換の状態が変わっちゃうし

712:デフォルトの名無しさん
21/02/17 23:21:06.27 LXOFF6tt0.net
ちゃんとやりたい場合列のヘッダの名前の有無を確認とか意味解析するしかないよ

713:デフォルトの名無しさん
21/02/18 00:18:06.29 ZQty99yr0.net
vbaしかつかえないうんちなんだけど、ダイアログに変数名入れたら、その名前を反映させた定型コード作ってくれるような支援ソフトないの?
たとえば、Dim var: var= xとかFor i=LBound(arr) to UBound(arr)とか。いちいちめんどい。
cliborはつかってる。スレチだったらすまそ。

714:デフォルトの名無しさん
21/02/18 02:16:18.22 QcGF+jUk0.net
それこそ自分で作れよ
自分だけにに都合よく自動化したいならそれしかないだろ

715:デフォルトの名無しさん
21/02/18 08:21:36.53 sd++046d0.net
>>711
そういうの別言語だと見たことあるけど
VBAでは諦めた方がいいんじゃないかなぁ
URLリンク(mobile.twitter.com)
こういう奴でしょ?
(deleted an unsolicited ad)

716:696
21/02/18 08:30:28.40 0xKDo7Uv0.net
最終列の取得をしてコピーしたいと申した者です
具体的には2シート目以降のC8セルから最終列までコピペしたくこのような文を書いてました
Maxcol = Worksheets(1).Range(“C8”).End(XlToRight).Column
For i = 2 To Worksheets.Count
Worksheets(i) = Range(Cells(8,3), Cells(8, Maxcol)).Copy
Worksheet(1).Cells(Maxrow,1).PasteSpecial Paste:=xlPasteValues
Maxrow = Maxrow + 1
Next i
上には書いていませんがMaxRowで最終行していて、1シート目の最終行にペーストするイメージです
このとき以下の箇所でエラーになりました
Worksheets(i) = Range(Cells(8,3), Cells(8, Maxcol)).Copy

717:デフォルトの名無しさん
21/02/18 08:31:50.99 cssKdxraM.net
>>713
やっぱVbaだと厳しいか、、、別言語だとこんなのあるんだな!ありがとう。

718:696
21/02/18 08:45:37.53 0xKDo7Uv0.net
解決しました…
Rangeの中にCellsを入れる際はCellsの方にもワークシート名を記載してあげなければいけなかったんですね…
お騒がせしました

719:デフォルトの名無しさん
21/02/18 10:27:10.11 4sNPnSsIM.net
4点指定でrange作れればいいのにね

720:デフォルトの名無しさん
21/02/18 13:38:16.10 EVRbmhyV0.net
>>717
まあ、
Sheet.Cells(開始行, 開始列).Resize(行数, 列数)
もしくは
Sheet.Cells(開始行, 開始列).Resize(終了行 - 開始行 + 1, 終了列 - 開始列 + 1)
ってやるだけだし

721:デフォルトの名無しさん
21/02/18 17:41:06.06 Khd0zmwWM.net
>>714
これで動くのか
それならまあいいけども

722:デフォルトの名無しさん
21/02/18 20:47:31.34 Sdz2Rpjn0.net
コンパイルしたときに「ユーザー定義型は使用できません」といったようなエラーが出るのですが、
エラー箇所が選択されず特定できません。
ググってみたのですが「関数を一個ずつ切り貼りしながらコンパイル」的な記事しかなく、
結構大きなプロジェクトファイルになってしまっていて現実的ではありません。
原因って何が考えられますでしょうか。

723:デフォルトの名無しさん
21/02/18 21:08:20.83 QcGF+jUk0.net
情報が少なすぎるだろ
で、ユーザー定義型を使ったの?

724:デフォルトの名無しさん
21/02/18 21:48:45.33 sd++046d0.net
>>720
VBAでは珍しいかも知れないけど
VBSではよくある話
実行前コンパイルの概念がないからね
別に1関数単位で抜かなくても
纏めてごっそり抜いてみて
エラーが発生しなくなったら
残った部分には原因がなくて
抜いた部分に原因があるんで
まずそうやって切り分ける
抜いた部分から半分くらい戻してやって
またエラーが起きないか確認するのを
繰り返して行く内に
原因の可能性がある範囲はどんどん狭まるんで
そうやって確認して行く

725:デフォルトの名無しさん
21/02/18 21:52:25.45 sd++046d0.net
原因として考えられるのは
ない型を指定した場合なので
型宣言の書き間違えとかかな

726:デフォルトの名無しさん
21/02/18 21:59:48.04 Sdz2Rpjn0.net
>>721
使ってます。
また、クラスモジュールやライブラリも沢山使ってます。
以前なら間違っている名前の箇所が選択されるので、直ぐに原因が特定できたのですが・・・
>>722
今、出来る範囲でモジュールを解放・インポートを繰り返して検証して見たのですが、
フォームモジュールのいくつかが原因の様で、これらを抜くとコンパイル(実行前コンパイル)が成功します。
ただ、その原因と思われるモジュール内の全てのコードを削除しても同じエラー発生します。
意味が分かりません・・・

727:デフォルトの名無しさん
21/02/18 22:36:52.79 Xk2lzcuAM.net
フォーム内のエラーはフォーム呼び出しコードが選択されるから、F8の手押し連打で進めて行けばエラー箇所で止まるんじゃね

728:デフォルトの名無しさん
21/02/18 23:05:06.07 jY4O/2kG0.net
いつもの人っぽいけど、クラスモジュールでエラー止める設定すれば分かるかもしれん

729:デフォルトの名無しさん
21/02/18 23:14:40.89 Oj+90OvE0.net
>>726
シートに書くとエラーの場所がわからないから標準モジュールに書け、
なんて書いてるサイトがあって、その解決策しばらく気づかなかったわ

730:デフォルトの名無しさん
21/02/18 23:38:17.80 chyUcvsN0.net
ズボラせず1個ずつちゃんと調べなよ

731:デフォルトの名無しさん
21/02/19 00:07:23.60 3RXIcFsGH.net
DimとかConstとかでタイプミス
SubやFunctionの宣言部でもよくある
Visual StudioでVB.netプロジェクトを作ってコピペで発見できる場合もある

732:デフォルトの名無しさん
21/02/19 03:59:43.95 fFtIagGX0.net
>>725,726
実行時例外じゃないです。
>>728
>>724の通り、発生元と思われるモジュール内コードを全て削除しても発生し、
モジュール自体を解放すると発生しなくなるため悩んでいます。
私も一個づつ調べたいのですが、もはや調べ方も分からない状況です・・・。
>>729
宣言文のタイプミスでも、通常はエラーが発生すれば原因箇所が選択(反転)されると思いますが、
今回はそのエラー箇所の選択がなく困っています。
vscodeですがVB.netプロジェクトへのコピペもやってみましたが、
関係のないエラーや注意が大量発生して特定困難でした。
というか互換性ないと聞いたのですが・・・

733:デフォルトの名無しさん
21/02/19 04:14:33.39 fFtIagGX0.net
お礼言うの忘れてました。
沢山回答ありがとうございます。
些細な事柄でも気になる点があればレス欲しいです。
一応質問内容をまとめます
・エラーが発生しているのはコンパイル時です
・通常あるエラー発生箇所の選択がされません(この「発生個所が選択されないという現象」自体の原因も調べています)
・原因と思われるクラスモジュールを解放すると発生しなくなります
・しかし、そのモジュール内のコードを消すだけでは引き続き発生します

734:デフォルトの名無しさん
21/02/19 05:06:58.61 UOwA+kJV0.net
なるほど
つまりVBAのコード側の問題ではないと
詳しい状況が分からんから何とも言えんけど
考えられる状況としては
・ファイルがぶっ壊れてる
・フォーム側に使ってるバージョンにそぐわないオブジェクトが設定されている
・使ってるバージョンにそぐわないAPIとかが使用されている
・何か変な参照設定切ってそれを使ってる
とかじゃない?
クラスとかライブラリ(何をもってライブラリと言ってるのかは分からんけど)使ってて
結構大きなプロジェクトファイル使ってると言うなら
元々動いてたものだったと思うんだけど
今改修を掛けているものが同じ環境下(EXCELのバージョンとか使ってるならランタイムとかが同じ)
で動くか確認した方がいいんじゃないかと思うよ

735:デフォルトの名無しさん
21/02/19 05:44:12.15 6sfyeCMi0.net
>>731
クラスモジュールを開放したあと、同名のクラスモジュールを空で新規追加したらどうなるの?
そのクラスモジュールの名前は何?

736:デフォルトの名無しさん
21/02/19 14:25:58.33 fFbWPHDZ0.net
ユーザ定義型は定義されていません

737:デフォルトの名無しさん
21/02/19 21:58:08.64 p5a0AjpTa.net
>>724
インポートとかすると改行や全角空白、タブ、eofとかがおかしいのが入ることあるよ

738:デフォルトの名無しさん
21/02/19 23:14:07.14 FBAC49/30.net
ぶっちゃけ原因不明でコードを新規ブックにそのままコピペしたら動いたってのは何度かあった
理由がわからんだけだったのかもしれないけど

739:デフォルトの名無しさん
21/02/20 00:17:20.20 /mom05J70.net
怪しい辺りを切り取り貼り付けで直るパターンもあった

740:デフォルトの名無しさん
21/02/20 02:39:20.18 exEQDxd80.net
エクスポートして新規ブックでインポートしてどうなるか試せ
そのクラスモジュールとやらをどっかに張ればなんかわかるかもしれん


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch