[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/22 05:48 / Filesize : 289 KB / Number-of Response : 1047
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part57



1 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:42:39.57 ID:K1uuwFLt.net]
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


※前スレ
Excel VBA 質問スレ Part56
mevius.5ch.net/test/read.cgi/tech/1534976724/

671 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 07:54:53.57 ID:8C9bqvqY.net]
>>636
hyperelink関数で良いんじゃないの
=hyperlink("https://earth.google.com/web/search/"&"皇居")
とか

672 名前:628 [2018/10/10(水) 12:15:23.99 ID:FaIKeQC1.net]
>>632
大げさな。

ちなみにそのデータは

673 名前:レ客関係の個人情報は一切含まれてなくて、含まれているのは製品や購入パーツの在庫情報だけだ。
ある作業で、その製品や在庫パーツのあるデータを使って簡単な計算をしなければならず、
現状ではいちいちWebサイトで1個1個フィルードに入力してSUBMITボタンを押して出てきたデータをExcelに貼り付けてそれを計算しなければならない。
しかしそのデータベースをexportすることができればWebサイトで1個1個地道に長時間かけて手入力で全部データをコピペしなければならない。
こんなアホなことはできない。というかこんなアホなことを真に受けてまじめにしようとする人(うちのチームの人う)ことアホだ。
ちなみにWebからExcelにexportするためのボタンはあるがなぜかほしいデータが入らないようにしているため利用できない。
[]
[ここ壊れてます]

674 名前:デフォルトの名無しさん [2018/10/10(水) 12:17:07.30 ID:FaIKeQC1.net]
そのデータベースから一挙に全データをexportできれば
あとはvlookupを使ってすべての作業が一瞬で終わり。1分。
それができないから、上司からしめきりが1か月後みたいに設定されてる。

675 名前:デフォルトの名無しさん [2018/10/10(水) 12:18:25.21 ID:FaIKeQC1.net]
【誤】
ちなみにそのデータは顧客関係の個人情報は一切含まれてなくて、含まれているのは製品や購入パーツの在庫情報だけだ。
ある作業で、その製品や在庫パーツのあるデータを使って簡単な計算をしなければならず、
現状ではいちいちWebサイトで1個1個フィルードに入力してSUBMITボタンを押して出てきたデータをExcelに貼り付けてそれを計算しなければならない。
しかしそのデータベースをexportすることができればWebサイトで1個1個地道に長時間かけて手入力で全部データをコピペしなければならない。
こんなアホなことはできない。というかこんなアホなことを真に受けてまじめにしようとする人(うちのチームの人う)ことアホだ。
ちなみにWebからExcelにexportするためのボタンはあるがなぜかほしいデータが入らないようにしているため利用できない。

【正】
ちなみにそのデータは顧客関係の個人情報は一切含まれてなくて、含まれているのは製品や購入パーツの在庫情報だけだ。
ある作業で、その製品や在庫パーツのあるデータを使って簡単な計算をしなければならず、
現状ではいちいちWebサイトで1個1個フィルードに入力してSUBMITボタンを押して出てきたデータをExcelに貼り付けてそれを計算しなければならない。
しかしそのデータベースをexportすることができればWebサイトで1個1個地道に長時間かけて手入力で全部データをコピペする必要はない。
こんなアホなことはできない。というかこんなアホなことを真に受けてまじめにしようとする人(うちのチームの人う)ことアホだ。
ちなみにWebからExcelにexportするためのボタンはあるがなぜかほしいデータが入らないようにしているため利用できない。

676 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 12:23:41.33 ID:ic51pubx.net]
>>644
>>633
SELECT権限すらつけてくれないってなら殴れ

677 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 12:25:54.86 ID:XztHvnca.net]
システムを作る側の目線でいうと、UIベースで自動化しようとするのは迷惑だから頼むからやめろ
普通に権限を貰うか、システム改善を依頼してくれ

