X



Excel VBA 質問スレ Part73

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 4668-xJJl)
垢版 |
2021/09/13(月) 07:29:59.47ID:GNx0xRRz0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ

※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
Excel VBA 質問スレ Part71
https://mevius.5ch.net/test/read.cgi/tech/1621914481/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/11/10(水) 22:53:12.24ID:lHaNkZWD0
>>605
それ普通じゃん
2021/11/10(水) 23:10:54.65ID:n4nrpIYq0
>>605
正規表現で一括置換すればいいだけだな。
2021/11/11(木) 22:25:28.82ID:4U2+Csw00
問題を解決するやり方が複数ある場合は作る人のセンスがでる
速度重視なのか汎用性やメンテナンス、あるいはただ動けばいいとか
2021/11/12(金) 07:19:28.68ID:7noZI+XHd
単に技術・経験の差が大きい
2021/11/12(金) 16:46:18.75ID:xE6WDQNQ0
VBAっていうかエクセルの話題かもしれないけど、
ユーザーに入力させたテーブルがあってそれを校正するとき、
「間違っている部分」と「そこの入力形式の説明と記入例」をどうやって表示したら分かりやすいと思う?

イメージとしては「入力形式を確認する」ボタンをクリックすると
間違い場所が何らかの方法で説明されて、
ユーザーがそれを見ながら修正する感じです。
2021/11/12(金) 17:12:52.04ID:qAk4Oa1rM
>>610
普通に入力規則使えば?
変なオレオレ方式作られるより慣れてて分かりやすいでしょ
2021/11/12(金) 18:11:45.18ID:xE6WDQNQ0
>>611
複雑な形式(5〜10文字の英数+アンダースコア+5文字の英数の繰り返し用のような)も多数あるのですが、可能でしょうか。
GoogleスプレッドシートならSplit関数があるので捏ね繰り回せばパース出来なくはないですが・・・

ユーザー定義関数で入力規則が設定できるのかとも思ったのですが、
「指定した範囲の名前は見つかりません」と出てしまい、
そもそも関数として認識されませんでした。
2021/11/12(金) 18:36:55.58ID:grozR+8R0
以下のようなマクロが組みたいです。

ファイル(以下A)が保存されているフォルダ内を検索して、特定の名前が含まれる別のエクセルファイル(以下B)を開いて、Bの各シートをシート名を指定した名前に書き換えつつAの指定の位置にシートを追加する。開いたBは閉じる。
614デフォルトの名無しさん (ワッチョイ 158e-OVKX)
垢版 |
2021/11/12(金) 18:40:57.40ID:KziMfQdv0
>>613
そうか頑張れ
ここはお前の日記帳ではない
2021/11/12(金) 19:09:57.81ID:P++os05D0
ルビー先生の自演ですね
2021/11/12(金) 19:19:22.94ID:a3j0d+bF0
>>610
> 「間違っている部分」
そこにフォーカス当てるとか色を付けるとか

> 「そこの入力形式の説明と記入例」
メッセージ表示ればいいけど修整箇所がたくさんあるとウザくなるからそういうことが予想されるケースでは俺ならエラーセルに色付けしてそこが選択されたらステータスバーに表示するとかするかな
2021/11/12(金) 19:56:06.94ID:1Dl5hXGo0
>>612
正規表現だろうな
2021/11/12(金) 19:59:42.26ID:USYnrtRo0
正規表現って言うと卑猥なことを言ってるような気がして口では説明しにくい
2021/11/12(金) 20:24:37.20ID:Ncd0depJM
可愛い女子後輩が「せいきひょうげん教えて下さい!」なんて言ってきたらそれだけで射精してしまうよな
2021/11/12(金) 21:37:44.97ID:Bm/JCeux0
え?何の表現?
2021/11/12(金) 22:29:48.65ID:a3j0d+bF0
ここでぬいたでーたをこのせいきひょうげんでちゅうしゅつしてそこへそうにゅうしといて…
2021/11/13(土) 00:19:30.49ID:IngrJLwZ0
>>616
ステータスバーに書かれていると気づいてもらえるかどうか・・・

>>617
正規表現で入力規則に設定可能か、
自分ググってみたのですが見つかりませんでした・・・
やり方を教えてください。
2021/11/13(土) 04:21:00.05ID:9Z7Y7eKB0
>>610
色んなやり方があると思うけど
例えば小さなテーブルならOK、NGやなにがどう間違っているかの列を数式で出る欄を設けておいて
全ての行がOKならOK、そうで無ければNGと表示するセルをひとつ作って
それがNGであればなんかのボタン押したときに「入力値に誤りが有ります」的なメッセージを出す方法を使ってるところのが分かりやすかったかな。

