ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part56
http://mevius.5ch.net/test/read.cgi/tech/1534976724/
探検
Excel VBA 質問スレ Part57
■ このスレッドは過去ログ倉庫に格納されています
2018/09/10(月) 21:42:39.57ID:K1uuwFLt
651デフォルトの名無しさん
2018/10/10(水) 19:13:54.40ID:YG2jN7++ >>649
アマチュアならこういう意識が薄くてもしょうがない
アマチュアならこういう意識が薄くてもしょうがない
652デフォルトの名無しさん
2018/10/10(水) 19:36:58.16ID:8C9bqvqY >643
SELECTは危険ではないけど重くなるんだよ
特に初心者が書いたwhereもしないSELECTとか重くてかなわん
だから素直に頼んでくれ、ほんと
>>649
それでいいよ
全件SELECTしてからaccessでフィルタする奴は本気で死ねとしか思わん
SELECTは危険ではないけど重くなるんだよ
特に初心者が書いたwhereもしないSELECTとか重くてかなわん
だから素直に頼んでくれ、ほんと
>>649
それでいいよ
全件SELECTしてからaccessでフィルタする奴は本気で死ねとしか思わん
653621
2018/10/10(水) 22:05:51.66ID:KAlixXjp >>640-642
目的:Web系在庫管理システムのデータ抽出の際の項目選択の手間を省きたい
手段:以下の作業を自動実行する
1.在庫管理データベースからすべての情報をその都度抽出する
2.全データから必要な情報のみを抽出し、加工(計算など)を行う
この、小さな目的達成のために払うリスクがでかすぎることを解っていないところとか、
俺の知るクビになりかけた人物と同じこと言ってて流石に寒気がした。
もっともその人が作ったのはエンドユーザーが抽出条件をある程度自由にカスタマイズ・保存できる文字どおりのEUCツールで、
ハイコストなSELECTが発行されまくった結果システム全体のパフォーマンスが微妙に落ちて、それでベンダのSEが気づいたんだが。
はじめから管理部署なりベンダなりに相談しておけば:
A.システム内に解決する手段が既にあるかもしれない(標準のEUC機能に抽出条件を保存できたり)
B.システムで対応可能だったかもしれない(SEが管理する簡易的な抽出機能への追加など)
C.システムで対応できずともベターな解決手段を探れたかもしれない(APIへの接続許可など)
>>652も言っているがDBもサーバも回線(帯域幅)もタダではないし有限だし消耗品と思え。
目的:Web系在庫管理システムのデータ抽出の際の項目選択の手間を省きたい
手段:以下の作業を自動実行する
1.在庫管理データベースからすべての情報をその都度抽出する
2.全データから必要な情報のみを抽出し、加工(計算など)を行う
この、小さな目的達成のために払うリスクがでかすぎることを解っていないところとか、
俺の知るクビになりかけた人物と同じこと言ってて流石に寒気がした。
もっともその人が作ったのはエンドユーザーが抽出条件をある程度自由にカスタマイズ・保存できる文字どおりのEUCツールで、
ハイコストなSELECTが発行されまくった結果システム全体のパフォーマンスが微妙に落ちて、それでベンダのSEが気づいたんだが。
はじめから管理部署なりベンダなりに相談しておけば:
A.システム内に解決する手段が既にあるかもしれない(標準のEUC機能に抽出条件を保存できたり)
B.システムで対応可能だったかもしれない(SEが管理する簡易的な抽出機能への追加など)
C.システムで対応できずともベターな解決手段を探れたかもしれない(APIへの接続許可など)
>>652も言っているがDBもサーバも回線(帯域幅)もタダではないし有限だし消耗品と思え。
654デフォルトの名無しさん
2018/10/10(水) 22:12:58.00ID:R8Iewqe6 ユーザーに触らせたくないDBとEUC用DBの違いって何なんですかね?
655デフォルトの名無しさん
2018/10/10(水) 22:14:25.01ID:8C9bqvqY >DBもサーバも回線(帯域幅)もタダではないし有限だし消耗品と思え。
そうだね、業務用途のサーバーと回線は従量制と知らない人が多すぎる
逆に従量制じゃなければ全員に迷惑がかかるって事になり、それまた迷惑
開発の端の端にいるなら、回線ってとんでもない金額がかかってるって知っておいてほしい
自分のPC内でぐるぐる回すだけならまぁわからんでもないけどな
そうだね、業務用途のサーバーと回線は従量制と知らない人が多すぎる
逆に従量制じゃなければ全員に迷惑がかかるって事になり、それまた迷惑
開発の端の端にいるなら、回線ってとんでもない金額がかかってるって知っておいてほしい
自分のPC内でぐるぐる回すだけならまぁわからんでもないけどな
656デフォルトの名無しさん
2018/10/11(木) 09:09:34.84ID:3Bdkvxy9 サーバー内で、ちゃんと絞り込みが出来ているかとか、
実行計画を見て、確認したり
高度情報処理資格のDB スペシャリストを取ったり、ミックの本を読んだり、
勉強した人しか、DB を触っちゃいけない
実行計画を見て、確認したり
高度情報処理資格のDB スペシャリストを取ったり、ミックの本を読んだり、
勉強した人しか、DB を触っちゃいけない
657デフォルトの名無しさん
2018/10/11(木) 10:35:12.02ID:OPRsoT4p DBスペシャリスト持ってないの丸わかりだな
DBスペシャリストで扱うのはデータモデリングやアプリケーション設計が中心で、
クエリチューニングのような運用寄りの出題はほとんどない
DBスペシャリストで扱うのはデータモデリングやアプリケーション設計が中心で、
クエリチューニングのような運用寄りの出題はほとんどない
658デフォルトの名無しさん
2018/10/11(木) 10:37:57.07ID:ljJfys9R そんなハードル高くしてどうすんだよ
ビジネスで競争に負けてたらシステムの予算だって出なくなるんだぞ
ビジネスで競争に負けてたらシステムの予算だって出なくなるんだぞ
659デフォルトの名無しさん
2018/10/11(木) 12:17:10.50ID:z21fIq1H なぜか質問そっちのけでレベルの低いマウント取り合いになるプロさん達w
660デフォルトの名無しさん
2018/10/11(木) 12:37:03.82ID:r2SLIRPN おれも素人だが、今回の件はいくらなんでもアホすぎる質問をした素人VBAerが悪いと思う
661656
2018/10/11(木) 12:55:04.68ID:3Bdkvxy9 DB スペシャリストの過去問題をやればよい
上司から、レコードの絞り込みが甘いと注意されました。
表設計をどう直しますか?
もちろん、出題されている
上司から、レコードの絞り込みが甘いと注意されました。
表設計をどう直しますか?
もちろん、出題されている
662デフォルトの名無しさん
2018/10/11(木) 14:56:15.23ID:O4qg21v8 ExcelVBAのスレでいきなりDBスペシャリストの話題持ち出すのはどこのアホウなんだよ
663デフォルトの名無しさん
2018/10/11(木) 16:13:58.69ID:L8oPmsqv いきなりってわけじゃないけどな
それなりの流れがある
それなりの流れがある
664デフォルトの名無しさん
2018/10/11(木) 16:14:37.48ID:L8oPmsqv VBAスペシャリストの皆さん
665デフォルトの名無しさん
2018/10/11(木) 19:13:53.56ID:ZOLcqtf+ まぁ使用する範囲で同じ内容のテーブル作っておいて
マスターの方のテーブルの登録や更新、削除をトリガーとして
別途作った同じ内容のテーブルに反映させた側のテーブルを見に行くようにしたりする
システムには当たったことがあるけどね。
何にせよ余計なことはやらせない方が無難ではあるよ。
マスターの方のテーブルの登録や更新、削除をトリガーとして
別途作った同じ内容のテーブルに反映させた側のテーブルを見に行くようにしたりする
システムには当たったことがあるけどね。
何にせよ余計なことはやらせない方が無難ではあるよ。
666デフォルトの名無しさん
2018/10/11(木) 20:25:53.87ID:xmZyhWmI667デフォルトの名無しさん
2018/10/11(木) 20:46:07.05ID:Y5yLaTkx >>666
勝手に接続してるなら、どういう方法だろうとアウトと思っておいたほうがいい
重さで言うなら、SQL直接書くかせめて確認するのが一番確実
とにかく最初にwhereでフィルタするんだ
そのフィルタしたテーブル同士で結合したりするんだ。それだけ覚えておけばどうにかなる
リンクしてるだけだと特に意味はないわ
ってかこの辺はDB板行ったほうがいいだろう
勝手に接続してるなら、どういう方法だろうとアウトと思っておいたほうがいい
重さで言うなら、SQL直接書くかせめて確認するのが一番確実
とにかく最初にwhereでフィルタするんだ
そのフィルタしたテーブル同士で結合したりするんだ。それだけ覚えておけばどうにかなる
リンクしてるだけだと特に意味はないわ
ってかこの辺はDB板行ったほうがいいだろう
668デフォルトの名無しさん
2018/10/11(木) 20:54:31.19ID:Pm0hH2qh SELECT TOP 100 * FROM TableA
669デフォルトの名無しさん
2018/10/12(金) 17:32:15.43ID:PXpuxPjv 許可もらわんと管理部門から逆にIPたどられて社内のPCから不正なアクセスが頻繁にあるって言われなければいいね
670デフォルトの名無しさん
2018/10/13(土) 18:47:47.50ID:L3Dj2/gz コレがエクセルのシートしか使えないヤツラの知能の限界
しょうがない
どこにインデックスはってるか見もせずに
where句で巨大なテーブルをいきなり検索したりするからな
そしてフルスキャンになる
そしてcountで件数を確認もせずにいきなり大量抽出する
知能が低いヤツラにSQLさわらせるとこうなる
もうね予見できるワケ
しょうがない
どこにインデックスはってるか見もせずに
where句で巨大なテーブルをいきなり検索したりするからな
そしてフルスキャンになる
そしてcountで件数を確認もせずにいきなり大量抽出する
知能が低いヤツラにSQLさわらせるとこうなる
もうね予見できるワケ
671デフォルトの名無しさん
2018/10/13(土) 18:51:04.15ID:L3Dj2/gz 低学歴知恵遅れの知能が低いヤツにSQLはキチガイに刃物
低学歴知恵遅れの知能が低いヤツにオブジェクト指向はキチガイに刃物
銃刀法違反なみの重罪
コレは定説
低学歴知恵遅れの知能が低いヤツにオブジェクト指向はキチガイに刃物
銃刀法違反なみの重罪
コレは定説
672デフォルトの名無しさん
2018/10/13(土) 18:53:51.58ID:T9MlimPF キチガイ登場
こわい
こわい
673デフォルトの名無しさん
2018/10/13(土) 19:04:43.08ID:L3Dj2/gz そもそもdbにはいっぱい個人情報が一杯つまってる
こっちのほうが重大な問題だからな
表ごとにセキュリティレベルがあるのも当然
そういった制限すらないのはヤバイ会社
だれがいつそういった情報を取得スしたか
どんな業務で誰の承認で取得したか
ちゃんと履歴が必要になる
こっちのほうが重大な問題だからな
表ごとにセキュリティレベルがあるのも当然
そういった制限すらないのはヤバイ会社
だれがいつそういった情報を取得スしたか
どんな業務で誰の承認で取得したか
ちゃんと履歴が必要になる
674デフォルトの名無しさん
2018/10/13(土) 21:11:38.49ID:iFQl0LJl いっぱい一杯
675デフォルトの名無しさん
2018/10/13(土) 22:25:56.64ID:/vvsi1/9 Excel VBAの話をしてよ
676デフォルトの名無しさん
2018/10/14(日) 00:37:19.40ID:Q3eQCyRU excel vbaで語ることなんかあんの
excel vbaで語るなら、それを併用して得られるメリットぐらいしかない
excel vbaでなんかいいことあった?
excel vbaで語るなら、それを併用して得られるメリットぐらいしかない
excel vbaでなんかいいことあった?
677デフォルトの名無しさん
2018/10/14(日) 10:50:03.22ID:xKzvoEYL >>676
おまえはなんの話をしているんだ?スレ名読めんのか?
おまえはなんの話をしているんだ?スレ名読めんのか?
678デフォルトの名無しさん
2018/10/14(日) 11:16:34.21ID:RzJcTIeH679デフォルトの名無しさん
2018/10/14(日) 15:42:57.90ID:jfwl8Yip >>676
彼女ができました
彼女ができました
680デフォルトの名無しさん
2018/10/15(月) 21:16:00.15ID:E6pr56BO 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
681デフォルトの名無しさん
2018/10/16(火) 03:46:59.80ID:SShwrEAs 激しくスレチ
682デフォルトの名無しさん
2018/10/16(火) 15:17:46.48ID:ZlBiMRvR excel vbaの話題がない、最近使ってないし
683デフォルトの名無しさん
2018/10/16(火) 19:43:27.94ID:VGXZfwAw 別に無いならないでそれでよかろう。話題がないとお前は困るのか?
684682
2018/10/16(火) 20:24:31.25ID:wwtQC7N8 >>683
困るから言っておるのだ
困るから言っておるのだ
685デフォルトの名無しさん
2018/10/16(火) 20:33:30.35ID:7RIuHdb8 yahoo知恵遅れなら毎日うんざりするような質問だらけだよ
686デフォルトの名無しさん
2018/10/16(火) 20:35:04.21ID:H029zngb ヤホーよりプロさんの方がバカっぽいけどねw
687デフォルトの名無しさん
2018/10/16(火) 20:58:20.65ID:7RIuHdb8 知恵遅れでの"VBA" "VBスクリプト" "マクロ"いずれかを含む質問数、過去24時間に76投稿
回答者もうんざりしてる
回答者もうんざりしてる
688デフォルトの名無しさん
2018/10/16(火) 22:01:20.92ID:QoFGLA2x エクセルの鉄則:達人であることは隠せ
https://jp.wsj.com/articles/SB10750612626653313748604584520883598309574
「次々と人がやって来ては『エクセル...
https://jp.wsj.com/articles/SB10750612626653313748604584520883598309574
「次々と人がやって来ては『エクセル...
689デフォルトの名無しさん
2018/10/16(火) 23:49:27.99ID:LqxRfbs7 ここが面白く無いせいでPowerShellerがExcelスレまで荒らしに来てて困る。
690デフォルトの名無しさん
2018/10/17(水) 13:34:37.11ID:i+REgo0L カンマ区切りのcsvをデータインポートで読み込むと一部がズレます
csvを一度メモ帳に全部貼り付けて、それをexcelに貼ったあとデータ区切りでカンマを選ぶと上手く取り込めます
この挙動の違いがイマイチよく分からないんですがどうしてメモ帳に貼り付けることで上手く読み込めるようになるんでしょうか
csvを一度メモ帳に全部貼り付けて、それをexcelに貼ったあとデータ区切りでカンマを選ぶと上手く取り込めます
この挙動の違いがイマイチよく分からないんですがどうしてメモ帳に貼り付けることで上手く読み込めるようになるんでしょうか
691デフォルトの名無しさん
2018/10/17(水) 13:46:32.94ID:tHw/Qu/E そら貼り付けとデータインポートは別の機能だからだよ
Excelは既存の機能の動作がわずかでも変わったら必ずマクロが動かんようになったやないかどないしてくれんねんボケと山ほどの馬鹿が怒鳴り込んでくる
似た機能を追加したから共通化しますね〜と安易に仕様変更できず、大量の機能の重複を抱えながら昔のバグっぽい挙動も尊重して個別にメンテしてるの
このスレにいるような連中のせいでな
Excelは既存の機能の動作がわずかでも変わったら必ずマクロが動かんようになったやないかどないしてくれんねんボケと山ほどの馬鹿が怒鳴り込んでくる
似た機能を追加したから共通化しますね〜と安易に仕様変更できず、大量の機能の重複を抱えながら昔のバグっぽい挙動も尊重して個別にメンテしてるの
このスレにいるような連中のせいでな
692デフォルトの名無しさん
2018/10/17(水) 14:48:36.05ID:9GZlDgUm >>690
データのせい
データのせい
693デフォルトの名無しさん
2018/10/17(水) 14:59:38.33ID:uJo2tnoC694デフォルトの名無しさん
2018/10/17(水) 16:42:17.32ID:i+REgo0L ありがとうございます
bomとかそういう感じですかね
また、うまく読み込めないのは一部utf8形式の文字コード?があり、それをsjisに変換出来ないのが原因のようでした
データインポートでutfを選択したら無事開けました
bomとかそういう感じですかね
また、うまく読み込めないのは一部utf8形式の文字コード?があり、それをsjisに変換出来ないのが原因のようでした
データインポートでutfを選択したら無事開けました
695デフォルトの名無しさん
2018/10/17(水) 17:06:43.54ID:S++6iW66696デフォルトの名無しさん
2018/10/17(水) 18:02:13.22ID:5pOkIjLu 半角と全角の混在で全角だけUTF-8とか
697デフォルトの名無しさん
2018/10/17(水) 18:07:18.62ID:7Q2iPe/Z ダブルクォーテーションとカンマのくくりが上手く行ってないとか
698デフォルトの名無しさん
2018/10/17(水) 19:38:14.44ID:uJo2tnoC >>696
あたりまえ、UTFもShiftJISも英数は同じ
あたりまえ、UTFもShiftJISも英数は同じ
699デフォルトの名無しさん
2018/10/17(水) 23:31:27.45ID:SJQ0JWQn 英数だけが半角とは限らんがな
ココニカケルカナ
ココニカケルカナ
700デフォルトの名無しさん
2018/10/18(木) 13:31:04.71ID:ks5As5t+ セル内改行でひっかかってるのかも
改行コードは何種類もあるし、読み込み方法によって正常に認識してくれないケースがあるから
改行コードは何種類もあるし、読み込み方法によって正常に認識してくれないケースがあるから
701デフォルトの名無しさん
2018/10/18(木) 13:46:30.50ID:B1wZDxhL >>700
メモ帳経由だとうまくいくってのと整合しない
メモ帳経由だとうまくいくってのと整合しない
702デフォルトの名無しさん
2018/10/18(木) 14:30:43.91ID:vpgDyIt0 >>694 で解決報告あるのに何をいつまで考えてるのw
703デフォルトの名無しさん
2018/10/18(木) 19:04:18.15ID:ekkKNanr 自分でもしっかりと把握してないので書くつもり無かったんですが一応解決の詳細書きますね
まずダブルクォーテーションやカンマはないです
あと自分の理解と説明が足りてませんでした
一部utf8ではなく全部utf8で基本普通の英文字と数字なのでsjisでもぱっと見問題なく開けるけどクエリストリングのカラムにノーブレーキングスペース?やsjis対応してない文字列があり、そこで上手いこと処理出来てなかったみたいです
utf8をsjis指定でデータインポートしようとしたのが間違いの発端でしたスミマセン
まずダブルクォーテーションやカンマはないです
あと自分の理解と説明が足りてませんでした
一部utf8ではなく全部utf8で基本普通の英文字と数字なのでsjisでもぱっと見問題なく開けるけどクエリストリングのカラムにノーブレーキングスペース?やsjis対応してない文字列があり、そこで上手いこと処理出来てなかったみたいです
utf8をsjis指定でデータインポートしようとしたのが間違いの発端でしたスミマセン
704デフォルトの名無しさん
2018/10/18(木) 19:33:45.83ID:vpgDyIt0 いやいやおつかれさま
705デフォルトの名無しさん
2018/10/18(木) 23:12:45.91ID:wIeiUTi/ WorkSheet_Changeでセルの内容に変化があったときだけ文字色を赤にする処理を行おうとしています
対象が単体ならApplication.Undoで比較できますが、複数の場合1セルずつに対してUndoができないため
対象全体の内容を一時シートにコピー→For Eachで元データと1つずつ比較しているのですが、もっとスマートな方法はあるでしょうか?
対象が単体ならApplication.Undoで比較できますが、複数の場合1セルずつに対してUndoができないため
対象全体の内容を一時シートにコピー→For Eachで元データと1つずつ比較しているのですが、もっとスマートな方法はあるでしょうか?
706デフォルトの名無しさん
2018/10/18(木) 23:38:51.56ID:fhgndB5P >>705
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Font.Color = -16776961
End Sub
これで良いのでは???
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Font.Color = -16776961
End Sub
これで良いのでは???
707デフォルトの名無しさん
2018/10/18(木) 23:45:12.89ID:wIeiUTi/ 書き方が不正確でした
「対象セルの値が変更される前と一致しない場合にのみ」文字色を変えたい、です
「対象セルの値が変更される前と一致しない場合にのみ」文字色を変えたい、です
708デフォルトの名無しさん
2018/10/18(木) 23:54:42.06ID:vpgDyIt0 赤くしなくても共有と変更履歴で代用可能だろ
709デフォルトの名無しさん
2018/10/18(木) 23:58:11.74ID:fhgndB5P >>707
あぁそういう事か、すまん
今「excel change before」で調べただけだけど、そうするしかなさそう
selectionchangeでselectionの内容を保存しておくみたいだねぇ
よー考えるわ
あぁそういう事か、すまん
今「excel change before」で調べただけだけど、そうするしかなさそう
selectionchangeでselectionの内容を保存しておくみたいだねぇ
よー考えるわ
710デフォルトの名無しさん
2018/10/18(木) 23:58:42.58ID:fhgndB5P711デフォルトの名無しさん
2018/10/19(金) 14:49:27.87ID:2evJVEIF くそう、↑のやり方以外が思いつかない。
セルにtagプロパティでもありゃ前値保持できるのに。。
赤字にしたい目的がわかれば、そもそも別の簡単な手とかあるかも?(逃げ)
セルにtagプロパティでもありゃ前値保持できるのに。。
赤字にしたい目的がわかれば、そもそも別の簡単な手とかあるかも?(逃げ)
712デフォルトの名無しさん
2018/10/19(金) 21:19:57.26ID:acLDgyPd >>711
Excelをフロントエンドにしたデータベース管理です
一度に複数のデータを弄ることが多いため、フォームではなくテーブルに直接データを読み込み、編集後に更新といった流れで、この更新部分の判定を文字色で行っています
作業者自身も更新前にどこを変更したかひと目でわかると考えてこの方法を取ってますが、もっとベターな方法があるなら全然乗り換えたいです
Excelをフロントエンドにしたデータベース管理です
一度に複数のデータを弄ることが多いため、フォームではなくテーブルに直接データを読み込み、編集後に更新といった流れで、この更新部分の判定を文字色で行っています
作業者自身も更新前にどこを変更したかひと目でわかると考えてこの方法を取ってますが、もっとベターな方法があるなら全然乗り換えたいです
713デフォルトの名無しさん
2018/10/19(金) 21:42:58.96ID:yGBPiuMh 編集後・更新
この間に変更する予定のセルに対して処理をかませることができそう、というか出来るだろう
この間に変更する予定のセルに対して処理をかませることができそう、というか出来るだろう
714デフォルトの名無しさん
2018/10/19(金) 23:04:57.15ID:MRFHlf9T Vue.js などのウォッチャ・データバインド・リアクティブシステムだろ
データ更新前後のフックは、無いのか?
データ更新前後のフックは、無いのか?
715デフォルトの名無しさん
2018/10/20(土) 02:32:55.91ID:ZiSB9nEL Ifとforだけでとりあえず簡単な処理くらいはさせられるようになったんだけど、次は何を学べば順当にステップアップできる?
イベントプロシージャもダブルクリックだけは理解した
Constで柔軟なコード書くのも学んだ
配列はいまいち便利な使い道がわからない
イベントプロシージャもダブルクリックだけは理解した
Constで柔軟なコード書くのも学んだ
配列はいまいち便利な使い道がわからない
716デフォルトの名無しさん
2018/10/20(土) 06:58:16.21ID:JSzrZOTM >>715
処理の制御自体は分岐と繰り返しを覚えれば大抵なんとかなる。
ロジックをよりスマートにしたい。処理時間を短縮したい等なら、配列やアルゴリズム等の効率的なやり方が必須になる。
特に、セルを使うならば配列は絶対使ったほうがいい。二次元配列と聞くとよくわからなそうだが、
(y軸,x軸) を指定するだけだから、一見難しそうに見えても簡単だよ。
あとは、何をやりたいかによるかな。それによって取得するべき技術が決まってくると思う。
処理の制御自体は分岐と繰り返しを覚えれば大抵なんとかなる。
ロジックをよりスマートにしたい。処理時間を短縮したい等なら、配列やアルゴリズム等の効率的なやり方が必須になる。
特に、セルを使うならば配列は絶対使ったほうがいい。二次元配列と聞くとよくわからなそうだが、
(y軸,x軸) を指定するだけだから、一見難しそうに見えても簡単だよ。
あとは、何をやりたいかによるかな。それによって取得するべき技術が決まってくると思う。
717デフォルトの名無しさん
2018/10/20(土) 07:07:20.99ID:JSzrZOTM >>715
配列使った方がいい理由を補足すると、
配列変数を使えば、変数の数を大幅に減らすことができるかつ、ループ文を使って1から最大数までアクセスがしやすいから。例えば、人間という名前の違う変数を別々に100人定義するのは面倒。
だが、配列変数を使えば1行で定義できる。
セルに関して言うと、VBAはセルにアクセスした際に大幅に時間を使う。値を編集するたびに毎回セルにアクセスするよりも、配列変数に格納をして、まるごとセルに代入するようにすれば、アクセスは1回で済む。
(それっぽく例えるなら、積み木を片付ける時に1つずつ摘まんで箱に入れるか、形を整えた後まとめて箱に入れるかの違い)
配列使った方がいい理由を補足すると、
配列変数を使えば、変数の数を大幅に減らすことができるかつ、ループ文を使って1から最大数までアクセスがしやすいから。例えば、人間という名前の違う変数を別々に100人定義するのは面倒。
だが、配列変数を使えば1行で定義できる。
セルに関して言うと、VBAはセルにアクセスした際に大幅に時間を使う。値を編集するたびに毎回セルにアクセスするよりも、配列変数に格納をして、まるごとセルに代入するようにすれば、アクセスは1回で済む。
(それっぽく例えるなら、積み木を片付ける時に1つずつ摘まんで箱に入れるか、形を整えた後まとめて箱に入れるかの違い)
718デフォルトの名無しさん
2018/10/20(土) 07:49:40.17ID:/P2yZ5ci719デフォルトの名無しさん
2018/10/20(土) 08:15:19.11ID:A4xnc2/3 >>715
シートはセルの二次元配列
ブックはシートの一次元配列
合わせて三次元の配列
元々エクセル自体が配列の塊なので、
vba上だけで配列を持たなくてもなんとかできるようにはなっている
他のプログラムだと配列なしなんてありえないんだけどね
vbaで配列を扱う大きなメリットとしては、爆速にできる事
で、そこまで来たら何を覚えるかだけど
・objectの扱い。set foo = sheets("name")
・fso(filesystemobject)
この辺かね〜
他言語やるなら俺もpythonがオススメ
シートはセルの二次元配列
ブックはシートの一次元配列
合わせて三次元の配列
元々エクセル自体が配列の塊なので、
vba上だけで配列を持たなくてもなんとかできるようにはなっている
他のプログラムだと配列なしなんてありえないんだけどね
vbaで配列を扱う大きなメリットとしては、爆速にできる事
で、そこまで来たら何を覚えるかだけど
・objectの扱い。set foo = sheets("name")
・fso(filesystemobject)
この辺かね〜
他言語やるなら俺もpythonがオススメ
720デフォルトの名無しさん
2018/10/20(土) 09:34:05.81ID:46UfR13B721デフォルトの名無しさん
2018/10/20(土) 11:18:59.41ID:+OPbDxrw あ・・・Application.Workbooks(3).Worksheets(1).Cells(1, 1).Characters(2, 2).Font.Color = vbRed
722デフォルトの名無しさん
2018/10/20(土) 11:51:10.77ID:ZiSB9nEL 参考になります!説明がとても分かりやすいですね 尊敬します
配列を学ぶことでの処理の高速化も理解できました
setはサンプルコードでよく見かけるなとは思ってたけど、詳しく掘り下げてみます
fsoは初耳なのでじっくり学びます
Pythonも並行して学びたいと思ってたのでちょうどいいタイミングみたいですね
ありがとうございました。
配列を学ぶことでの処理の高速化も理解できました
setはサンプルコードでよく見かけるなとは思ってたけど、詳しく掘り下げてみます
fsoは初耳なのでじっくり学びます
Pythonも並行して学びたいと思ってたのでちょうどいいタイミングみたいですね
ありがとうございました。
723デフォルトの名無しさん
2018/10/20(土) 12:18:11.17ID:4zkFVcA8 for each文かな
724デフォルトの名無しさん
2018/10/20(土) 12:25:25.27ID:A4xnc2/3 あぁfor eachは必須だね
725デフォルトの名無しさん
2018/10/20(土) 13:40:10.36ID:fOofNO0j >>715
余裕があるならアセンブリ言語をちょっと齧っとくのがいいと思う
余裕があるならアセンブリ言語をちょっと齧っとくのがいいと思う
>>725
アセンブラとか環境とかはどう調達すればいいのでしょうか?
アセンブラとか環境とかはどう調達すればいいのでしょうか?
727デフォルトの名無しさん
2018/10/20(土) 14:48:16.50ID:wrk6+Nbn masm とか nasm とかのキーワードで調べる
っていうか、vbaの範囲外のことまでここで聞くなよ
っていうか、vbaの範囲外のことまでここで聞くなよ
728デフォルトの名無しさん
2018/10/20(土) 17:52:59.67ID:b1m8oY5e729デフォルトの名無しさん
2018/10/20(土) 18:35:11.69ID:fOofNO0j >>726
齧るだけだからネットで調べてだいたいの仕組みが分かればそれでいいんだよ
「アセンブラ 入門 casl」でググって見つかったサイトで勉強してみるのがいいと思う
資格の勉強にもなるし
やる気あるなら機械語が使えるポケコンを買って実際に
ハンドアセンブルしてみるのもいいかも
齧るだけだからネットで調べてだいたいの仕組みが分かればそれでいいんだよ
「アセンブラ 入門 casl」でググって見つかったサイトで勉強してみるのがいいと思う
資格の勉強にもなるし
やる気あるなら機械語が使えるポケコンを買って実際に
ハンドアセンブルしてみるのもいいかも
>>729
casl2 は気が進まなくって…だってハードがないんでしょう?
casl2 は気が進まなくって…だってハードがないんでしょう?
731デフォルトの名無しさん
2018/10/20(土) 19:45:41.44ID:fOofNO0j732デフォルトの名無しさん
2018/10/21(日) 09:08:05.20ID:kG1rnb84 オデッセイのやってるvbaの試験受けてvbaスタンダードに合格したけど、
これ実際にvbaでプログラム作れって言われても絶対作れないな。
何が言いたいかって、お前らすげーわ。
これ実際にvbaでプログラム作れって言われても絶対作れないな。
何が言いたいかって、お前らすげーわ。
733デフォルトの名無しさん
2018/10/21(日) 11:55:37.97ID:ENQ8JUj5 >>730
ハートもないやつがなにいってる
ハートもないやつがなにいってる
734デフォルトの名無しさん
2018/10/21(日) 12:30:29.51ID:jhIwJ9RB vbaで色々ツール作ってるけど、自分しか使わないっていうので設計雑になっちゃう。
後の機能追加等考えるとクラスモジュール使って役割ハッキリさせた設計が良いんだろうけど、結局書くのが楽な手続き型チックになっちゃうのよね
後の機能追加等考えるとクラスモジュール使って役割ハッキリさせた設計が良いんだろうけど、結局書くのが楽な手続き型チックになっちゃうのよね
735デフォルトの名無しさん
2018/10/21(日) 14:12:47.07ID:895e0oJn >>734
それは別に反省ポイントじゃない
それは別に反省ポイントじゃない
736デフォルトの名無しさん
2018/10/21(日) 14:42:48.38ID:3rYBWp0g 自分を省みるのは良いことだよ
737デフォルトの名無しさん
2018/10/21(日) 17:38:59.00ID:PQvzxFzP VBAはコードのスタイル云々以前に存在自体が基本的に悪なので、実務においてはいかに使用を最小限にとどめながら要件を満たすかが最も重要だよ
VBAがあるだけでメンテができる人が数十分の一になるんだから
VBAがあるだけでメンテができる人が数十分の一になるんだから
738デフォルトの名無しさん
2018/10/21(日) 18:02:16.30ID:97mpJlTr VBA撲滅委員会でも作ってその会長にでもなれ
739デフォルトの名無しさん
2018/10/21(日) 18:14:38.25ID:PQvzxFzP740デフォルトの名無しさん
2018/10/21(日) 19:06:18.04ID:jhIwJ9RB VBAの存在が基本的に悪という理由って何だ?
文面から見て、メンテできる人(使用者)が少ないからという風に捉えているんだが…
もしそれが理由ならば、職場によるのではないか?
文面から見て、メンテできる人(使用者)が少ないからという風に捉えているんだが…
もしそれが理由ならば、職場によるのではないか?
741デフォルトの名無しさん
2018/10/21(日) 19:13:25.11ID:jhIwJ9RB ただ、以前にマクロを修正する案件をやった時
初めて他者の書いたコードをしっかり見ることになったが…まぁ見辛いし目的が捉えづらく苦労した。
ろくなドキュメントも残っていなかったしね。
でもそれは、コードの改善や仕様書をしっかり残せば解決する問題であって、決して言語そのもののせいではないと私は思っているよ。
初めて他者の書いたコードをしっかり見ることになったが…まぁ見辛いし目的が捉えづらく苦労した。
ろくなドキュメントも残っていなかったしね。
でもそれは、コードの改善や仕様書をしっかり残せば解決する問題であって、決して言語そのもののせいではないと私は思っているよ。
742デフォルトの名無しさん
2018/10/21(日) 19:36:36.64ID:MDetJiiM 言語や開発環境が悪いからユーザーが集まらない
言語や開発環境が悪いからユーザーが育たない
言語や開発環境が悪いから汚いコードが作られやすい
全てとは言わないが大きな影響力を持ってるのは否定できないな
言語や開発環境が悪いからユーザーが育たない
言語や開発環境が悪いから汚いコードが作られやすい
全てとは言わないが大きな影響力を持ってるのは否定できないな
743デフォルトの名無しさん
2018/10/21(日) 19:54:07.49ID:y1r4bkf6 >>734
言うてもそんなに長くならないので、コメントさえしっかり書いておけば大丈夫だよ
言うてもそんなに長くならないので、コメントさえしっかり書いておけば大丈夫だよ
744デフォルトの名無しさん
2018/10/21(日) 20:57:14.28ID:Mf4U6jjq Pythonを使える環境ならPythonでExcelを操作できるようになっといたほうが将来的に有意義なんですかね
745デフォルトの名無しさん
2018/10/21(日) 21:27:31.42ID:y1r4bkf6746デフォルトの名無しさん
2018/10/21(日) 21:55:52.80ID:Df7SvDdo 知恵遅れに毎日60以上ののVBA低レベ質問が恒常的に続くのは、商業科がExcelを教科に入れてるせいか?
VBA、大学教養のC課題、ネトゲーマーのUWSC自動化の三馬鹿うんざりトリオをなんとかして欲しい
VBA、大学教養のC課題、ネトゲーマーのUWSC自動化の三馬鹿うんざりトリオをなんとかして欲しい
747デフォルトの名無しさん
2018/10/21(日) 22:00:53.93ID:y1r4bkf6 無視したら
748デフォルトの名無しさん
2018/10/24(水) 20:08:02.64ID:VKzyLxGu どうせ半年後は.jsになってるんだし
749デフォルトの名無しさん
2018/10/24(水) 21:19:25.29ID:I9F6CV18 昔アセンブラやってたけど
今はアセンブラの知識なんて
まず糞の役にもたたない
悪いことは言わないから
IL止まりにしておいて
残りの時間を他の言語の学習に回した方がいい
今はアセンブラの知識なんて
まず糞の役にもたたない
悪いことは言わないから
IL止まりにしておいて
残りの時間を他の言語の学習に回した方がいい
750デフォルトの名無しさん
2018/10/24(水) 23:52:56.26ID:PFCPc8y/ VBAってWinAPI 使えるんだな
入力もエクセルのシート利用できるし使いがっていいなこれ
自分だけ使うものはこれで十分な気がしてきた
入力もエクセルのシート利用できるし使いがっていいなこれ
自分だけ使うものはこれで十分な気がしてきた
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 日本、G7への中国招待を懸念 議長国フランスに慎重な対応要請 [どどん★]
- 【サッカー】日本代表、FIFAランキング“4位”の強豪イングランドとの対戦が正式決定! 来年3月に聖地ウェンブリーで激突へ [久太郎★]
- 千晴におちんちん舐めてもらいたい♥
- 姉は貧乳で妹は巨乳ってパターンよくあるよな
- 【悲報】ゆうパック配達員、配達中に人妻に抱きつき無理矢理キス「好意があると思ってた」 [566475398]
- ひまだねー
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- もしかして、おまえらって俺の事をナメてる?