678 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 12:36:26.92 ID:qywSzTWT.net]
外部の部署が、DB に直接アクセスすることは、普通は認められない

他の部署の人が頼みにきて、裏口でやっている話はよくきくけど、危険な行為。
ルール自体を変えないで、ルール違反の形で、黙って下の者がよくやるけど、
上の者が把握・管理していないから、会社として成立していない

ドイツ車で、大問題になった。
下の者が、勝手にプログラムを書き換えていた

679 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 12:56:48.86 ID:Zvsf2lMk.net]
>>642
大げさでも何でもない。
Webから取ってくるのだって関係部署に連絡して承認をうけるのが普通。
ましてDBに直接繋げたいなら上司に相談しとけ。



680 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 13:12:18.23 ID:ic51pubx.net]
>>647
外部の部署と言うより「データは社内の共有データでDBはシステム部が所管している」
ように読めるけどね。
昨今のデータ活用・データ民主化の流れでエンドユーザにSELECTさせるのは当然になってる。
もちろん無断でやるなんてのは論外だが。

681 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 14:45:22.50 ID:47KSV23N.net]
>>629
どういう意味?
可視セルをそのまま配列に放り込んでも連続した部分しか取り込めない仕様だけど

682 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 16:35:31.34 ID:Umu+TTue.net]
今回ばかりはRubyさんの言う事が正しい気がする

今の人件費はこれだけです
RPAでやったらこうなります
DBへのアクセスを許可してもらえればこうなります
だからこうして欲しい、と、数字を出して説得するのが
いんじゃないかな

683 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 18:29:59.16 ID:hH0ybitP.net]
>>650
いや、改めて試したけどできるぞ?

684 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 19:13:54.40 ID:YG2jN7++.net]
>>651
アマチュアならこういう意識が薄くてもしょうがない

685 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 19:36:58.16 ID:8C9bqvqY.net]
>645
SELECTは危険ではないけど重くなるんだよ
特に初心者が書いたwhereもしないSELECTとか重くてかなわん
だから素直に頼んでくれ、ほんと

>>651
それでいいよ

全件SELECTしてからaccessでフィルタする奴

686 名前:は本気で死ねとしか思わん []
[ここ壊れてます]

687 名前:621 mailto:sage [2018/10/10(水) 22:05:51.66 ID:KAlixXjp.net]
>>642-644
目的:Web系在庫管理システムのデータ抽出の際の項目選択の手間を省きたい
手段:以下の作業を自動実行する
 1.在庫管理データベースからすべての情報をその都度抽出する
 2.全データから必要な情報のみを抽出し、加工(計算など)を行う

この、小さな目的達成のために払うリスクがでかすぎることを解っていないところとか、
俺の知るクビになりかけた人物と同じこと言ってて流石に寒気がした。
もっともその人が作ったのはエンドユーザーが抽出条件をある程度自由にカスタマイズ・保存できる文字どおりのEUCツールで、
ハイコストなSELECTが発行されまくった結果システム全体のパフォーマンスが微妙に落ちて、それでベンダのSEが気づいたんだが。

はじめから管理部署なりベンダなりに相談しておけば:
A.システム内に解決する手段が既にあるかもしれない(標準のEUC機能に抽出条件を保存できたり)
B.システムで対応可能だったかもしれない(SEが管理する簡易的な抽出機能への追加など)
C.システムで対応できずともベターな解決手段を探れたかもしれない(APIへの接続許可など)

>>654も言っているがDBもサーバも回線(帯域幅)もタダではないし有限だし消耗品と思え。

688 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 22:12:58.00 ID:R8Iewqe6.net]
ユーザーに触らせたくないDBとEUC用DBの違いって何なんですかね?

689 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 22:14:25.01 ID:8C9bqvqY.net]
>DBもサーバも回線(帯域幅)もタダではないし有限だし消耗品と思え。
そうだね、業務用途のサーバーと回線は従量制と知らない人が多すぎる
逆に従量制じゃなければ全員に迷惑がかかるって事になり、それまた迷惑
開発の端の端にいるなら、回線ってとんでもない金額がかかってるって知っておいてほしい

