Excel VBA 質問スレ Part61

■ このスレッドは過去ログ倉庫に格納されています
2019/04/25(木) 23:41:03.61ID:rni/4bMj0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part60
https://mevius.5ch.net/test/read.cgi/tech/1552736349/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2019/05/22(水) 09:41:17.90ID:5+y7OppMM
=A2-A1
2019/05/22(水) 09:43:43.65ID:ogyeLG/uM
演算あり値コピーの話?
2019/05/22(水) 09:52:11.18ID:AHnUJ8Jk0
いやセル番地じゃなくて値を数式に代入したい感じです
たとえばA1セルに2,134という数字が入ってた場合に
=A2-2,134 という数式をどっかのセルに代入

A1セルが387だとしたら
=A2-387

説明下手糞で申し訳ないです
2019/05/22(水) 09:54:20.78ID:hC9fKDDe0
>>300
書いている意味がよくわからんど
セルに式でも値でも代入できる
ただ、乱数は曲者で常に変わるから
もう少しやりたいことを具体的に書き込もう
2019/05/22(水) 10:00:56.85ID:hC9fKDDe0
>>303
乱数は曲者で
A1セルが387だとしたら
=A2-387
ほかのセルに「=A2-387」を入れた時点でA1セルは変わるから
もう少し何をしたいのか書くように
2019/05/22(水) 11:59:27.46ID:zi+TqRd2r
そもそも数式はスレ違いだろ
VBA関係ないならどっかエクセルの使い方の板かスレかさがせ
2019/05/22(水) 13:17:58.06ID:/GezpU1zp
>>305
A1セルの乱数結果が現時点で387だとしたら
変数(仮にrとする)に、387を格納して
ほかのセル(仮にB1とする)に"=A2-r(中身387)"を入力したいって事?

それなら確かに関数じゃできないよね
2019/05/22(水) 13:58:22.19ID:WDej9GuM0
>>303
Range("C3").Value="=A2-" & Range("A1").Value
じゃ駄目?
2019/05/22(水) 16:05:46.41ID:hC9fKDDe0
>>307
それに意味あると思えない、乱数なんてふつうは仕事に使わない
例えば、学校の先生あたりが、引き算足し算などの問題を自動的に作りたいとか
であれば、A列に乱数1の結果をB列に乱数2の結果を
C列に計算式を、D列に回答をで別シートなどで問題文を作る
このぐらいだな
2019/05/22(水) 18:12:45.70ID:j7jZt3jJM
説明下手糞ってレベルじゃねぇぞ…
2019/05/22(水) 18:48:51.39ID:RRuRLAJCM
>>309
ちょっとしたシミュレーションで使うかもしれない。(Excelでやるとは言ってない)

>>302じゃダメなの?
2019/05/22(水) 19:16:53.47ID:CZzIGWUTM
>>311
ちょっとしたシミュレーション・・無いだろ
この文書力だとセルに入れたい式って
計算式の文字列かもしれん
2019/05/22(水) 22:59:24.50ID:bxcYYOqD0
もうあれだ。
ここは、何の用途に使うのか当たられたやつが優勝スレにしよう。
2019/05/22(水) 23:13:17.16ID:K7mhmRd90
完全乱数を使って円周率の計算をする
2019/05/23(木) 07:43:57.81ID:mLR+BkfhM
別に用途は何でもいいさ
興味ゼロってわけじゃないけど
2019/05/23(木) 10:22:05.81ID:WDXUv9KM0
こっちで作って欲しいと言われたものをつくってると
そんなもの作られたら困る
楽になって人が減らされると困る、と古参がちくちく
この古参、自分の作業を楽にしたい時には
これがもう偉そうな態度で、「作らせてやる」とでも言わんばかりに頼んでくる
どうしたいんよもう

っていうことないっすか

もう面倒なんで職場で作るのやめようかな
すんません落書きしちゃって
2019/05/23(木) 10:56:07.55ID:cSCM+dO10
厚労省で配布されている
https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/000116890_00001.html
にある
https://www.mhlw.go.jp/content/10900000/000494621.xlsm
なんだけど、内容は単純で

1件いくらの検査があって、件数を入力すれば請求書が作成されるというもの
1シート=1自治体なので、複数の自治体へ請求する場合は、ユーザーがシートコピーして作る
VBAで各シートを集計して総括表に転写する

なんだけど、VBAみて
変数が多すぎてコーディング中に間違えても気づかんだろってのと
引っ張ってくるセルをConstで決め打ちしてるけど
これ後のメンテナンスでセル一個挿入することになったら修正大変やん と思いました。