ただこの方式だとユーザー定義関数使うとマクロ無効にされてる状態では正しく反応しないのが難点だけど。
2021/11/13(土) 05:16:16.94ID:x1CN7sQN0
>>622
> ステータスバーに書かれていると気づいてもらえるかどうか・・・
セルのどこかに表示するとかいいと思うよ
そこら辺は好みでどうぞ
2021/11/13(土) 06:02:35.99ID:HLrAQBx/0
どこに書いてあっても絶対に読まない民が43%いるから(当社調べ)
覚悟しとけよ
2021/11/13(土) 15:19:02.92ID:ANEVI8Gn0
>>612
ExcelVBAのスレなので
VBA(WorkSheet_Changeイベントで起動)でチェックしたら?
2021/11/13(土) 17:00:36.35ID:HusEpJk10
>>613
クエリでフォルダ指定すると、ファイル名一覧を取得出来るから
キーワードで絞込む。
で、インデックス列と希望する書き換えファイル名の列作ってリストにしといて、
あとはVBAで、IF FOR構文とSaveAsあたり使えば
出来るんでね?
628デフォルトの名無しさん (ワッチョイ 158e-OVKX)
垢版 |
2021/11/13(土) 17:14:33.96ID:bgvplZUP0
>>627
ただの決意表明に何でコメントしてるの?
Ruby基地外の自演コメントですか?
2021/11/15(月) 11:13:54.86ID:wYO/ump40
お金が稼げるVBAを組みたいです!
630デフォルトの名無しさん (ラクッペペ MM4b-wt4Y)
垢版 |
2021/11/15(月) 11:56:57.23ID:xIS0g/4FM
ハロワ行け
2021/11/15(月) 19:07:44.02ID:UtsmVGsD0
>>629
ソーシャルワーカーだらけで単価激減
vbaで稼ぐのは諦めろ
632デフォルトの名無しさん (アウアウウー Saa9-3S+0)
垢版 |
2021/11/15(月) 20:28:22.57ID:UvM84Y/0a
将来の希望としての発言なら
まず稼げる力をつけてからそういう会社に就職したらいいんじゃね
あとYoutuberとかなら勝手にやればいい
2021/11/15(月) 21:07:01.94ID:nN/tXQswd
裸エプロンで胸を机に乗せた状態でプログラムする様子をYouTubeに上げれば稼げるかもしれんぞ
2021/11/15(月) 23:28:31.25ID:UtsmVGsD0
やったけど微妙だったわ
2021/11/15(月) 23:32:21.10ID:OfX77+Sf0
>>613
例えば、Ruby で、glob を使って、
拡張子がcsv で、ファイル名に13 を含む、ファイルのフルパスを求めると

# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/*.csv"

filename_substr = "13"

p Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみを取り出す
.select { |full_path|
# ファイル名だけを取り出して、指定の語句を含む、ファイル名を含むものだけを抽出する
File.basename( full_path ).include?( filename_substr )
}

出力
[ "C:/Users/Owner/Documents/input113_2.csv",
"C:/Users/Owner/Documents/input13-3.csv" ]
2021/11/16(火) 03:08:02.41ID:FNimwzj70
>>634
これ思い出した
https://news.yahoo.co.jp/articles/c74cfb53262d1001291948766f2f5abceb2623b7
2021/11/16(火) 16:09:29.51ID:5D9mKY7bF
>>633
https://www.youtube.com/channel/UC9-eWyrUJfPJsRxtXTdx_Cg/videos
2021/11/17(水) 14:18:28.93ID:ziCKlq68a
標準モジュールで、シートAから文字列拾ってシートBに転記しようとしたら、
望まぬ形でBのWorksheet_Changeを踏んだのでCaseで分けて素通りさせたんですが、
どうにもBのValueが1004エラーで書き換わっていないのにWorksheet_Changeが発動しているらしく、
なんの変哲もない「Worksheets("B").Range("XX").Value = str」が実行されません。