自分のPC内でぐるぐる回すだけならまぁわからんでもないけどな



690 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 09:09:34.84 ID:3Bdkvxy9.net]
サーバー内で、ちゃんと絞り込みが出来ているかとか、
実行計画を見て、確認したり

高度情報処理資格のDB スペシャリストを取ったり、ミックの本を読んだり、
勉強した人しか、DB を触っちゃいけない

691 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 10:35:12.02 ID:OPRsoT4p.net]
DBスペシャリスト持ってないの丸わかりだな
DBスペシャリストで扱うのはデータモデリングやアプリケーション設計が中心で、
クエリチューニングのような運用寄りの出題はほとんどない

692 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 10:37:57.07 ID:ljJfys9R.net]
そんなハードル高くしてどうすんだよ
ビジネスで競争に負けてたらシステムの予算だって出なくなるんだぞ

693 名前:デフォルトの名無しさん [2018/10/11(木) 12:17:10.50 ID:z21fIq1H.net]
なぜか質問そっちのけでレベルの低いマウント取り合いになるプロさん達w

694 名前:デフォルトの名無しさん [2018/10/11(木) 12:37:03.82 ID:r2SLIRPN.net]
おれも素人だが、今回の件はいくらなんでもアホすぎる質問をした素人VBAerが悪いと思う

695 名前:656 mailto:sage [2018/10/11(木) 12:55:04.68 ID:3Bdkvxy9.net]
DB スペシャリストの過去問題をやればよい

上司から、レコードの絞り込みが甘いと注意されました。
表設計をどう直しますか?

もちろん、出題されている

696 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 14:56:15.23 ID:O4qg21v8.net]
ExcelVBAのスレでいきなりDBスペシャリストの話題持ち出すのはどこのアホウなんだよ

697 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 16:13:58.69 ID:L8oPmsqv.net]
いきなりってわけじゃないけどな
それなりの流れがある

698 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 16:14:37.48 ID:L8oPmsqv.net]
VBAスペシャリストの皆

699 名前:さん []
[ここ壊れてます]



700 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 19:13:53.56 ID:ZOLcqtf+.net]
まぁ使用する範囲で同じ内容のテーブル作っておいて
マスターの方のテーブルの登録や更新、削除をトリガーとして
別途作った同じ内容のテーブルに反映させた側のテーブルを見に行くようにしたりする
システムには当たったことがあるけどね。

何にせよ余計なことはやらせない方が無難ではあるよ。

701 名前:デフォルトの名無しさん [2018/10/11(木) 20:25:53.87 ID:xmZyhWmI.net]
>>654
Accessのウィザードで作ったリンクテーブルやインポート使ってるんだけど
これって該当します?
sharePointのリスト取り込むときってどうするのがいいんだろう?

702 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 20:46:07.05 ID:Y5yLaTkx.net]
>>668
勝手に接続してるなら、どういう方法だろうとアウトと思っておいたほうがいい

重さで言うなら、SQL直接書くかせめて確認するのが一番確実
とにかく最初にwhereでフィルタするんだ
そのフィルタしたテーブル同士で結合したりするんだ。それだけ覚えておけばどうにかなる
リンクしてるだけだと特に意味はないわ
ってかこの辺はDB板行ったほうがいいだろう

703 名前:デフォルトの名無しさん [2018/10/11(木) 20:54:31.19 ID:Pm0hH2qh.net]
SELECT TOP 100 * FROM TableA

704 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 17:32:15.43 ID:PXpuxPjv.net]
許可もらわんと管理部門から逆にIPたどられて社内のPCから不正なアクセスが頻繁にあるって言われなければいいね