というか、エラーメッセージの所で間違えて
行を表示すべきところを列表示しているけど
これこそ変数多すぎて分かりにくくした事が原因だと思います。

じゃあどうする、と言われたらみなさんならどうしますか?

同じ形の複数の2次元の表を合計するだけなんだから
スタート地点とゴール地点決めてやって
後はずらしていけばいいやんと思うのですが

後、小数とか負の値ぶっこんでも動作するのはモヤモヤするんだけど
まぁこの辺やりだしたらキリがないので使わせる相手によってどうするかは変えますかね
2019/05/23(木) 11:43:15.47ID:mLR+BkfhM
>>316
義務教育でプログラミングを扱うようになって、自分の仕事くらい自分でプログラミングできないようでは大変な事になるよ、
と教えてやればいい。
もしかしたら「手下にプログラミングさせればいい」と勘違いするかも知れないが、
それでは通用しないよと言ってやろう。

こういう話もあるし
https://lite.blogos.com/article/376203/
2019/05/23(木) 16:11:36.77ID:hFcQqqxb0
>>316
ただ単純に業務全体を見ずに作るから役に立たないんだよ
業務に対して目的と効果を文書ではっきり示せば古参の意見を聞かなくていい
2019/05/23(木) 16:13:59.49ID:X/3FpVKz0
>>316
その古参の上司に報告しろ
2019/05/23(木) 16:14:38.98ID:hFcQqqxb0
>>317
すまん、リンク先を読む気もしない
2019/05/23(木) 17:56:30.55ID:pyUsEGpsM
>>317
べき論の先には「VBAを使うのをやめるべき」という結論しかないから不毛よ
俺ならどうするか?下請けに丸投げして終わりだよ
2019/05/23(木) 19:35:05.76ID:QGT5qlDg0
>>318
>義務教育でプログラミングを扱うようになって、自分の仕事くらい自分でプログラミングできないようでは大変な事になるよ
脅かすことでプログラミングができるようになるとはおもいませんが…
プログラミングって極めて創造的な作業ではないでしょうか、似たようなものは数学の証明問題だと思いますが証明問題を脅かして解けるようになるとは思えません
2019/05/23(木) 20:39:50.63ID:X/3FpVKz0
機械学習やweb系ならともかく、
VBAレベルなら極めて事務的な仕事だろう。どこにも創造性なんて無いよ
ルーチンワークを自動化させてるだけ
2019/05/23(木) 20:58:31.34ID:QGT5qlDg0
>>324
でもそのルーチンワークを実際に記述するとなると一本道というわけにはいかないでしょう?
論理的な一貫性を維持しながらしたいことを記述するのは、いわれているほどやさしい仕事ではない
2019/05/23(木) 21:06:10.14ID:X/3FpVKz0
>>325
一本道だよ、全然難しくない
強いて言えば例外を先に全部列挙した上でシステムに放り込むという順序の変更がある程度

面倒なのは仕様変更と、使いにくいというオバハンの嬌声。オバハンにalt+F8は覚えさせたけど、まぁそれぐらい
2019/05/23(木) 22:12:48.96ID:0Fgm70+GM
まあ、自己満足で終わるなら簡単だな
おばはんにも満足いくように作るんだよ
2019/05/23(木) 22:27:50.56ID:49rcJhkB0
>>317
コンスト過ぎてワロタ。
2019/05/23(木) 22:55:08.55ID:EGX4zlJj0
>>323
それもそうだが、その老害を大人しく
させることができれば上出来と考えた
2019/05/24(金) 01:42:55.95ID:9kKOGm+S0
Excel2016にてpersonal.xlsbに「保存せず閉じて開き直すマクロ」を作ったところ挙動が変です

Sub ReOpen()
  Dim wb As Workbook
  Dim path As String
  Set wb = ActiveWorkbook
  path = wb.fullName

  '※1
  If MsgBox("本当に変更を取り消しますか?", vbYesNo) <> vbYes
    Exit Sub
  End If

  wb.Close(False)
  Application.Wait([Now() + "00:00:01"])

  '※2
  Workbooks.Open(path)
End Sub

このマクロ自体は動くのですが、※1のIf〜EndIfを消すと※2のOpen実行直後にExcelが通知無く落ちます
また、※1※2を両方消してマクロ実行した後、手動でブックを開き直すとやっぱりExcelが落ちます