F8で(Changeしてないのに)Worksheet_Changeの中身だけ進む事ができますが、それが終わると元の位置に戻って再びエラーになります。
どうしたらValueを拾って貰えるんでしょうか。
2021/11/17(水) 14:26:30.65ID:vBkg6J9AM
イベント無効化しろよ
2021/11/17(水) 17:56:35.51ID:3zD8SsO+a
>>639
たったの2行で万事解決
ありがとうございます
Public文字列をスイッチに四方八方から切替えまくってからのこのオチは恥し過ぎる
2021/11/18(木) 11:22:25.43ID:Q3OFtjIpM
>>638
何が起こってて何がしたいのかまるで意味不明なんだが、>>639が回答できた事に驚き
2021/11/18(木) 12:48:11.85ID:A7YSZCxr0
読解力って大事だよね
2021/11/19(金) 07:29:58.87ID:HahswZdrd
vba歴15年だがイベント無効化今知ったわ
2021/11/19(金) 07:42:51.24ID:tUazBZuEM
それ絶対ウソだわ
2021/11/19(金) 14:43:03.48ID:0h6/N7AxM
そういうのって必要になった時に調べるもんだし
今まで一度も使わなかった機能なんて色々あるだろ
2021/11/19(金) 21:00:40.42ID:o1Oq/T8x0
しかしだな
15年もいじってりゃエナブルイベントのせいで無限ループになることくらいあるんじゃないの
2021/11/20(土) 15:14:52.68ID:jiw0H+C10
失われた15年
2021/11/20(土) 20:08:41.79ID:TxFL/ZXr0
2013でSharePointに接続する方法ない?
2019ならADOで出来るんだけど
649デフォルトの名無しさん (ワッチョイ 1b2f-IS5D)
垢版 |
2021/11/20(土) 21:06:56.40ID:4VXr5Xxs0
2021ならAHOで出来るよ
2021/11/20(土) 23:15:05.65ID:MzgsRNiS0
作る前に様式はこれでいいよねって事前に確認したのに、作ったあとに
やっぱりああでもないこうでもないと注文つける
簡単なコードすらまともに書けないゴミの後出し地獄にムカついてくる
じゃあてめえが作れと
651デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
垢版 |
2021/11/21(日) 00:12:13.26ID:VeOo+GZo0
たかがVBAを少し書けるだけで他人をゴミ呼ばわりする馬鹿
こいつみたいな勘違いの思い上がり馬鹿はよく見かける
2021/11/21(日) 00:20:55.86ID:9y2yNJe30
わざわざ作業やり直したくないから様式を事前に確認したのに後出しで人の作業増やすやつをゴミ呼ばわりして何が悪いのかな
お前も後出しで人の作業量増やしそう