705 名前:デフォルトの名無しさん [2018/10/13(土) 18:47:47.50 ID:L3Dj2/gz.net]
コレがエクセルのシートしか使えないヤツラの知能の限界
しょうがない
どこにインデックスはってるか見もせずに
where句で巨大なテーブルをいきなり検索したりするからな
そしてフルスキャンになる

そしてcountで件数を確認もせずにいきなり大量抽出する

知能が低いヤツラにSQLさわらせるとこうなる
もうね予見できるワケ

706 名前:デフォルトの名無しさん [2018/10/13(土) 18:51:04.15 ID:L3Dj2/gz.net]
低学歴知恵遅れの知能が低いヤツにSQLはキチガイに刃物
低学歴知恵遅れの知能が低いヤツにオブジェクト指向はキチガイに刃物

銃刀法違反なみの重罪

コレは定説

707 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 18:53:51.58 ID:T9MlimPF.net]
キチガイ登場
こわい

708 名前:デフォルトの名無しさん [2018/10/13(土) 19:04:43.08 ID:L3Dj2/gz.net]
そもそもdbにはいっぱい個人情報が一杯つまってる
こっちのほうが重大な問題だからな

表ごとにセキュリティレベルがあるのも当然
そういった制限すらないのはヤバイ会社

だれがいつそういった情報を取得スしたか
どんな業務で誰の承認で取得したか
ちゃんと履歴が必要になる

709 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 21:11:38.49 ID:iFQl0LJl.net]
いっぱい一杯



710 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 22:25:56.64 ID:/vvsi1/9.net]
Excel VBAの話をしてよ

711 名前:デフォルトの名無しさん [2018/10/14(日) 00:37:19.40 ID:Q3eQCyRU.net]
excel vbaで語ることなんかあんの
excel vbaで語るなら、それを併用して得られるメリットぐらいしかない

excel vbaでなんかいいことあった?

712 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 10:50:03.22 ID:xKzvoEYL.net]
>>678
おまえはなんの話をしているんだ?スレ名読めんのか?

713 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 11:16:34.21 ID:RzJcTIeH.net]
>>678
その質問はご法度
無視されるか話をそらされるだけ
>>679のようにね

714 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 15:42:57.90 ID:jfwl8Yip.net]
>>678
彼女ができました

715 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 21:16:00.15 ID:E6pr56BO.net]
 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてくださ

716 名前:「。拡散も含め、お願い致します。 []
[ここ壊れてます]

717 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 03:46:59.80 ID:SShwrEAs.net]
激しくスレチ

718 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 15:17:46.48 ID:ZlBiMRvR.net]
excel vbaの話題がない、最近使ってないし

719 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:43:27.94 ID:VGXZfwAw.net]
別に無いならないでそれでよかろう。話題がないとお前は困るのか?



720 名前:682 [2018/10/16(火) 20:24:31.25 ID:wwtQC7N8.net]
>>685
困るから言っておるのだ

721 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 20:33:30.35 ID:7RIuHdb8.net]
yahoo知恵遅れなら毎日うんざりするような質問だらけだよ

722 名前:デフォルトの名無しさん [2018/10/16(火) 20:35:04.21 ID:H029zngb.net]
ヤホーよりプロさんの方がバカっぽいけどねw

723 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 20:58:20.65 ID:7RIuHdb8.net]
知恵遅れでの"VBA" "VBスクリプト" "マクロ"いずれかを含む質問数、過去24時間に76投稿
回答者もうんざりしてる

724 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 22:01:20.92 ID:QoFGLA2x.net]
エクセルの鉄則:達人であることは隠せ
https://jp.wsj.com/articles/SB10750612626653313748604584520883598309574
「次々と人がやって来ては『エクセル...

725 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 23:49:27.99 ID:LqxRfbs7.net]
ここが面白く無いせいでPowerShellerがExcelスレまで荒らしに来てて困る。