対象のブックはフォームやマクロを含んだ3MB程度のxlsmファイルです
MsgBox出さないだけでなぜ不安定になるのか、思いつく原因を教えて頂けると幸いです
2019/05/24(金) 01:44:27.87ID:9kKOGm+S0
あ、Ifの末尾のThen忘れたので脳内で補完してください
2019/05/24(金) 06:40:29.33ID:/lvzTPqGM
>>331
ハイ イイエ が逆なのも利用者が自動変換するんですね
2019/05/24(金) 06:54:20.73ID:/lvzTPqGM
>>332
すまん、継続がキャンセルか
2019/05/24(金) 09:59:52.88ID:RAYiE+wA0
>>330
2019で試したけど落ちなかった
> Application.Wait([Now() + "00:00:01"])
これを抜いても同じ

カンで答えると、再計算が邪魔してるような気がする

・一度再計算や描画、イベントを切ってみてはどうかな
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

・あとはこの部分のウェイトをもう少し長くする
>Application.Wait([Now() + "00:00:01"])

・まっさらなブックで試してみる
2019/05/25(土) 07:54:51.56ID:TRopVMeK0
アドインって、ファイルを閉じたら、
一緒に閉じられるものだと思ってたけど、
VBA実行中は残るということか。
一緒に閉じられたら、途中で止まっちゃうからな。
2019/05/25(土) 08:55:38.15ID:nkVbmNSl0
vba実行中というかずっと残るっぽい
2019/05/25(土) 09:55:42.63ID:wPp02VNQ0
エクセルの機能に追加してるからな
アドイン使ったファイルをアドインがないエクセルで編集すると壊れるよね
2019/05/25(土) 10:07:50.37ID:wPp02VNQ0
>>330
経験上納得できない動作をするときは何か見落としているところがある
step実行で場所特定して、各変数の値が壊れてないか確認
イミディエイト画面で入力してみるなど
2019/05/25(土) 10:14:01.11ID:D2XIJyZK0
Excelに限って言えば、Excel自体に変な仕様が多い
これが男を惑わせる
2019/05/26(日) 04:10:46.96ID:xQGdFtWrM
>>334
元に戻さないアホがいると大迷惑になるな
>>335
アドインはExcelに組み込むよね
>>339
配列数式なんか使うとブーイングになるよな
2019/05/26(日) 15:23:19.13ID:/taseRUt0
以下の状態だとB1〜B3は全て1:1048576と表示されてしまいます
Cells.SpecialCellsをRange("A1").SpecialCellsに変更した場合はB1〜B3は全てA1と表示されます
Ctrl + Endで選択されるセルの番地を文字列として取得するにはどうすればいいですか?

  A    B
1 Sheet1 =fn(A1)
2 Sheet2 =fn(A2)
3 Sheet3 =fn(A3)

Public Function fn(sSheetName As String) As String

fn = ActiveWorkbook.Worksheets(sSheetName).Cells.SpecialCells(xlCellTypeLastCell).Address(False, False)

End Function
2019/05/26(日) 15:41:58.63ID:/taseRUt0
関数呼び出しではなくマクロやボタンクリックでなら問題なかったので
そっちの方法に切り替えますすみません
2019/05/27(月) 06:52:50.90ID:lha2yOvQp
入力項目を複数用意したinputboxって作れますか?
2019/05/27(月) 07:55:59.33ID:6csejWaN0
>>343
どんなものを考えているんだ
2019/05/27(月) 08:12:50.88ID:lha2yOvQp
>>343
ごめん入力フォームじゃなくていいかも
最終的にやりたいことは、以下のボタン等が設置されたユーザーフォームを作ることです(他の要素も考えたら普通にinput boxでは無理と気づきました)
・AUTO openで開く
・押すと特定セルに文字が入力されるボタンを複数設置する
・カレンダーを設置する
・押すと印刷処理を行いつつファイルを上書き保存し閉じるボタンを設置する
2019/05/27(月) 08:30:52.72ID:jh6nOFVKM
>>345
こんな特殊なものAUTO openでやるって非常識だな
シートのマクロで十分だろてかマクロは印刷して保存だけでいいだろ
それも自動記録でも十分
2019/05/27(月) 08:37:02.21ID:jh6nOFVKM
Excelの勉強不足だろ
2019/05/27(月) 08:47:00.50ID:6csejWaN0
>>345
それユーザーフォームにする必要がないような
ユーザーフォーム超めんどいから止めたほうがいいよ
あと、カレンダーはデイトピッカーと言う
2019/05/27(月) 09:45:56.73ID:W0zr6KdF0
この程度の理解力だとカレンダーが必要かもわからない
カレンダーなんか別にシートでもできるけど、どこまで使うかがわからないから
最適な解もわからない
入力をシートに反映するなんて普通にセルを参照すればいいだけ
ExcelもVBAも1%以下の理解で動作仕様を描くのではなく結果で何をしたいかを描くべき
これでも少しおだててるが
2019/05/27(月) 10:37:56.08ID:6csejWaN0
おだてるの意味間違えてるよ。
2019/05/27(月) 10:41:41.92ID:W0zr6KdF0
>>350
いや〜そうでもないよ
理解力は両方とも0.1%〜0.01%程度と思ってたから
2019/05/27(月) 11:25:38.71ID:bVlhmZqp0
てか、みんなが
>>345←この説明で全容を理解できてるのがすごいとおもったけど
いろんな意味に解釈できそうで、おれにはそのうちの一つには絞りきれないんだけど
2019/05/27(月) 11:44:36.09ID:dknccbkiM
>>352
教えたい人種の大半は問題の表層を自分の得意分野に転換して持論を得意気に展開してるだけ。
質問者の問題の背景に寄り添って解決を計ろうとする者は僅か。
2019/05/27(月) 13:50:33.03ID:6csejWaN0
>>352
どういうパターンであれ、大体ロクでも無い物だという判定ぐらいなら可能
2019/05/27(月) 14:00:43.29ID:zUYqf9yC0
>>345
ここの人達はマウント取りたいだけで実際はあまりスキルが無い人が大半なので程々に聞いていた方が良い。