自分でやるなら好きなだけ後出ししていいけどな。できないでしょ
653デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
垢版 |
2021/11/21(日) 01:55:02.67ID:VeOo+GZo0
相手の要求を理解して指摘される前に用意しとくものだろ
馬鹿は言われたことしかできないから馬鹿だっての
2021/11/21(日) 02:07:24.62ID:9y2yNJe30
提示した仕様に対してOKが出てるのに
勝手に仕様追加しとけって?キチガイですかね
655デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
垢版 |
2021/11/21(日) 02:12:33.23ID:VeOo+GZo0
相手のレベルに合わせて打ち合わせできないから馬鹿だっての
2021/11/21(日) 02:16:27.01ID:9y2yNJe30
様式見せてるのに相手のレベルもクソもないんだがねキチガイくん
657デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
垢版 |
2021/11/21(日) 02:17:32.02ID:VeOo+GZo0
馬鹿は相手が理解しているかどうかすらわからないから馬鹿だっての
2021/11/21(日) 02:19:43.87ID:9y2yNJe30
相手は様式を理解した上で後出しの思いつきで仕様変更要求してきたんだよ
馬鹿なお前にはこんな簡単な日本語すら理解できないんだろうけど
2021/11/21(日) 04:43:02.55ID:YN582lotM
議事録なり議事メモなりで決定会議や打ち合わせの記録を残しておかないと後で後悔する
2021/11/21(日) 05:13:42.45ID:V2WgyX4h0
議事録だろうが録音だろうが無駄
レベルの低いやつってのは、簡単に前言を撤回して主張を変えてくる
2021/11/21(日) 06:09:13.16ID:CsAuHtPC0
つまり契約概念を理解しない客なわけだ。そんな客は契約は契約ですかと突っぱねて二度と相手にしないことだ。
2021/11/21(日) 06:13:44.85ID:8rSjcXEU0
VBAでなくてもクライアントからの急な仕様変更なんて日常茶飯事だから諦めろん
ある程度の仕様変更なら少ない手間で対応できる作りにするのも腕の見せ所だぞ
まぁ言うてその仕様にすんなら全部1から作り直しやんけって仕様変更もなくはないのがツラいところ
2021/11/21(日) 08:27:37.33ID:V2WgyX4h0
だからメンテナンス性とかモジュール化とかクラスが大切になってくるんだよ
経験を積んで仕様書に書かれてない部分も適切に作り込んでおいて、仕様変更のコストを下げるのも腕の見せ所
もちろん、表向きは大変だと言って渋って見せたり高額なメンテ費用を請求する駆け引きも必要
2021/11/21(日) 08:36:08.55ID:4M98L2BP0
勝手にやってやると調子に乗るだろ
665デフォルトの名無しさん (アウアウウー Sa3b-Z5oZ)
垢版 |
2021/11/21(日) 10:03:03.00ID:zwWMSsz4a
仕様変更っていっも動作確認あわせて1時間もかからんだろ
ここで愚痴る前にさっさと直せよ
666デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
垢版 |
2021/11/21(日) 12:48:58.97ID:VeOo+GZo0
馬鹿だから修正に手間が掛かるようなプログラムしか作れないのだろ
2021/11/21(日) 14:30:08.25ID:CsAuHtPC0
仕様確認を反故にする ユーザーに怒っている人をディスってる奴らが数人いるけど、こいつらは他人をディスってストレスを発散する病んだ人たちなんだろうな。
2021/11/21(日) 15:03:48.31ID:j1X7Mg5t0
プログラム的なものをやってると後出し仕様変更おしさんにはほぼ100%遭遇するからな
2021/11/21(日) 17:22:27.75ID:lG7wwdbAd
>>665
テストやリリースまでのドキュメント作成で実際はその何倍もかかるよね
2021/11/21(日) 17:48:21.28ID:RHabNs0q0
列挙型使ってればデータ収集くらいなら大体は対応できる
2021/11/21(日) 17:56:13.83ID:Cim/yDW60
後出して仕様変更されても、その分の納期と金額を保証してくれるならまあ許せる
そういうやつらは大概は、元の金額のままで同じ納期でやれっていうからな
672デフォルトの名無しさん (ワッチョイ c6da-Z5oZ)
垢版 |
2021/11/21(日) 18:04:49.83ID:rJQke0fG0
>>669
それでもここで愚痴るほど暇な訳だが
2021/11/21(日) 19:36:02.92ID:rJQke0fG0
>>671
個人契約で請け負っているならそういう交渉もあるだろうね
自社開発とかだと上司にそれ言うか?
674デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
垢版 |
2021/11/21(日) 19:50:30.82ID:VeOo+GZo0
エンドユーザーに仕様なんて伝えても理解できないことも織り込めない素人に毛が生えただけのVBAプログラマーがこぼしているだけだからな
2021/11/21(日) 22:53:28.70ID:CsAuHtPC0
>>674
こいつはきっと趣味のプログラマーだな。
676デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
垢版 |
2021/11/21(日) 23:12:50.46ID:VeOo+GZo0
悔しかったか?
どんな仕事でも言われたこと(それも自分が理解できる範囲だけ)しかできない無能に限って、少しプログラムできると天狗になって自分が偉いと思い込む
2021/11/21(日) 23:17:45.36ID:CsAuHtPC0
>>676
俺は100%通りすがりのモンだけど。
お前思いっきり読解力ないな(笑)
2021/11/22(月) 02:02:52.47ID:C2iFLgVU0
人を下に見られる程精通してる人って正直羨ましいわ
知れば知るほどまだまだ知らない事が沢山あるなぁと勉強不足を実感してしまう
2021/11/22(月) 07:01:15.65ID:slGF1Oi+d
知らないから人をバカに出来るんだよなー
2021/11/22(月) 08:46:35.28ID:Pvc6brgHd
>>675
いや、エンドユーザーだよ
2021/11/22(月) 09:28:02.25ID:GKja75Bt0
むしろ人を下にみないと精神状態が不安定なんでしょ
682デフォルトの名無しさん (アウアウウー Sa3b-Z5oZ)
垢版 |
2021/11/22(月) 11:55:26.38ID:L9slPYHUa
15年もやればそうなるんじゃね
2021/11/22(月) 23:06:20.51ID:08E8qmHLd
顔が見えない相手にしか愚痴れないんだろ
我慢してやろうぜ
2021/11/23(火) 00:04:23.39ID:HyKB94hG0
>>663
クラス作ってインターフェース作って多態性持たせてというのは確かに大事だけど
それを使いこなすレベルであればもう能力的にはVBA卒業だよ。
2021/11/23(火) 06:17:53.07ID:Xen9jxSh0
生徒が先生に対して自分は下に見られているとかいうのは違うんだけどね
2021/11/23(火) 10:30:00.53ID:Uhpscs260
その例えがそもそも違うんだけどね
2021/11/23(火) 11:28:47.36ID:Kq5e1ZWqp
天は
人の上に人を作らず
人の下に人を作らず
2021/11/23(火) 11:46:02.03ID:glM4yG/J0
古い話になるがエクセル2003くらいのことにはブック固有のツールバーとそのツールバーにマクロボタンを登録できた.
そのブックをオープンすると固有のツールバーが表示されてブック固有のマクロを簡単に実行できた.