726 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 13:34:37.11 ID:i+REgo0L.net]
カンマ区切りのcsvをデータインポートで読み込むと一部がズレます
csvを一度メモ帳に全部貼り付けて、それをexcelに貼ったあとデータ区切りでカンマを選ぶと上手く取り込めます
この挙動の違いがイマイチよく分からないんですがどうしてメモ帳に貼り付けることで上手く読み込めるようになるんでしょうか

727 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 13:46:32.94 ID:tHw/Qu/E.net]
そら貼り付けとデータインポートは別の機能だからだよ
Excelは既存の機能の動作がわずかでも変わったら必ずマクロが動かんようになったやないかどないしてくれんねんボケと山ほどの馬鹿が怒鳴り込んでくる
似た機能を追加したから共通化しますね〜と安易に仕様変更できず、大量の機能の重複を抱えながら昔のバグっぽい挙動も尊重して個別にメンテしてるの
このスレにいるような連中のせいでな

728 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 14:48:36.05 ID:9GZlDgUm.net]
>>692
データのせい

729 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 14:59:38.33 ID:uJo2tnoC.net]
>>694が正しい。 >>693は戯言なので無視していい。
メモ帳貼り付け保存後、と前とをバイナリー比較すれば理由は見えてくるはず



730 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:42:17.32 ID:i+REgo0L.net]
ありがとうございます
bomとかそういう感じですかね
また、うまく読み込めないのは一部utf8形式の文字コード?があり、それをsjisに変換出来ないのが原因のようでした
データインポートでutfを選択したら無事開けました

731 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 17:06:43.54 ID:S++6iW66.net]
>>696
一部だけUTF8?
混在してたってこと?

732 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 18:02:13.22 ID:5pOkIjLu.net]
半角と全角の混在で全角だけUTF-8とか

733 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 18:07:18.62 ID:7Q2iPe/Z.net]
ダブルクォーテーションとカンマのくくりが上手く行ってないとか

734 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 19:38:14.44 ID:uJo2tnoC.net]
>>698
あたりまえ、UTFもShiftJISも英数は同じ

735 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 23:31:27.45 ID:SJQ0JWQn.net]
英数だけが半角とは限らんがな
ココニカケルカナ

736 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 13:31:04.71 ID:ks5As5t+.net]
セル内改行でひっかかってるのかも
改行コードは何種類

737 名前:もあるし、読み込み方法によって正常に認識してくれないケースがあるから []
[ここ壊れてます]

738 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 13:46:30.50 ID:B1wZDxhL.net]
>>702
メモ帳経由だとうまくいくってのと整合しない

739 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 14:30:43.91 ID:vpgDyIt0.net]
>>696 で解決報告あるのに何をいつまで考えてるのw



740 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:04:18.15 ID:ekkKNanr.net]
自分でもしっかりと把握してないので書くつもり無かったんですが一応解決の詳細書きますね
まずダブルクォーテーションやカンマはないです
あと自分の理解と説明が足りてませんでした
一部utf8ではなく全部utf8で基本普通の英文字と数字なのでsjisでもぱっと見問題なく開けるけどクエリストリングのカラムにノーブレーキングスペース?やsjis対応してない文字列があり、そこで上手いこと処理出来てなかったみたいです
utf8をsjis指定でデータインポートしようとしたのが間違いの発端でしたスミマセン

741 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:33:45.83 ID:vpgDyIt0.net]
いやいやおつかれさま

742 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:12:45.91 ID:wIeiUTi/.net]
WorkSheet_Changeでセルの内容に変化があったときだけ文字色を赤にする処理を行おうとしています
対象が単体ならApplication.Undoで比較できますが、複数の場合1セルずつに対してUndoができないため
対象全体の内容を一時シートにコピー→For Eachで元データと1つずつ比較しているのですが、もっとスマートな方法はあるでしょうか?

743 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:38:51.56 ID:fhgndB5P.net]
>>707
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Font.Color = -16776961
End Sub

これで良いのでは???