あなたの要望については疑問が1つ、可能だけどあなたのスキルから考えて技術的に難しい点が1つある。

疑問は、AutoOpenで開いて、閉じるボタンで保存終了するのならExcelで作る必要は無いのでは?という疑問。
普通にC#辺りで作った方が適してると思う。この後に述べるけど、カレンダーの件もC#等の方が簡単。

技術的に難しいのはカレンダーの実現。
サブクラスとWin32の知識が無いと難しい。
後々を考えると汎用的にクラス作った方が良いからそういう技術も必要。
もっとも、ファイル追加とか自作するとかで良ければスキルが無くても出来るともいえる。
2019/05/27(月) 14:36:42.16ID:dknccbkiM
>>355
この人はマウント取りたいだけで実際はあまりスキルが無い人なので程々に聞いていた方が良い。
2019/05/27(月) 14:38:46.48ID:YnNlAtYud
>>356
そうくると思ったw
2019/05/27(月) 14:55:28.65ID:W0zr6KdF0
>>355
具体的に簡単にできる方法を説明してやれよ
2019/05/27(月) 14:59:26.84ID:6csejWaN0
>>358
まだ出せない
要件定義ができていないので、そもそもどういう設計が最適かも分からない
現状のまま作るのはめんどくさすぎる

具体的に言うとデイトピッカー、お前だ
2019/05/27(月) 15:11:18.55ID:W0zr6KdF0
>>359
要件定義・・?この理解力だと
当然仕事に対する理解力もないってことだよ
2019/05/27(月) 15:14:09.75ID:6csejWaN0
>>360
そこを何とかするのが面白いんじゃないの
マウント取りたいならハエやカエル相手にしてればいいだけだしね
2019/05/27(月) 15:29:12.90ID:W0zr6KdF0
>>361
だったら適当にすれば(笑)

