!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
スレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part48
http://mevius.2ch.net/test/read.cgi/tech/1494890685/
※関連スレ
VBAなんでも質問スレ Part2
http://mevius.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://mevius.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 126
https://mevius.2ch.net/test/read.cgi/bsoft/1496487719/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
Excel VBA 質問スレ Part49©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ bb2e-8SzA)
2017/06/26(月) 02:15:14.60ID:T3ylemnb02デフォルトの名無しさん (アウアウエー Sadf-hzVx)
2017/06/26(月) 05:44:32.43ID:SxRL95TLa うんこ
3デフォルトの名無しさん (ワッチョイ bf6d-ZLad)
2017/06/26(月) 06:30:06.46ID:K3TbTzv304デフォルトの名無しさん (アウアウエー Sadf-AGoN)
2017/06/26(月) 13:46:58.30ID:2dV2LE9Ka おちるな!
5デフォルトの名無しさん (スッップ Sdbf-iOY8)
2017/06/26(月) 17:31:56.55ID:mUlZZrNcd 埋め
6デフォルトの名無しさん (スッップ Sdbf-iOY8)
2017/06/26(月) 19:50:29.41ID:mUlZZrNcd Everything breaks.
7デフォルトの名無しさん (ワッチョイ d76d-ZLad)
2017/06/26(月) 22:30:10.16ID:9LdZXFFA0 地獄の社内SE
https://anond.hatelabo.jp/20170626005657
> 社内SEはなんとなく楽そうなイメージがあったので、就職した。
> 言語はエクセルVBAとVB.NET 1.0。
> 中身を見るとどちらもかなりやばい。
>
> VBA編
> ・ウォッチウインドウを知らないのか、変数はすべてセルに入れてる。変数名はすべてRANGE("A1").valueみたいな感じで全く意味が分からない。
> ・処理遷移がおかしい。
> セルに1を入れる。そのセルのchangeイベントで処理が動くとか。SHIFT+F2が無力化されてる。
> ・なるべくワークシート関数で処理してる
> データベースからとってきたデータを丸ごとワークシートにコピーしてif,vlookup,match関数を駆使して帳票にしたり、CSVにしてる。
> データ100件制限があったり、1関数を直すときは100行コピーしないといけない。画面中に埋め尽くされたワークシート関数をみて途方に暮れる。
> ・format関数を知らない。
> 8桁の日付をとりたいときyear、month、day関数がワークシートにあり、
> その下の行で月の二けた判定、日の二けた判定のif関数で頭の0をつけ3行目でconcatenateしている
> ・タイマー起動
> 毎朝100本ぐらいのマクロが動いてる。タイマー起動なので、毎日セットしないといけない。(タスクスケジューラーを知らない)
> がんがんエラーが発生するので、マクロ設定をエラー処理対象外のエラーで中断にしないと動かない。
> ・遅い
> textboxのchangeイベントでDBからのデータ取得処理を入れているので、データが多くなると1文字打つごとに数分待つ状態。exitイベントを知らないらしい
> DBの更新処理でもテーブル全件とってきて、ループしながらキーが一致するのを探して更新。
> ・変数や関数のスコープの管理
> ない。基本グローバル。
> ・クラス
> ない。
> ・ネスト
> ない。
> そんなつっこみどころしかないEXCELマクロが200本以上ある。
> おじいさんが20年にわたって深夜残業や休日出勤を厭わず作ってきた、地獄の社内システムの担当になったらしい。
https://anond.hatelabo.jp/20170626005657
> 社内SEはなんとなく楽そうなイメージがあったので、就職した。
> 言語はエクセルVBAとVB.NET 1.0。
> 中身を見るとどちらもかなりやばい。
>
> VBA編
> ・ウォッチウインドウを知らないのか、変数はすべてセルに入れてる。変数名はすべてRANGE("A1").valueみたいな感じで全く意味が分からない。
> ・処理遷移がおかしい。
> セルに1を入れる。そのセルのchangeイベントで処理が動くとか。SHIFT+F2が無力化されてる。
> ・なるべくワークシート関数で処理してる
> データベースからとってきたデータを丸ごとワークシートにコピーしてif,vlookup,match関数を駆使して帳票にしたり、CSVにしてる。
> データ100件制限があったり、1関数を直すときは100行コピーしないといけない。画面中に埋め尽くされたワークシート関数をみて途方に暮れる。
> ・format関数を知らない。
> 8桁の日付をとりたいときyear、month、day関数がワークシートにあり、
> その下の行で月の二けた判定、日の二けた判定のif関数で頭の0をつけ3行目でconcatenateしている
> ・タイマー起動
> 毎朝100本ぐらいのマクロが動いてる。タイマー起動なので、毎日セットしないといけない。(タスクスケジューラーを知らない)
> がんがんエラーが発生するので、マクロ設定をエラー処理対象外のエラーで中断にしないと動かない。
> ・遅い
> textboxのchangeイベントでDBからのデータ取得処理を入れているので、データが多くなると1文字打つごとに数分待つ状態。exitイベントを知らないらしい
> DBの更新処理でもテーブル全件とってきて、ループしながらキーが一致するのを探して更新。
> ・変数や関数のスコープの管理
> ない。基本グローバル。
> ・クラス
> ない。
> ・ネスト
> ない。
> そんなつっこみどころしかないEXCELマクロが200本以上ある。
> おじいさんが20年にわたって深夜残業や休日出勤を厭わず作ってきた、地獄の社内システムの担当になったらしい。
8デフォルトの名無しさん (ワッチョイ 9f06-NIhq)
2017/06/26(月) 22:46:39.40ID:sK3t30Mo09デフォルトの名無しさん (ワッチョイ 9f6f-LvKX)
2017/06/26(月) 22:56:04.38ID:TlqSsAWd0 地獄とか書いてるけど、
全然地獄じゃないんだろうな。
強敵と戦う悟空みたいな感じで。
全然地獄じゃないんだろうな。
強敵と戦う悟空みたいな感じで。
10デフォルトの名無しさん (ワッチョイ 970d-q+YL)
2017/06/26(月) 23:06:06.76ID:Wf2yMC4X0 VBAが仕事っていいじゃねーか
業務の合間にマクロ作ってるけエクセルが得意な人扱いしかされない
カラオケが上手いとか酒が強いとかと同じ扱いだよ俺もVBAだけやってたいな
業務の合間にマクロ作ってるけエクセルが得意な人扱いしかされない
カラオケが上手いとか酒が強いとかと同じ扱いだよ俺もVBAだけやってたいな
11デフォルトの名無しさん (ワッチョイ 9faa-ZLad)
2017/06/26(月) 23:18:33.41ID:NfcBoQUW0 何か公開するとか解説記事を続けて書くとかしないと残るものがないよな
12デフォルトの名無しさん (ワッチョイ 9711-AGoN)
2017/06/27(火) 00:31:50.14ID:Ou4JxjyB0 >>7
ヤバすぎでしょ
ヤバすぎでしょ
13デフォルトの名無しさん (ワッチョイ bf23-+Ny0)
2017/06/27(火) 01:25:43.69ID:mSdvPxdC0 >>9
おれ、ああいうののメンテナンスする仕事したこと有るけど地獄だよ。
おれ、ああいうののメンテナンスする仕事したこと有るけど地獄だよ。
14デフォルトの名無しさん (ワッチョイ d723-vKbm)
2017/06/27(火) 05:39:28.87ID:RyWS1Zia0 そこまでわかってるなら直すだけじゃん
15デフォルトの名無しさん (ワッチョイ 178f-ZLad)
2017/06/27(火) 12:11:28.10ID:VIhV6lAx0 inputとoutputがわかってんなら作り直したほうが…
16デフォルトの名無しさん (アウアウエー Sadf-AGoN)
2017/06/27(火) 13:08:41.86ID:NeDeRylha どう考えてもイチから作り直すべきだが、それを現場がどう理解してるかだわ
セルに値が入ってないと管理できない!とかありそう
セルに値が入ってないと管理できない!とかありそう
17デフォルトの名無しさん (ワッチョイ 9711-H8Dq)
2017/06/27(火) 20:49:18.00ID:s+Xomzrw0 質問失礼します。
ある一つのセルに、氏名コメント改行文字が5人分入っていて、選択するとformにテキストボックスが5人分用意されている所に、それぞれの氏名に合わせて入る様になっています。
やりたい事は、formのテキストボックスに作業者が入力したのの更新履歴を付けたいのです。
作業者は自分の氏名のテキストボックスに入力することになっています。
コマンドボタンをクリックしたタイミングで、どのテキストボックスが最後に変更されたのか取得できる方法が有りましたら教えてください。
ある一つのセルに、氏名コメント改行文字が5人分入っていて、選択するとformにテキストボックスが5人分用意されている所に、それぞれの氏名に合わせて入る様になっています。
やりたい事は、formのテキストボックスに作業者が入力したのの更新履歴を付けたいのです。
作業者は自分の氏名のテキストボックスに入力することになっています。
コマンドボタンをクリックしたタイミングで、どのテキストボックスが最後に変更されたのか取得できる方法が有りましたら教えてください。
18デフォルトの名無しさん (ワッチョイ 9f11-NIhq)
2017/06/28(水) 01:46:45.72ID:YSCBV96g0 >>17
AfterUpdateイベントやChangeイベントで最後に更新されたテキストボックスを記録して、ボタンを押したときにその内容を読み取る、みたいな感じになる。
↓こんな感じ
Private LastUpdated
Private Sub TextBox1_AfterUpdate()
LastUpdated = "TextBox1"
End Sub
Private Sub TextBox2_AfterUpdate()
LastUpdated = "TextBox2"
End Sub
Private Sub CommandButton1_Click()
Dim str
If Not IsEmpty(LastUpdated) Then str = Me.Controls(LastUpdated).Text
'処理
End Sub
AfterUpdateイベントやChangeイベントで最後に更新されたテキストボックスを記録して、ボタンを押したときにその内容を読み取る、みたいな感じになる。
↓こんな感じ
Private LastUpdated
Private Sub TextBox1_AfterUpdate()
LastUpdated = "TextBox1"
End Sub
Private Sub TextBox2_AfterUpdate()
LastUpdated = "TextBox2"
End Sub
Private Sub CommandButton1_Click()
Dim str
If Not IsEmpty(LastUpdated) Then str = Me.Controls(LastUpdated).Text
'処理
End Sub
19デフォルトの名無しさん (ワッチョイ 9f11-NIhq)
2017/06/28(水) 01:49:22.55ID:YSCBV96g020デフォルトの名無しさん (ワッチョイ 37e4-nLBY)
2017/06/28(水) 03:46:14.99ID:2pXrvXuM0 しばらく前に騒ぎになったランサムウェアってVBAマクロなのか
マクロウイルスって今でもあるんだな
マクロウイルスって今でもあるんだな
21デフォルトの名無しさん (ワッチョイ 9711-H8Dq)
2017/06/28(水) 06:18:19.57ID:tYXWZB4k0 >>19
ご回答ありがとうございます。
今回の件はAfterUpdateで対応出来ました。
今後の為にお聞きしたいのですが、例えばテキストボックスが100個とかあった場合、VBのコントロール配列の様に一つのプロシージャで100個のテキストボックスのAfterUpdateに対応することは出来ませんか?
よろしくお願いします。
ご回答ありがとうございます。
今回の件はAfterUpdateで対応出来ました。
今後の為にお聞きしたいのですが、例えばテキストボックスが100個とかあった場合、VBのコントロール配列の様に一つのプロシージャで100個のテキストボックスのAfterUpdateに対応することは出来ませんか?
よろしくお願いします。
22デフォルトの名無しさん (ブーイモ MMcf-xRMs)
2017/06/28(水) 12:49:44.66ID:zWYciN7lM >>21
「vba フォーム イベント withevents」とかでググれば、クラスモジュールを使ってイベント付きコントロールを配列またはコレクション化する方法が出てくる。
フォームの履歴管理には、クラス変数にフォームへの参照と、配列のインデックスまたはコレクションのキーなんかを渡して処理すればたぶんOK。
「vba フォーム イベント withevents」とかでググれば、クラスモジュールを使ってイベント付きコントロールを配列またはコレクション化する方法が出てくる。
フォームの履歴管理には、クラス変数にフォームへの参照と、配列のインデックスまたはコレクションのキーなんかを渡して処理すればたぶんOK。
23デフォルトの名無しさん (ワッチョイ 9711-H8Dq)
2017/06/28(水) 22:25:33.70ID:tYXWZB4k0 >>22
ありがとうございます。
witheventsを使用してテキストボックスのチェンジイベントをひとまとめに出来ました。
afterupdateをまとめれるともっと良かったのですが、それは無理そうなのでこれで満足です。
本当にありがとうございます!
ありがとうございます。
witheventsを使用してテキストボックスのチェンジイベントをひとまとめに出来ました。
afterupdateをまとめれるともっと良かったのですが、それは無理そうなのでこれで満足です。
本当にありがとうございます!
24デフォルトの名無しさん (ワッチョイ f7e4-d3en)
2017/06/28(水) 23:11:40.00ID:E86Fbm8W0 100という10進数をDo loop を使って2進数に変換させるにはどのようにすればよいのでしょうか?
イメージとしては、100を2ずつ割っていってそこで出たそれぞれの余りの数をセルA1に表示させたいです。
よろしくお願い致します。
イメージとしては、100を2ずつ割っていってそこで出たそれぞれの余りの数をセルA1に表示させたいです。
よろしくお願い致します。
25デフォルトの名無しさん (ワキゲー MMdf-Jbg4)
2017/06/28(水) 23:24:22.72ID:DPzzKFKPM >>24
それでいいと思います
それでいいと思います
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★2 [ぐれ★]
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ [蚤の市★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★3 [蚤の市★]
- 現場からは悲鳴、母親からは「高い」「性犯罪が怖い」の声も…高市総理がどうしても実現したい政策「ベビーシッターの利用促進」 [ぐれ★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★3 [蚤の市★]
- 【野球】ソフトバンク、デュプランティエ獲得が決定的! 阪神で今季6勝、リーグV貢献も自由契約 残留望む阪神などNPB他球団に断り [冬月記者★]
- 【高市朗報】トランプ「これからはG7に代わって『Core 5 (C5)』で世界を仕切る。米国中国インド日本ロシアの5大国がメンバーだ」 [517459952]
- 土曜日の午前中からお酒飲んじゃうおじさんいるでしょ
- 議員定数削減法案、廃案へwmwmwmmwmwmwmw [834922174]
- 【悲報】男「セックスしなくなったら彼女のことだんだん許せなくなったわ」→炎上wwwwwwwwwwwwwwwwwwww [802034645]
- 【高市悲報】NHKニュース「発狂している中国に対して、日本は至って冷静」😳 [762037879]
- おかゆ、紙面を飾るなとあれほど言ったのに飾ってしまう🏡