744 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:45:12.89 ID:wIeiUTi/.net]
書き方が不正確でした
「対象セルの値が変更される前と一致しない場合にのみ」文字色を変えたい、です

745 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:54:42.06 ID:vpgDyIt0.net]
赤くしなくても共有と変更履歴で代用可能だろ

746 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:58:11.74 ID:fhgndB5P.net]
>>709
あぁそういう事か、すまん
今「excel change before」で調べただけだけど、そうするしかなさそう
selectionchangeでselectionの内容を保存しておくみたいだねぇ
よー考えるわ

747 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:58:42.58 ID:fhgndB5P.net]
>>710
そうだねぇ
なんか赤にする以外の方法の方が良い気がする

748 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 14:49:27.87 ID:2evJVEIF.net]
くそう、↑のやり方以外が思いつかない。
セルにtagプロパティでもありゃ前値保持できるのに。。

赤字にしたい目的がわかれば、そもそも別の簡単な手とかあるかも?(逃げ)

749 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 21:19:57.26 ID:acLDgyPd.net]
>>713
Excelをフロントエンドにしたデータベース管理です
一度に複数のデータを弄ることが多いため、フォームではなくテーブルに直接データを読み込み、編集後に更新といった流れで、この更新部分の判定を文字色で行っています
作業者自身も更新前にどこを変更したかひと目でわかると考えてこの方法を取ってますが、もっとベターな方法があるなら全然乗り換えたいです



750 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 21:42:58.96 ID:yGBPiuMh.net]
編集後・更新
この間に変更する予定のセルに対して処理をかませることができそう、というか出来るだろう

751 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 23:04:57.15 ID:MRFHlf9T.net]
Vue.js などのウォッチャ・データバインド・リアクティブシステムだろ

データ更新前後のフックは、無いのか?

752 名前:デフォルトの名無しさん [2018/10/20(土) 02:32:55.91 ID:ZiSB9nEL.net]
Ifとforだけでとりあえず簡単な処理くらいはさせられるようになったんだけど、次は何を学べば順当にステップアップできる?
イベントプロシージャもダブルクリックだけは理解した
Constで柔軟なコード書くのも学んだ
配列はいまいち便利な使い道がわからない

753 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 06:58:16.21 ID:JSzrZOTM.net]
>>717
処理の制御自体は分岐と繰り返しを覚えれば大抵なんとかなる。
ロジックをよりスマートにしたい。処理時間を短縮したい等なら、配列やアルゴリズム等の効率的なやり方が必須になる。
特に、セルを使うならば配列は絶対使ったほうがいい。二次元配列と聞くとよくわからなそうだが、
(y軸,x軸) を指定するだけだから、一見難しそうに見えても簡単だよ。
あとは、何をやりたいかによるかな。それによって取得するべき技術が決まってくると思う。

754 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 07:07:20.99 ID:JSzrZOTM.net]
>>717
配列使った方がいい理由を補足すると、
配列変数を使えば、変数の数を大幅に減らすことができるかつ、ループ文を使って1から最大数までアクセスがしやすいから。例えば、人間という名前の違う変数を別々に100人定義するのは面倒。
だが、配列変数を使えば1行で定義できる。

セルに関して言うと、VBAはセルにアクセスした際に大幅に時間を使う。値を編集するたびに毎回セルにアクセスするよりも、配列変数に格納をして、まるごとセルに代入するようにすれば、アクセスは1回で済む。
(それっぽく例えるなら、積み木を片付ける時に1つずつ摘まんで箱に入れるか、形を整えた後まとめて箱に入れるかの違い)

755 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 07:49:40.17 ID:/P2yZ5ci.net]
>>717
次は違う言語を学ぶといいよ
pythonとかがオススメ

756 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 08:15:19.11 ID:A4xnc2/3.net]
>>717
シートはセルの二次元配列
ブックはシートの一次元配列
合わせて三次元の配列

