!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
それでいいと思います
それでいいと思います
26デフォルトの名無しさん (スプッッ Sd62-qZPv)
2017/06/29(木) 00:00:46.01ID:xnkaqZb4d >>25
それが出来ないです…
それが出来ないです…
27デフォルトの名無しさん (ワッチョイ 4211-nP2k)
2017/06/29(木) 00:02:23.49ID:+TVRrlUj028デフォルトの名無しさん (ワッチョイ 4211-nP2k)
2017/06/29(木) 00:03:15.79ID:+TVRrlUj0 間違えた。DEC2BINでした。
29デフォルトの名無しさん (ワッチョイ c98f-wjSU)
2017/06/29(木) 02:18:27.81ID:m+1z5FeZ0 セルA1を毎回上書きしてるとか
まぁこの手の奴はぐぐれば腐るほどでてくるけどな
まぁこの手の奴はぐぐれば腐るほどでてくるけどな
30デフォルトの名無しさん (ワッチョイ c206-nP2k)
2017/06/29(木) 10:46:30.06ID:eyQ8k34N0 セルA1を瞬時に上書きしていって、それで何をしたいんだか?
最終的な目標は何なのかワカンネ w
最終的な目標は何なのかワカンネ w
31デフォルトの名無しさん (ワキゲー MM8a-I/sj)
2017/06/29(木) 12:17:53.07ID:JWTkSooHM 1100100を出力したいんだろ
32デフォルトの名無しさん (ワキゲー MM8a-I/sj)
2017/06/29(木) 12:28:02.00ID:JWTkSooHM 曖昧だけど設計まであるのにできてないのなら今どんなコードを書いてるのか提示して質問してほしいなぁ
いっそのこと「この仕様を満たすコードをください!」と言ってくれてもいいけど
いっそのこと「この仕様を満たすコードをください!」と言ってくれてもいいけど
33デフォルトの名無しさん (JP 0H92-9Mth)
2017/06/29(木) 16:10:07.03ID:YLVns9yBH はい、作ったよ
仕様満たしてるかどうかはあんたたちで
みっちり見てね
バグ見つけたら教えてね
で仕様齟齬をあぶり出してもらわないと
仕様を具体的に言わないクライアント(身内だけど)とは付き合えない
仕様満たしてるかどうかはあんたたちで
みっちり見てね
バグ見つけたら教えてね
で仕様齟齬をあぶり出してもらわないと
仕様を具体的に言わないクライアント(身内だけど)とは付き合えない
34デフォルトの名無しさん (JP 0H16-CicO)
2017/06/29(木) 16:13:40.02ID:ye6KcLeHH >>33
作る前に要件定義すればいいのに
作る前に要件定義すればいいのに
35デフォルトの名無しさん (JP 0H92-9Mth)
2017/06/29(木) 17:05:28.77ID:YLVns9yBH36デフォルトの名無しさん (JP 0H16-CicO)
2017/06/29(木) 17:16:17.14ID:ye6KcLeHH >>35
面倒でも文書化して読んでもらうのがいいよ
読んで始めて、自分が何を欲しているか気づく場合もあるし
後は、プロトタイプかな
全部できて「これ、全然違うし」とか言われるリスクあるなら、そういうことやってみたらいいと思う
面倒でも文書化して読んでもらうのがいいよ
読んで始めて、自分が何を欲しているか気づく場合もあるし
後は、プロトタイプかな
全部できて「これ、全然違うし」とか言われるリスクあるなら、そういうことやってみたらいいと思う
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性には共通点が [Hitzeschleier★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 中国軍機がレーダー照射 小泉防衛大臣の説明に「矛盾している」中国外務省報道官が批判 [♪♪♪★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- 【実況】博衣こよりのえちえちスーパーダンガンロンパ7🧪
- 【乞食速報】プロクオリティ ビーフカレー 96食 4262円 [268244553]
- 年末のvip芋煮会って何日だっけ?
- 【速報】福島原発でキセノン135が検出されてる模様、再臨界か [668970678]
- 【速報】テレビ朝日本社から20代〜30代の男性が飛び降り自殺して死亡 東京・六本木 [597533159]
- 歴史って「この教科には暴力的な表現が含まれます」とか警告しといた方がいいよな