エクセル2013を使っているけどこういう機能はなくなったのかな.
VBAでもツールバーを作れるけど,commandbarオブジェクトにaddしてボタンをaddしてなど面倒すぎるし,なにより全てのブックで表示されるとか,特定のブックだけで表示させたかったらそれ用のマクロをイベントと関連付けて切り替えるなど面倒.
昔のような機能を復活させる方法はないでしょうか?
689デフォルトの名無しさん (アウアウキー Sac7-Z5oZ)
垢版 |
2021/11/23(火) 12:15:05.23ID:2bUUy2X7a
2003インストールしたらできるんじゃないかな
2021/11/23(火) 12:19:08.48ID:glM4yG/J0
>>689
お前はお笑い芸人か
2021/11/23(火) 12:58:36.46ID:CIHUE1VX0
>>688
クイックアクセスツールバーに表示できる
そのブックだけに適用とかの設定もあったはず
2021/11/23(火) 13:55:58.62ID:A++o7U7T0
>>687
人の中に人を作れり
2021/11/23(火) 15:21:24.36ID:/4Q7KTnxa
職場にVBAバカにする人が多くて辛いです。
どうしたら見返せますか?
2021/11/23(火) 15:31:34.69ID:RPYITf6Hd
>>693
他の言語やればいい
695デフォルトの名無しさん (アウアウキー Sac7-Z5oZ)
垢版 |
2021/11/23(火) 15:46:47.44ID:vnr7FnzGa
>>693
VBAのソースを頭から読み返せばいい
2021/11/23(火) 16:56:40.89ID:glM4yG/J0
>>693
VBA と言わなきゃいいんじゃない。どうせ VBA と C の違いもそいつはわかんないだろう。
2021/11/23(火) 16:58:43.07ID:azQICWGX0
>>696
2021/11/23(火) 17:07:40.89ID:pTXgLOiP0
プロシージャモジュールを作ってます
2021/11/23(火) 19:22:11.55ID:Xen9jxSh0
マジレスすると、VBAだから馬鹿にされているんじゃなくて内容がチープだからじゃね
とりあえずセンスのあるグラフとか作ればそれなりに見えると思う
2021/11/23(火) 21:29:31.50ID:h2kETaBe0
Excelでセンスのあるグラフって描けるの?
701デフォルトの名無しさん (ワッチョイ 5f01-iUmB)
垢版 |
2021/11/23(火) 21:42:34.64ID:VKZug2mU0
その件はペンディングでお願いします。
2021/11/23(火) 22:13:21.88ID:d9zk2oza0
高度な処理をするより見た目派手なことするほうが関心されるってのはあるわな
2021/11/23(火) 22:18:57.11ID:Uhpscs260
そら見た目の印象で判断してるからな
実際どんな事やってるのか踏み込む人には効果無し
2021/11/24(水) 17:35:27.48ID:l0nIbD9FM
動いてる感じを演出して見た目を楽しませるの結構大事だよ
書き込んだところをselectするようにしたら、嬉しそうにセルに書き込まれてる様子眺めてた
2021/11/24(水) 18:46:24.44ID:M33cGNY60
リアルタイムの進捗状況見れるしな
そういうの好きな人は懐かしのデフラグも好きそう
■ このスレッドは過去ログ倉庫に格納されています