元々エクセル自体が配列の塊なので、
vba上だけで配列を持たなくてもなんとかできるようにはなっている

他のプログラムだと配列なしなんてありえないんだけどね

vbaで配列を扱う大きなメリットとしては、爆速にできる事

で、そこまで来たら何を覚えるかだけど
・objectの扱い。set foo = sheets("name")
・fso(filesystemobject)

この辺かね〜

他言語やるなら俺もpythonがオススメ

757 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 09:34:05.81 ID:46UfR13B.net]
>>721
>合わせて三次元の配列

「三次元配列」と書かないところが正確でイイ!

758 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 11:18:59.41 ID:+OPbDxrw.net]
あ・・・Application.Workbooks(3).Worksheets(1).Cells(1, 1).Characters(2, 2).Font.Color = vbRed

759 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 11:51:10.77 ID:ZiSB9nEL.net]
参考になります!説明がとても分かりやすいですね 尊敬します
配列を学ぶことでの処理の高速化も理解できました
setはサンプルコードでよく見かけるなとは思ってたけど、詳しく掘り下げてみます
fsoは初耳なのでじっくり学びます
Pythonも並行して学びたいと思ってたのでちょうどいいタイミングみたいですね
ありがとうございました。



760 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 12:18:11.17 ID:4zkFVcA8.net]
for each文かな

761 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 12:25:25.27 ID:A4xnc2/3.net]
あぁfor eachは必須だね

762 名前:デフォルトの名無しさん [2018/10/20(土) 13:40:10.36 ID:fOofNO0j.net]
>>717
余裕があるならアセンブリ言語をちょっと齧っとくのがいいと思う

763 名前: mailto:sage [2018/10/20(土) 14:06:53.02 ID:9jkSTDWo.net]
>>727
アセンブラとか環境とかはどう調達すればいいのでしょうか?

764 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 14:48:16.50 ID:wrk6+Nbn.net]
masm とか nasm とかのキーワードで調べる
っていうか、vbaの範囲外のことまでここで聞くなよ

765 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 17:52:59.67 ID:b1m8oY5e.net]
>>717
デバッグの方法(VBEの機能)
ユーザーフォーム
for next以外の繰り返し(do loop)

766 名前:デフォルトの名無しさん [2018/10/20(土) 18:35:11.69 ID:fOofNO0j.net]
>>728
齧るだけだからネットで調べてだいたいの仕組みが分かればそれでいいんだよ
「アセンブラ 入門 casl」でググって見つかったサイトで勉強してみるのがいいと思う
資格の勉強にもなるし

やる気あるなら機械語が使えるポケコンを買って実際に
ハンドアセンブルしてみるのもいいかも

767 名前: mailto:sage [2018/10/20(土) 19:32:33.10 ID:9jkSTDWo.net]
>>731
casl2 は気が進まなくって…だってハードがないんでしょう?

768 名前:デフォルトの名無しさん [2018/10/20(土) 19:45:41.44 ID:fOofNO0j.net]
>>732
うん、ハードはないな、仮想CPUだから
でもコンピューターの仕組みは分かるようになる
俺はアセンブリの知識のおかげでデバッグとかで役に立ってる

769 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 09:08:05.20 ID:kG1rnb84.net]
オデッセイのやってるvbaの試験受けてvbaスタンダードに合格したけど、
これ実際にvbaでプログラム作れって言われても絶対作れないな。

何が言いたいかって、お前らすげーわ。



770 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 11:55:37.97 ID:ENQ8JUj5.net]
>>732
ハートもないやつがなにいってる

771 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 12:30:29.51 ID:jhIwJ9RB.net]
vbaで色々ツール作ってるけど、自分しか使わないっていうので設計雑になっちゃう。
後の機能追加等考えるとクラスモジュール使って役割ハッキリさせた設計が良いんだろうけど、結局書くのが楽な手続き型チックになっちゃうのよね






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<289KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef