!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
Excel VBA 質問スレ Part61
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 2b2b-GhCw)
2019/04/25(木) 23:41:03.61ID:rni/4bMj0306デフォルトの名無しさん (オッペケ Srea-NknS)
2019/05/22(水) 11:59:27.46ID:zi+TqRd2r そもそも数式はスレ違いだろ
VBA関係ないならどっかエクセルの使い方の板かスレかさがせ
VBA関係ないならどっかエクセルの使い方の板かスレかさがせ
307デフォルトの名無しさん (ササクッテロ Spea-53Kk)
2019/05/22(水) 13:17:58.06ID:/GezpU1zp >>305
A1セルの乱数結果が現時点で387だとしたら
変数(仮にrとする)に、387を格納して
ほかのセル(仮にB1とする)に"=A2-r(中身387)"を入力したいって事?
それなら確かに関数じゃできないよね
A1セルの乱数結果が現時点で387だとしたら
変数(仮にrとする)に、387を格納して
ほかのセル(仮にB1とする)に"=A2-r(中身387)"を入力したいって事?
それなら確かに関数じゃできないよね
308284 (ワッチョイ 3591-H0mX)
2019/05/22(水) 13:58:22.19ID:WDej9GuM0309デフォルトの名無しさん (ワッチョイ 45f9-e7qI)
2019/05/22(水) 16:05:46.41ID:hC9fKDDe0 >>307
それに意味あると思えない、乱数なんてふつうは仕事に使わない
例えば、学校の先生あたりが、引き算足し算などの問題を自動的に作りたいとか
であれば、A列に乱数1の結果をB列に乱数2の結果を
C列に計算式を、D列に回答をで別シートなどで問題文を作る
このぐらいだな
それに意味あると思えない、乱数なんてふつうは仕事に使わない
例えば、学校の先生あたりが、引き算足し算などの問題を自動的に作りたいとか
であれば、A列に乱数1の結果をB列に乱数2の結果を
C列に計算式を、D列に回答をで別シートなどで問題文を作る
このぐらいだな
310デフォルトの名無しさん (ブーイモ MMfd-Wp9y)
2019/05/22(水) 18:12:45.70ID:j7jZt3jJM 説明下手糞ってレベルじゃねぇぞ…
311デフォルトの名無しさん (ブーイモ MMfd-gZI7)
2019/05/22(水) 18:48:51.39ID:RRuRLAJCM312デフォルトの名無しさん (アメ MM35-C3gu)
2019/05/22(水) 19:16:53.47ID:CZzIGWUTM313デフォルトの名無しさん (ワッチョイ 46da-EL+e)
2019/05/22(水) 22:59:24.50ID:bxcYYOqD0 もうあれだ。
ここは、何の用途に使うのか当たられたやつが優勝スレにしよう。
ここは、何の用途に使うのか当たられたやつが優勝スレにしよう。
314デフォルトの名無しさん (ワッチョイ d98e-lTii)
2019/05/22(水) 23:13:17.16ID:K7mhmRd90 完全乱数を使って円周率の計算をする
315デフォルトの名無しさん (ブーイモ MMcf-cspy)
2019/05/23(木) 07:43:57.81ID:mLR+BkfhM 別に用途は何でもいいさ
興味ゼロってわけじゃないけど
興味ゼロってわけじゃないけど
316デフォルトの名無しさん (ワッチョイ df01-Fpyl)
2019/05/23(木) 10:22:05.81ID:WDXUv9KM0 こっちで作って欲しいと言われたものをつくってると
そんなもの作られたら困る
楽になって人が減らされると困る、と古参がちくちく
この古参、自分の作業を楽にしたい時には
これがもう偉そうな態度で、「作らせてやる」とでも言わんばかりに頼んでくる
どうしたいんよもう
っていうことないっすか
もう面倒なんで職場で作るのやめようかな
すんません落書きしちゃって
そんなもの作られたら困る
楽になって人が減らされると困る、と古参がちくちく
この古参、自分の作業を楽にしたい時には
これがもう偉そうな態度で、「作らせてやる」とでも言わんばかりに頼んでくる
どうしたいんよもう
っていうことないっすか
もう面倒なんで職場で作るのやめようかな
すんません落書きしちゃって
317デフォルトの名無しさん (ワッチョイ 2701-7h+o)
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次元の表を合計するだけなんだから
スタート地点とゴール地点決めてやって
後はずらしていけばいいやんと思うのですが
後、小数とか負の値ぶっこんでも動作するのはモヤモヤするんだけど
まぁこの辺やりだしたらキリがないので使わせる相手によってどうするかは変えますかね
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次元の表を合計するだけなんだから
スタート地点とゴール地点決めてやって
後はずらしていけばいいやんと思うのですが
後、小数とか負の値ぶっこんでも動作するのはモヤモヤするんだけど
まぁこの辺やりだしたらキリがないので使わせる相手によってどうするかは変えますかね
318デフォルトの名無しさん (ブーイモ MMcf-cspy)
2019/05/23(木) 11:43:15.47ID:mLR+BkfhM >>316
義務教育でプログラミングを扱うようになって、自分の仕事くらい自分でプログラミングできないようでは大変な事になるよ、
と教えてやればいい。
もしかしたら「手下にプログラミングさせればいい」と勘違いするかも知れないが、
それでは通用しないよと言ってやろう。
こういう話もあるし
https://lite.blogos.com/article/376203/
義務教育でプログラミングを扱うようになって、自分の仕事くらい自分でプログラミングできないようでは大変な事になるよ、
と教えてやればいい。
もしかしたら「手下にプログラミングさせればいい」と勘違いするかも知れないが、
それでは通用しないよと言ってやろう。
こういう話もあるし
https://lite.blogos.com/article/376203/
319デフォルトの名無しさん (ワッチョイ 07f9-psCD)
2019/05/23(木) 16:11:36.77ID:hFcQqqxb0320デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/23(木) 16:13:59.49ID:X/3FpVKz0 >>316
その古参の上司に報告しろ
その古参の上司に報告しろ
321デフォルトの名無しさん (ワッチョイ 07f9-psCD)
2019/05/23(木) 16:14:38.98ID:hFcQqqxb0 >>317
すまん、リンク先を読む気もしない
すまん、リンク先を読む気もしない
322デフォルトの名無しさん (ドコグロ MM9f-BVry)
2019/05/23(木) 17:56:30.55ID:pyUsEGpsM >>318
>義務教育でプログラミングを扱うようになって、自分の仕事くらい自分でプログラミングできないようでは大変な事になるよ
脅かすことでプログラミングができるようになるとはおもいませんが…
プログラミングって極めて創造的な作業ではないでしょうか、似たようなものは数学の証明問題だと思いますが証明問題を脅かして解けるようになるとは思えません
>義務教育でプログラミングを扱うようになって、自分の仕事くらい自分でプログラミングできないようでは大変な事になるよ
脅かすことでプログラミングができるようになるとはおもいませんが…
プログラミングって極めて創造的な作業ではないでしょうか、似たようなものは数学の証明問題だと思いますが証明問題を脅かして解けるようになるとは思えません
324デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/23(木) 20:39:50.63ID:X/3FpVKz0 機械学習やweb系ならともかく、
VBAレベルなら極めて事務的な仕事だろう。どこにも創造性なんて無いよ
ルーチンワークを自動化させてるだけ
VBAレベルなら極めて事務的な仕事だろう。どこにも創造性なんて無いよ
ルーチンワークを自動化させてるだけ
326デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/23(木) 21:06:10.14ID:X/3FpVKz0 >>325
一本道だよ、全然難しくない
強いて言えば例外を先に全部列挙した上でシステムに放り込むという順序の変更がある程度
面倒なのは仕様変更と、使いにくいというオバハンの嬌声。オバハンにalt+F8は覚えさせたけど、まぁそれぐらい
一本道だよ、全然難しくない
強いて言えば例外を先に全部列挙した上でシステムに放り込むという順序の変更がある程度
面倒なのは仕様変更と、使いにくいというオバハンの嬌声。オバハンにalt+F8は覚えさせたけど、まぁそれぐらい
327デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/23(木) 22:12:48.96ID:0Fgm70+GM まあ、自己満足で終わるなら簡単だな
おばはんにも満足いくように作るんだよ
おばはんにも満足いくように作るんだよ
328デフォルトの名無しさん (ワッチョイ 67da-dCWx)
2019/05/23(木) 22:27:50.56ID:49rcJhkB0 >>317
コンスト過ぎてワロタ。
コンスト過ぎてワロタ。
329デフォルトの名無しさん (ワッチョイ bf8c-cspy)
2019/05/23(木) 22:55:08.55ID:EGX4zlJj0330デフォルトの名無しさん (ワッチョイ a794-jqLE)
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出さないだけでなぜ不安定になるのか、思いつく原因を教えて頂けると幸いです
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出さないだけでなぜ不安定になるのか、思いつく原因を教えて頂けると幸いです
331デフォルトの名無しさん (ワッチョイ a794-jqLE)
2019/05/24(金) 01:44:27.87ID:9kKOGm+S0 あ、Ifの末尾のThen忘れたので脳内で補完してください
332デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/24(金) 06:40:29.33ID:/lvzTPqGM >>331
ハイ イイエ が逆なのも利用者が自動変換するんですね
ハイ イイエ が逆なのも利用者が自動変換するんですね
333デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/24(金) 06:54:20.73ID:/lvzTPqGM >>332
すまん、継続がキャンセルか
すまん、継続がキャンセルか
334デフォルトの名無しさん (ワッチョイ bf68-dCWx)
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で試したけど落ちなかった
> Application.Wait([Now() + "00:00:01"])
これを抜いても同じ
カンで答えると、再計算が邪魔してるような気がする
・一度再計算や描画、イベントを切ってみてはどうかな
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
・あとはこの部分のウェイトをもう少し長くする
>Application.Wait([Now() + "00:00:01"])
・まっさらなブックで試してみる
335デフォルトの名無しさん (ワッチョイ 67da-dCWx)
2019/05/25(土) 07:54:51.56ID:TRopVMeK0 アドインって、ファイルを閉じたら、
一緒に閉じられるものだと思ってたけど、
VBA実行中は残るということか。
一緒に閉じられたら、途中で止まっちゃうからな。
一緒に閉じられるものだと思ってたけど、
VBA実行中は残るということか。
一緒に閉じられたら、途中で止まっちゃうからな。
336デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/25(土) 08:55:38.15ID:nkVbmNSl0 vba実行中というかずっと残るっぽい
337デフォルトの名無しさん (ワッチョイ c7da-dCWx)
2019/05/25(土) 09:55:42.63ID:wPp02VNQ0 エクセルの機能に追加してるからな
アドイン使ったファイルをアドインがないエクセルで編集すると壊れるよね
アドイン使ったファイルをアドインがないエクセルで編集すると壊れるよね
338デフォルトの名無しさん (ワッチョイ c7da-dCWx)
2019/05/25(土) 10:07:50.37ID:wPp02VNQ0339デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/25(土) 10:14:01.11ID:D2XIJyZK0 Excelに限って言えば、Excel自体に変な仕様が多い
これが男を惑わせる
これが男を惑わせる
340デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/26(日) 04:10:46.96ID:xQGdFtWrM341デフォルトの名無しさん (ワッチョイ bf02-vAXu)
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
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
342デフォルトの名無しさん (ワッチョイ bf02-vAXu)
2019/05/26(日) 15:41:58.63ID:/taseRUt0 関数呼び出しではなくマクロやボタンクリックでなら問題なかったので
そっちの方法に切り替えますすみません
そっちの方法に切り替えますすみません
343デフォルトの名無しさん (ササクッテロ Sp5b-hkBF)
2019/05/27(月) 06:52:50.90ID:lha2yOvQp 入力項目を複数用意したinputboxって作れますか?
344デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 07:55:59.33ID:6csejWaN0 >>343
どんなものを考えているんだ
どんなものを考えているんだ
345デフォルトの名無しさん (ササクッテロ Sp5b-hkBF)
2019/05/27(月) 08:12:50.88ID:lha2yOvQp >>343
ごめん入力フォームじゃなくていいかも
最終的にやりたいことは、以下のボタン等が設置されたユーザーフォームを作ることです(他の要素も考えたら普通にinput boxでは無理と気づきました)
・AUTO openで開く
・押すと特定セルに文字が入力されるボタンを複数設置する
・カレンダーを設置する
・押すと印刷処理を行いつつファイルを上書き保存し閉じるボタンを設置する
ごめん入力フォームじゃなくていいかも
最終的にやりたいことは、以下のボタン等が設置されたユーザーフォームを作ることです(他の要素も考えたら普通にinput boxでは無理と気づきました)
・AUTO openで開く
・押すと特定セルに文字が入力されるボタンを複数設置する
・カレンダーを設置する
・押すと印刷処理を行いつつファイルを上書き保存し閉じるボタンを設置する
346デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/27(月) 08:30:52.72ID:jh6nOFVKM347デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/27(月) 08:37:02.21ID:jh6nOFVKM Excelの勉強不足だろ
348デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 08:47:00.50ID:6csejWaN0349デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 09:45:56.73ID:W0zr6KdF0 この程度の理解力だとカレンダーが必要かもわからない
カレンダーなんか別にシートでもできるけど、どこまで使うかがわからないから
最適な解もわからない
入力をシートに反映するなんて普通にセルを参照すればいいだけ
ExcelもVBAも1%以下の理解で動作仕様を描くのではなく結果で何をしたいかを描くべき
これでも少しおだててるが
カレンダーなんか別にシートでもできるけど、どこまで使うかがわからないから
最適な解もわからない
入力をシートに反映するなんて普通にセルを参照すればいいだけ
ExcelもVBAも1%以下の理解で動作仕様を描くのではなく結果で何をしたいかを描くべき
これでも少しおだててるが
350デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 10:37:56.08ID:6csejWaN0 おだてるの意味間違えてるよ。
351デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 10:41:41.92ID:W0zr6KdF0352デフォルトの名無しさん (ワッチョイ df01-Fpyl)
2019/05/27(月) 11:25:38.71ID:bVlhmZqp0353デフォルトの名無しさん (ブーイモ MMcb-xIO9)
2019/05/27(月) 11:44:36.09ID:dknccbkiM354デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 13:50:33.03ID:6csejWaN0 >>352
どういうパターンであれ、大体ロクでも無い物だという判定ぐらいなら可能
どういうパターンであれ、大体ロクでも無い物だという判定ぐらいなら可能
355デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/27(月) 14:00:43.29ID:zUYqf9yC0 >>345
ここの人達はマウント取りたいだけで実際はあまりスキルが無い人が大半なので程々に聞いていた方が良い。
あなたの要望については疑問が1つ、可能だけどあなたのスキルから考えて技術的に難しい点が1つある。
疑問は、AutoOpenで開いて、閉じるボタンで保存終了するのならExcelで作る必要は無いのでは?という疑問。
普通にC#辺りで作った方が適してると思う。この後に述べるけど、カレンダーの件もC#等の方が簡単。
技術的に難しいのはカレンダーの実現。
サブクラスとWin32の知識が無いと難しい。
後々を考えると汎用的にクラス作った方が良いからそういう技術も必要。
もっとも、ファイル追加とか自作するとかで良ければスキルが無くても出来るともいえる。
ここの人達はマウント取りたいだけで実際はあまりスキルが無い人が大半なので程々に聞いていた方が良い。
あなたの要望については疑問が1つ、可能だけどあなたのスキルから考えて技術的に難しい点が1つある。
疑問は、AutoOpenで開いて、閉じるボタンで保存終了するのならExcelで作る必要は無いのでは?という疑問。
普通にC#辺りで作った方が適してると思う。この後に述べるけど、カレンダーの件もC#等の方が簡単。
技術的に難しいのはカレンダーの実現。
サブクラスとWin32の知識が無いと難しい。
後々を考えると汎用的にクラス作った方が良いからそういう技術も必要。
もっとも、ファイル追加とか自作するとかで良ければスキルが無くても出来るともいえる。
356デフォルトの名無しさん (ブーイモ MMcb-xIO9)
2019/05/27(月) 14:36:42.16ID:dknccbkiM >>355
この人はマウント取りたいだけで実際はあまりスキルが無い人なので程々に聞いていた方が良い。
この人はマウント取りたいだけで実際はあまりスキルが無い人なので程々に聞いていた方が良い。
357デフォルトの名無しさん (スプッッ Sd7f-cMWe)
2019/05/27(月) 14:38:46.48ID:YnNlAtYud >>356
そうくると思ったw
そうくると思ったw
358デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 14:55:28.65ID:W0zr6KdF0 >>355
具体的に簡単にできる方法を説明してやれよ
具体的に簡単にできる方法を説明してやれよ
359デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 14:59:26.84ID:6csejWaN0360デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 15:11:18.55ID:W0zr6KdF0361デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 15:14:09.75ID:6csejWaN0362デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 15:29:12.90ID:W0zr6KdF0 >>361
だったら適当にすれば(笑)
出来ることを安易に提案することの影響を考えろよ
例えば、自動計算を止める
こんなのそのままにされたら困るほかの人いるだろ
でも単にONとOFFじゃあだめなんだよ、直前を記録して戻す
また、エラーや中止でも戻さないとな
だったら適当にすれば(笑)
出来ることを安易に提案することの影響を考えろよ
例えば、自動計算を止める
こんなのそのままにされたら困るほかの人いるだろ
でも単にONとOFFじゃあだめなんだよ、直前を記録して戻す
また、エラーや中止でも戻さないとな
363デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 15:39:29.96ID:W0zr6KdF0364デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 15:42:22.97ID:6csejWaN0 >>362>>363
韓国人?
韓国人?
365デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 15:42:59.47ID:6csejWaN0 おだてるの意味もわかってないみたいだし、韓国の方でしたか
そりゃ話も合わないな
そりゃ話も合わないな
366デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 15:44:13.29ID:W0zr6KdF0 >>364
きみはハエかカエル?
きみはハエかカエル?
367デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/27(月) 15:45:54.11ID:W0zr6KdF0368デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 15:53:54.48ID:6csejWaN0 おだてる・・・w
369デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 16:04:29.34ID:6csejWaN0 これ以外の高速化ってありますか?
https://15g.jp/post-314/
https://15g.jp/post-314/
370デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/27(月) 16:27:23.36ID:aE9KPqY2M371デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/27(月) 16:42:48.59ID:6csejWaN0372デフォルトの名無しさん (ブーイモ MMcb-cspy)
2019/05/27(月) 16:43:14.09ID:2J++TcAHM 再描画を止めるのは好かんな
373デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/27(月) 17:19:36.20ID:aE9KPqY2M374デフォルトの名無しさん (アメ MMcb-bNEy)
2019/05/27(月) 17:53:10.57ID:aE9KPqY2M 変更のないセルはかきかえない
変数の型をこていするかな
変数の型をこていするかな
375デフォルトの名無しさん (エムゾネ FFff-cMWe)
2019/05/27(月) 20:18:12.39ID:28fQIolrF376デフォルトの名無しさん (エムゾネ FFff-cMWe)
2019/05/27(月) 20:19:14.57ID:28fQIolrF 逆に、これで格段に速くなったら恥ずかしいと思うべきだ。
377デフォルトの名無しさん (エムゾネ FFff-cMWe)
2019/05/27(月) 20:29:10.36ID:eWpgS1rnF378デフォルトの名無しさん (ワッチョイ 877c-+q9b)
2019/05/27(月) 21:03:48.67ID:TIEuQB3m0 >>345
できるけど、一番最後の処理が事故を起こしそうだから1クッション置いた方がいいかも
できるけど、一番最後の処理が事故を起こしそうだから1クッション置いた方がいいかも
379デフォルトの名無しさん (ワッチョイ 87e6-dCWx)
2019/05/27(月) 21:13:42.01ID:Soi68xiZ0 セルというかシートは使わない
データ保存には外部バイナリファイルを読み書きする
データ保存には外部バイナリファイルを読み書きする
380デフォルトの名無しさん (ワッチョイ 877c-+q9b)
2019/05/27(月) 21:16:23.22ID:TIEuQB3m0 >>369
これは描画を抑制するからその分の時間がかからなくなるというだけなので、表示に因らない処理の速度アップはまた別だよ
これは描画を抑制するからその分の時間がかからなくなるというだけなので、表示に因らない処理の速度アップはまた別だよ
381デフォルトの名無しさん (ワッチョイ 67da-dCWx)
2019/05/27(月) 22:07:18.66ID:9GzIJnKt0 何でユーザーフォームを使うのかって?
シートに書くより格好いいからに決まってるじゃんwwwww
いや、わりとマジでそんなもんだと思いますけど。
だって、ユーザーフォームじゃなきゃ再現できないようなものって、
普通の事務処理でそんなに無いでしょ。
シートに書くより格好いいからに決まってるじゃんwwwww
いや、わりとマジでそんなもんだと思いますけど。
だって、ユーザーフォームじゃなきゃ再現できないようなものって、
普通の事務処理でそんなに無いでしょ。
382デフォルトの名無しさん (アークセー Sx5b-cVpm)
2019/05/28(火) 01:04:45.98ID:Rr62XR8Vx ワークシートのイベントに重めの処理を書いている場合、シート側のイベントを避けるためユーザーフォームで出入力制御や演算を処理させることはある
383デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/28(火) 08:43:02.61ID:8P1bQTIM0 入力のしやすさとかフォームの方が良い場合もあるし、ユーザーインターフェイスとしてはフォームの方が優れている。
Excel使わずにメモ帳とCSVで事足りるってのと同じような考えの人がいるな。
Excel使わずにメモ帳とCSVで事足りるってのと同じような考えの人がいるな。
384デフォルトの名無しさん (JP 0H4f-Ha6N)
2019/05/28(火) 09:44:28.89ID:CE2aKfrCH 初心者レベルの知識で長いことVBAいじってる者なんだが、
functionプロシージャって使わなくない?
普通のsubしか使ったことない
どんな時に便利なの?
functionプロシージャって使わなくない?
普通のsubしか使ったことない
どんな時に便利なの?
385デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/28(火) 09:47:42.25ID:rhAlx8Ij0 >>384
値を返す時。便利というか必須。=sum()で値が返らなかった時の事を考えてみると良い
むしろfunctionが普通なのだ
vbaの場合、ワークシート変更しておしまいってパターンが多いから恩恵を得にくいけどね
値を返す時。便利というか必須。=sum()で値が返らなかった時の事を考えてみると良い
むしろfunctionが普通なのだ
vbaの場合、ワークシート変更しておしまいってパターンが多いから恩恵を得にくいけどね
386デフォルトの名無しさん (ワッチョイ df71-x/mB)
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 くみこ
書籍、サイトで掲載されていたコードを利用し、少し変えたものです。
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 くみこ
387デフォルトの名無しさん (ワッチョイ df71-x/mB)
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
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
388デフォルトの名無しさん (JP 0H4f-Ha6N)
2019/05/28(火) 10:10:54.71ID:CE2aKfrCH >>385
うーん、値を返すのは分かるんだけど、わざわざsubから取り出す意味が分からんのよ
subの中に入れちゃえば良くない?
コードが長くなる時とか、他のプロシージャにも流用したい場合なんかにfunctionで別プロシージャにしとくと分かりやすいってこと?
そういやfunctionを関数みたいに使う場合もあると聞いたな
うーん、値を返すのは分かるんだけど、わざわざsubから取り出す意味が分からんのよ
subの中に入れちゃえば良くない?
コードが長くなる時とか、他のプロシージャにも流用したい場合なんかにfunctionで別プロシージャにしとくと分かりやすいってこと?
そういやfunctionを関数みたいに使う場合もあると聞いたな
389デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/28(火) 10:32:00.95ID:P/fMeUQp0390デフォルトの名無しさん (ブーイモ MM2b-cspy)
2019/05/28(火) 11:24:47.87ID:aRCJr/ZnM391デフォルトの名無しさん (JP 0H4f-Ha6N)
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行とか書いてたわ
あーその説明で分かった ありがとう
たしかに今までは、動けばいいやで作ってたからコードが長くなってた
顧客コードから各データを検索する時なんか、
Cells(i,2).value=Range(Z:Z).Find(Cells(i,1)).Offset(0,5).Value
みたいなコードを10行とか書いてたわ
392デフォルトの名無しさん (アウアウウー Saab-DSaV)
2019/05/28(火) 12:23:13.41ID:1q3vxt7ga OutlookのVBAもここで可でしょうか?
違ったら誘導お願いします
上司へ「承認お願いします」と言った趣旨のメールを送った際、上司がボタン1つで承認する旨のメールが送れるようにしたいです
しかし複数いる上司全員にマクロの設定方法を教えるのは面倒です
私から送信するメール本文にマクロを組み込み、上司が受け取った際に本文にあるリンクを押せば(マクロを自分で設定していなくても)返信メールが自動作成されるような手法が取れればベストなのですが、そういったことは可能なのでしょうか?
違ったら誘導お願いします
上司へ「承認お願いします」と言った趣旨のメールを送った際、上司がボタン1つで承認する旨のメールが送れるようにしたいです
しかし複数いる上司全員にマクロの設定方法を教えるのは面倒です
私から送信するメール本文にマクロを組み込み、上司が受け取った際に本文にあるリンクを押せば(マクロを自分で設定していなくても)返信メールが自動作成されるような手法が取れればベストなのですが、そういったことは可能なのでしょうか?
393デフォルトの名無しさん (ブーイモ MMcf-xIO9)
2019/05/28(火) 12:47:38.41ID:i1bbppKtM >>392
ウィルスメールの作成方法きいてる様なもんだなw
ウィルスメールの作成方法きいてる様なもんだなw
394デフォルトの名無しさん (オイコラミネオ MMbb-x288)
2019/05/28(火) 12:51:48.37ID:Z4r31YmpM395デフォルトの名無しさん (ワッチョイ 07f9-IeET)
2019/05/28(火) 13:44:15.47ID:P/fMeUQp0396デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/28(火) 13:45:21.90ID:8P1bQTIM0397デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/28(火) 13:48:09.91ID:8P1bQTIM0 >>392
マクロでやらなくても承認ボタンを追加する機能があった筈だが。
マクロでやらなくても承認ボタンを追加する機能があった筈だが。
398デフォルトの名無しさん (ブーイモ MMcf-xIO9)
2019/05/28(火) 13:50:35.37ID:i1bbppKtM > VBA初心者にありがちな意見だね。
はい、きょうもマウント取りたい人が来ましたよ
はい、きょうもマウント取りたい人が来ましたよ
399デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/28(火) 14:01:27.19ID:8P1bQTIM0400デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/28(火) 14:03:33.28ID:8P1bQTIM0 >>398
マウントも何も、明らかに初心者なんだから仕方ないだろ
マウントも何も、明らかに初心者なんだから仕方ないだろ
401デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/28(火) 14:18:44.11ID:rhAlx8Ij0 > VBA初心者にありがちな意見だね。
この部分は必要なかったんだよなぁ
この部分は必要なかったんだよなぁ
402デフォルトの名無しさん (ワッチョイ 8791-cMWe)
2019/05/28(火) 14:34:43.00ID:8P1bQTIM0 >>401
必要なんだが。
必要なんだが。
403デフォルトの名無しさん (オイコラミネオ MMbb-jqLE)
2019/05/28(火) 15:27:43.49ID:m2eXkVaQM 初心者お断りな質問スレが存在した…?
404デフォルトの名無しさん (ワッチョイ bf68-dCWx)
2019/05/28(火) 15:33:18.00ID:rhAlx8Ij0405デフォルトの名無しさん (ワッチョイ df71-x/mB)
2019/05/28(火) 15:57:40.29ID:JWvhlEsx0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 【悲報】ジャップ、どうやら中国が一方的に戦争仕掛けてくると思ってる模様😰 [616817505]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 【高市速報】明日から中国からの輸入が停止すれば2ヵ月で国内の生産業に53兆円の損失発生 [931948549]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