出来ることを安易に提案することの影響を考えろよ
例えば、自動計算を止める
こんなのそのままにされたら困るほかの人いるだろ
でも単にONとOFFじゃあだめなんだよ、直前を記録して戻す
また、エラーや中止でも戻さないとな
2019/05/27(月) 15:39:29.96ID:W0zr6KdF0
>>361
きみはハエやカエル相手にして面白がってる
引きこもりさんってことね
2019/05/27(月) 15:42:22.97ID:6csejWaN0
>>362>>363
韓国人?
2019/05/27(月) 15:42:59.47ID:6csejWaN0
おだてるの意味もわかってないみたいだし、韓国の方でしたか
そりゃ話も合わないな
2019/05/27(月) 15:44:13.29ID:W0zr6KdF0
>>364
きみはハエかカエル?
2019/05/27(月) 15:45:54.11ID:W0zr6KdF0
>>365
ハエかカエル?
しかたないな
2019/05/27(月) 15:53:54.48ID:6csejWaN0
おだてる・・・w
2019/05/27(月) 16:04:29.34ID:6csejWaN0
これ以外の高速化ってありますか?
https://15g.jp/post-314/
2019/05/27(月) 16:27:23.36ID:aE9KPqY2M
>>369
これで問題ある場合はループしてるロジックが悪いか
ネットアクセスではありませんか?
2019/05/27(月) 16:42:48.59ID:6csejWaN0
>>370
運用方法が急に変わりまして・・
毎日 100ループ→毎時間 20000ループ
他の高速化が無いものかな、と
特になければ諦めてロジック組み直します
2019/05/27(月) 16:43:14.09ID:2J++TcAHM
再描画を止めるのは好かんな
2019/05/27(月) 17:19:36.20ID:aE9KPqY2M
>>371
セルへのアクセスを減らし
変数テーブルで処理をするぐらいかな簡単なのは
2019/05/27(月) 17:53:10.57ID:aE9KPqY2M
変更のないセルはかきかえない
変数の型をこていするかな
2019/05/27(月) 20:18:12.39ID:28fQIolrF
>>369
完全に嘘。
そもそも、それなりに書ける奴ならこの手法では速くならない。
2019/05/27(月) 20:19:14.57ID:28fQIolrF
逆に、これで格段に速くなったら恥ずかしいと思うべきだ。
2019/05/27(月) 20:29:10.36ID:eWpgS1rnF
高速化については下記が参考になる。

https://excel-ubara.com/excelvba4/EXCEL228.html
2019/05/27(月) 21:03:48.67ID:TIEuQB3m0
>>345
できるけど、一番最後の処理が事故を起こしそうだから1クッション置いた方がいいかも
2019/05/27(月) 21:13:42.01ID:Soi68xiZ0
セルというかシートは使わない
データ保存には外部バイナリファイルを読み書きする
2019/05/27(月) 21:16:23.22ID:TIEuQB3m0
>>369
これは描画を抑制するからその分の時間がかからなくなるというだけなので、表示に因らない処理の速度アップはまた別だよ
2019/05/27(月) 22:07:18.66ID:9GzIJnKt0
何でユーザーフォームを使うのかって?
シートに書くより格好いいからに決まってるじゃんwwwww

いや、わりとマジでそんなもんだと思いますけど。
だって、ユーザーフォームじゃなきゃ再現できないようなものって、
普通の事務処理でそんなに無いでしょ。
2019/05/28(火) 01:04:45.98ID:Rr62XR8Vx
ワークシートのイベントに重めの処理を書いている場合、シート側のイベントを避けるためユーザーフォームで出入力制御や演算を処理させることはある
2019/05/28(火) 08:43:02.61ID:8P1bQTIM0
入力のしやすさとかフォームの方が良い場合もあるし、ユーザーインターフェイスとしてはフォームの方が優れている。

Excel使わずにメモ帳とCSVで事足りるってのと同じような考えの人がいるな。
2019/05/28(火) 09:44:28.89ID:CE2aKfrCH
初心者レベルの知識で長いことVBAいじってる者なんだが、
functionプロシージャって使わなくない?
普通のsubしか使ったことない

どんな時に便利なの?
2019/05/28(火) 09:47:42.25ID:rhAlx8Ij0
>>384
値を返す時。便利というか必須。=sum()で値が返らなかった時の事を考えてみると良い
むしろfunctionが普通なのだ

vbaの場合、ワークシート変更しておしまいってパターンが多いから恩恵を得にくいけどね
2019/05/28(火) 09:55:56.33ID:JWvhlEsx0
Findを利用したコードについて教えて下さい。

書籍、サイトで掲載されていたコードを利用し、少し変えたものです。
Findメソッドを使ってC列の”たろう”を検索します。
探し出したら、A〜C列の文字列をE列に結果を返すように作り替えてみましたが、結果がE1〜G1に上書きされてしまいます。
Cells(Rows,count を理解しきれていない、11行目のCells(i,”E”)の部分も理解していないと感じます。
どのように違うのか、ご指導お願いします。


ワークシートはこんなかんじ E列からG列は実行後の結果をイメージしたものです
  A  B   C   D  E    F  G
1 日付 売上 担当者    000  AAA たろう
2 000 AAA たろう     333  DDD たろう
3 111 BBB はなこ
4 222 CCC たかし
5 333 DDD たろう
6 444 EEE はなこ
7 555 FFF くみこ
2019/05/28(火) 09:56:25.54ID:JWvhlEsx0
386のつづき


Sub Find()
Dim temp As Range, tempAddress As String, i As Long

With Range("A1").CurrentRegion.Resize(, 1).Offset(, 2)
Set temp = .Find(what:=“たろう”)
If Not temp Is Nothing Then
tempAddress = temp.Address
i = Cells(Rows.Count, "E").End(xlUp).Row

Do
temp.Offset(columnoffset:=-2).Resize(, 3).copy Cells(i, "E")
Set temp = .FindNext(temp)
Loop While temp.Address <> tempAddress
End If
End With
End Sub

Sub copy()
Range("A:G").Clear
Worksheets("template").Range("A1:C7").copy Destination:=Worksheets("Sheet1").Range("A1")
End Sub
2019/05/28(火) 10:10:54.71ID:CE2aKfrCH
>>385
うーん、値を返すのは分かるんだけど、わざわざsubから取り出す意味が分からんのよ
subの中に入れちゃえば良くない?

コードが長くなる時とか、他のプロシージャにも流用したい場合なんかにfunctionで別プロシージャにしとくと分かりやすいってこと?

そういやfunctionを関数みたいに使う場合もあると聞いたな
2019/05/28(火) 10:32:00.95ID:P/fMeUQp0
>>384
>>385意見に賛成だが少し付け加えます。
基本的にsubにしろfunctionにしろ長くだらだら作らない
出来るだけ意味のある汎用性のある処理はそのルーチンを呼び出すようにする
その時に値を返せるfunctionの方が圧倒的に有利
初心者は同じようなルーチンをコピペで増殖させるが、後々メンテナンスに困る
それらをライブラリーとして持つと自分の資産になるんだけどね、それが重要なんだよ
2019/05/28(火) 11:24:47.87ID:aRCJr/ZnM
>>384
ネタでしょ?
モドリッチがない方が便利だなんて、そんな訳ないじゃん
2019/05/28(火) 11:26:30.05ID:CE2aKfrCH
>>389
あーその説明で分かった ありがとう

たしかに今までは、動けばいいやで作ってたからコードが長くなってた
顧客コードから各データを検索する時なんか、
Cells(i,2).value=Range(Z:Z).Find(Cells(i,1)).Offset(0,5).Value
みたいなコードを10行とか書いてたわ
2019/05/28(火) 12:23:13.41ID:1q3vxt7ga
OutlookのVBAもここで可でしょうか?
違ったら誘導お願いします

上司へ「承認お願いします」と言った趣旨のメールを送った際、上司がボタン1つで承認する旨のメールが送れるようにしたいです
しかし複数いる上司全員にマクロの設定方法を教えるのは面倒です
私から送信するメール本文にマクロを組み込み、上司が受け取った際に本文にあるリンクを押せば(マクロを自分で設定していなくても)返信メールが自動作成されるような手法が取れればベストなのですが、そういったことは可能なのでしょうか?
2019/05/28(火) 12:47:38.41ID:i1bbppKtM
>>392
ウィルスメールの作成方法きいてる様なもんだなw
2019/05/28(火) 12:51:48.37ID:Z4r31YmpM
>>392
まずは社内でOLのセキュリティ設定がどうなのか。
ザルならやりようはいくつもあるが、ガチガチなら選択肢は少ない
2019/05/28(火) 13:44:15.47ID:P/fMeUQp0
>>392
まあ、バカ上司をサポートするのと
バカ上司の影響をサポートするのと
どちっがしたいんだ?
2019/05/28(火) 13:45:21.90ID:8P1bQTIM0
>>388
VBA初心者にありがちな意見だね。
プログラムを組む時の考え方が全く違う。
組める奴なら最初から構造的に考える。
動きゃ良いなどと考える奴はいない。
2019/05/28(火) 13:48:09.91ID:8P1bQTIM0
>>392
マクロでやらなくても承認ボタンを追加する機能があった筈だが。
2019/05/28(火) 13:50:35.37ID:i1bbppKtM
> VBA初心者にありがちな意見だね。
はい、きょうもマウント取りたい人が来ましたよ
2019/05/28(火) 14:01:27.19ID:8P1bQTIM0
>>391
>>389の言ってることは全くその通りなんだが、FunctionにしろSubにしろ、内容が汎用的なものをまとめる、同じような処理を纏める考え方をするようになると最初から構造的に組むようになる。
その方が圧倒的に楽だから。

あと、例に挙げてるコードは良くない。
ブックやシートの省略はバグの元。
2019/05/28(火) 14:03:33.28ID:8P1bQTIM0
>>398
マウントも何も、明らかに初心者なんだから仕方ないだろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況