19/03/10 23:04:10.67 hFpGjFbxd.net
>>801
センスが悪いのは対抗に成りようがないもんを挙げてるからだよ。
825:デフォルトの名無しさん
19/03/10 23:13:37.64 RhjsjUYS0.net
>>809
個々に発注してるの?
ボリュームライセンス使わないの?
826:デフォルトの名無しさん
19/03/11 00:05:51.48 tsrenNBW0.net
AccessやめてSQLServerにしろって言われて移行の手間以外の理由で嫌がる人間がいるだろうか?
いや、いない
827:デフォルトの名無しさん
19/03/11 00:06:57.17 lsnxSivOx.net
なんか他人を見下したいだけのタイプっぽくてウザいからNGしたわ
仮にこいつがAccess詳しくてもこいつから教わりたくないなって感じ
828:デフォルトの名無しさん
19/03/11 00:09:57.12 sN5dooJH0.net
VBAより細かいことができて簡単でメジャーでお勧めってJAVAでいいの?
用途は個人で簡単なアプリを作る程度です。
829:デフォルトの名無しさん
19/03/11 00:11:11.53 tJkNrW1I0.net
Access取り上げられてManagement Studio渡されたらうにょる
830:デフォルトの名無しさん
19/03/11 00:12:43.40 B6nWiYCUd.net
>>813
SQLサーバーにするようなのは手間もそうだが、規模が違うだろ。
そんな話になるなら最初からExcelやAccessの話になんてなってない。
そんなこともわからね―のかよ。
自由にできる中小とは違うんだよ。
831:デフォルトの名無しさん
19/03/11 00:16:15.83 B6nWiYCUd.net
>>815
それは微妙だな。
細かいことは出来ない場合がかなりあるだろうな。
簡単かどうかも微妙。
難しさの方向性も違うし。
832:デフォルトの名無しさん
19/03/11 00:21:09.07 B6nWiYCUd.net
>>816
問題は何で組むかって話になるだろうね。
昔、MSDEで組んでた時に使ってたけど、Accessなんか競合するようなもんじゃない。
まあ、VBAでも組めるからExcelやAccessから繋いでも良いんだけど、それって本末転倒じゃね?
結局VisualStudioで組む話に成るんだろうな。
833:デフォルトの名無しさん
19/03/11 07:05:51.99 JOj7lbWG0.net
>>813
馬鹿はエンジン部分だけしか見ていない
834:デフォルトの名無しさん
19/03/11 07:19:27.24 n6vPhCvaM.net
>>813
想定の範囲内でしたね
Access以上に帳票作成が楽なソリューション出してください
あなたならできるはずです
あっ、もちろんコストは想定の範囲内でお願いしますよ
835:デフォルトの名無しさん
19/03/11 09:28:28.62 tsrenNBW0.net
>>821
ExcelからSQLServerのデータをつつけばいいじゃん
このスレ的にも趣旨にあう
836:デフォルトの名無しさん
19/03/11 10:13:10.23 n6vPhCvaM.net
印刷に難のあるExcelで帳票作成?
わざわざ茨の道を進む提案は想定の範囲外でしたよ
次回からもう来なくていいですw
837:デフォルトの名無しさん
19/03/11 10:35:34.29 tsrenNBW0.net
>>823
帳票?印刷?
そんなもんPCでやるわけないでしょ
君こそふざけてるんじゃないの?
838:デフォルトの名無しさん
19/03/11 10:49:41.28 fslMg+hgM.net
>>824
えっ?
839:デフォルトの名無しさん
19/03/11 10:57:18.05 tsrenNBW0.net
>>825
帳票印刷なんて古い基幹システムでやるもんだし、レガシーでつまんない仕事だからPCでやりたくないでしょ
840:デフォルトの名無しさん
19/03/11 11:09:41.27 n6vPhCvaM.net
>>824
一体何を言ってるんだろう… w
841:デフォルトの名無しさん
19/03/11 11:11:45.09 n6vPhCvaM.net
>>826
お前さん、例えばスマホとか契約した時に契約内容を記載した紙貰ってないかい?
帳票ってそう言う奴のことな
842:デフォルトの名無しさん
19/03/11 11:17:50.98 tsrenNBW0.net
>>828
それをPCのアプリで出力しないでしょ?
現場のPCでやるのは出力された帳票イメージをプリンタに送ることさ
843:デフォルトの名無しさん
19/03/11 11:33:05.59 Mb6GwggX0.net
まあホスト側でPDFを作っちゃって、あとは印刷するだけみたいなシステムも最近は増えてるけど、
送られて来るのは印刷したい数字だけで、クライアント側で印刷イメージを組み立てるシステムだって普通にあるぞ
844:デフォルトの名無しさん
19/03/11 11:34:08.24 tsrenNBW0.net
それにそんなことは営業所レベルのことじゃない?
845:デフォルトの名無しさん
19/03/11 11:44:06.02 04nfU8jWd.net
>>831
ここは大企業やサーバ管理者専用スレじゃないし
世の中にはパソコン1台だけで経理や発注をやってるような中小零細だってある
現実にExcelで作られた帳票は世界中を駆け巡ってる
846:デフォルトの名無しさん
19/03/11 12:22:04.66 n6vPhCvaM.net
>>829
お前一度帳票ソリューションとかでググってみ
いろんな形態あるから1種類だけで語ると恥かくぞ
847:デフォルトの名無しさん
19/03/11 12:56:27.77 zh+jpn1Ya.net
>>823
印刷は確かに若干弱いがエクセル帳票は悪くないアイデアだと思う
プログラムで生成物からデータを取得できるから帳票作成のスモールテストを作りやすい
まあCIサーバーで動かないと意味がないのでVBAの出番はないけど
848:デフォルトの名無しさん
19/03/11 13:13:58.34 M7+7uBBxM.net
>>833
世の中全体なんて言ったらきりないでしょ
>>828が言うDOCOMOショップとかの話に反論したのさ
849:デフォルトの名無しさん
19/03/11 17:10:59.27 n6vPhCvaM.net
>>835
「例えば」っていう文言すら理解できないの?w
てか、話の流れでわかるだろ
850:デフォルトの名無しさん
19/03/11 18:08:31.25 tsrenNBW0.net
>>836
いやいやいやいや
「帳票なんて基幹システムで出すもんでPCじゃしないでしょ」という意見に対して>>828は携帯ショップの例を出してきたんだぞ
851:デフォルトの名無しさん
19/03/11 18:36:20.35 Rf81Fxun0.net
>>824
ガリ版印刷かと思った
852:デフォルトの名無しさん
19/03/11 18:37:23.11 Rf81Fxun0.net
言わんとする事は分かるけど、
ID:tsrenNBW0 は色々と日本語おかしいぞ
入って半年の新人か、酔っぱらいが話ししているようだ
853:デフォルトの名無しさん
19/03/11 18:39:03.34 n6vPhCvaM.net
>>834
Excelはページ内の列に縛られるから結構大変だよ
見積書とかでお客様名称の位置を変えたら一覧表に影響するとか
特に複数の表を位置ページに収めるとかが大変すぎる
854:デフォルトの名無しさん
19/03/11 18:39:39.43 n6vPhCvaM.net
>>840
位置ページ ⇒ 1ページ
855:デフォルトの名無しさん
19/03/11 18:40:36.46 n6vPhCvaM.net
>>837
そこまで言うならすべての携帯ショップの帳票システムが1種類しかないことをソース付きで示してくれ
856:デフォルトの名無しさん
19/03/11 18:40:41.61 fslMg+hgM.net
>>837
帳票は基幹システムでも出すし、現場のAccessからも出します。
携帯ショップのはあくまで例えだが、アプリで出してても何らおかしくない。webからサーバで作成した帳票出してたとしても世の中全てがそうじゃない
バカはすっこんでろ
857:デフォルトの名無しさん
19/03/11 18:48:10.82 tsrenNBW0.net
>>843
ああ、じゃ携帯ショップの話は例が悪かったってことで引っ張るのはやめにするよ
858:デフォルトの名無しさん
19/03/11 18:52:52.30 tsrenNBW0.net
もともとAccessなんかよりSQLServer使えばいいのに、という意見に対して「センスが悪い」と評したやつがムカつくんだよね
それってただの自己擁護じゃねえの?
859:デフォルトの名無しさん
19/03/11 18:57:56.68 +UqUSWhfM.net
>>845
ExcelVBAスレで何言ってんだって話だよな
860:デフォルトの名無しさん
19/03/11 19:19:43.98 VQvu/Jc3a.net
まーまー、みんなケンカするなよ。ケンカしたくてここに来てるやつはどっか行ってくれ。楽しく、とまではいかないにしても、他人の意見を尊重して、まったりと行こうぜ
861:デフォルトの名無しさん
19/03/11 19:25:03.45 mobnRMp/x.net
VBAスレでイキる奴も煽られる奴もダサすぎ
862:デフォルトの名無しさん
19/03/11 20:02:00.38 Qce4TTJA0.net
他人からファイルが返ってきたときに印刷プレビューになってるとイラっとする
863:デフォルトの名無しさん
19/03/11 20:41:29.39 SWNQzsKE0.net
そんな性格だから禿げたんだな
864:デフォルトの名無しさん
19/03/11 20:46:16.50 tsrenNBW0.net
>>849
自分はそれじゃなくてアレがイラッとする
だからよく ActiveSheet.DisplayPageBreaks = False
をやる
865:デフォルトの名無しさん
19/03/11 21:21:38.01 B6nWiYCUd.net
>>845
最初に「今Accessを使う意味」とか、言い出した奴が都合が悪くなると人のことを上から目線だとか言い出すからなあ。
そもそもの話はAccessにしちまうからExcelでDB処理することは多く無いって話から始まっている。
(実際は結構あるけどAccessと食い合うって話)
最初から、バックエンドSQLサーバーでフロントがExcelって話なら、SQLサーバーじゃなくて正にExcelでDB処理の話になって、俺の主張に一致するから反論にならん。それとも絶対にExcelフロントでAccessフロントはあり得ないって話ならもう一度センスね―と言ってやる。
Excelフロントはあり得るけどAccessフロントの方がよりあり得るわ。
いやいやそういう構成ではExcelでDB処理には該当しないというなら、ExcelでDB処理とはExcel単体でのDB処理ということになるから、それに対しての比較対象にSQLサーバー持って来たの?という話になる。
この場合もやっぱりセンスね―と言ってやる。
だからそもそもの話に反論としてSQLサーバーを挙げるってことはExcelフロントではないということを意味するんだろう。
つまりOffice系では無く、開発系で組むという話だろう。
Accessで済むようもん、場合によってはExcelで済むようもんをC#とかを使って組むの?
部署内での打ち合わせ資料をWordで作ると言ったらPagemakerの方が良いと言われた気分だわ。
866:デフォルトの名無しさん
19/03/11 21:56:59.54 SWNQzsKE0.net
accessが好きとか嫌いとか最初に言い出したのは誰なのかしら
867:デフォルトの名無しさん
19/03/11 22:03:37.96 tsrenNBW0.net
>>852
3回読んだが意味がよく分からん
俺の最初の主張は>>729から始まってるんだが、「データはExcelじゃなくてAccessに置け」という他の意見に対して
「いや今時AccessなんかじゃなくてSQLServerでしょ」というのが意図だ。
そっからなんかこじれてるんだが、ここでの俺の前提はフロントUIはエクセルというものなんだよね。
ExcelからのSQL発行という点でUI表面上の差が大してないと考えて比較している。
868:デフォルトの名無しさん
19/03/11 22:45:47.44 JOj7lbWG0.net
>>854
馬鹿は死ねよ
869:デフォルトの名無しさん
19/03/11 23:03:46.33 tJkNrW1I0.net
>>854
フロントがExcel程度でなんとかなるデータならAccessで十分だろ
すでに大量のデータがSQLServerに溜まっているならそっち使えばいいけど
Excelでデータ入力とか考えただけでも吐きそう
870:デフォルトの名無しさん
19/03/11 23:17:24.96 sG7ktWvJ0.net
まだやってんのかよ
871:デフォルトの名無しさん
19/03/11 23:24:53.12 tsrenNBW0.net
>>856
フロントでやるのはデータ分析だろう。
データ入力は現場の仕事。
フロントと現場を混同してるだろ?
872:デフォルトの名無しさん
19/03/11 23:31:06.64 tJkNrW1I0.net
二人以上でAccess使うなんて想像してなかったわ。すまん
873:デフォルトの名無しさん
19/03/12 01:08:58.03 aDT3+eco0.net
>>858
データ入力画面もフロントだよ。
現場でどうデータ入力させようとしてるのか書いてみろよ。
874:デフォルトの名無しさん
19/03/12 01:16:33.47 VCAYIPgk0.net
あの~そろそろ~
875:デフォルトの名無しさん
19/03/12 01:28:26.03 Ed2A5qJf0.net
ID:tsrenNBW0
馬鹿は早く死ねよ
876:デフォルトの名無しさん
19/03/12 01:58:18.19 ZdQx8dmlx.net
端から見てると何でこの人たちがVBAやらされる羽目になってるのか分かるよね
877:デフォルトの名無しさん
19/03/12 06:19:34.26 bIQY567R0.net
むしろこんな奴等に何かやらせる羽目になってる上司に同情するわ
878:デフォルトの名無しさん
19/03/12 07:21:53.89 hut6v0dp0.net
弊社では無理です
879:デフォルトの名無しさん
19/03/12 07:54:30.64 HcsazPCZH.net
2日ぶりに覗いたらまだ同じ話してて草
880:デフォルトの名無しさん
19/03/12 08:15:48.17 hut6v0dp0.net
うちなんかSQLServer導入して部署内誰でも使えるようにセッティングしてるのにずっとAccess使い続けてる。
Excel VBAからADOで繋げてるパターンなんで移行は手間じゃないと思うんだけど2~3人が試しに使い始めただけ。
思い通りになんていかないよ。
社内稟議通した人がお気の毒w
881:デフォルトの名無しさん
19/03/12 08:18:57.13 xgWEcpqAd.net
>>854
八ァ?
>>729から始まってるんだよな。
その前に「デ―タはExcelじゃなくてAccessに置け」なんて意見が何処にある?
>>729の前にAccessのことを言ってるのは>>728しか見当たらないんだが。
で、俺が言った>>728は別に「デ-タはExcelじゃ無くてAccessに置け」なんて言って無いんだが。
誰かにこうしろ等と言って無いし、データをAccessに置く等と限定してないぞ。
その上、「今時Access」?
お前は一体何様だよ。
どっちが上から目線だ?
上から目線でも回答が頓珍漢じゃなければセンスね―なんて書かね-よw
882:デフォルトの名無しさん
19/03/12 08:24:06.51 xgWEcpqAd.net
>>867
それはちょっと悲しいね。
まあ、ファイル単位で移動出来るメリットもあるからDBサーバーあってもAccess単体ってのもあり得るけどな。
883:デフォルトの名無しさん
19/03/12 10:47:16.64 InKVz4tPM.net
>>867
それはね、ローカルに置いてる(としとこう)Accessの中に人に見せられないデータがあるからだよw
884:デフォルトの名無しさん
19/03/12 12:45:42.87 fAXK62aoM.net
>>867
そもそもそれエンジンの話なのか帳票とかのデザインの話なのかはっきりしてくれ
あと人は今困ってないなら移行なんてしないよ、トラブル招くかもしれないしな
移行させたいならAccess使用禁止ぐらいしないとダメ
どうせ導入した奴もそこまで腹くくってないだろ
885:デフォルトの名無しさん
19/03/12 13:22:50.41 Kg1wec9nM.net
>>870
本当にあったりしてなw
886:デフォルトの名無しさん
19/03/12 15:31:02.26 4U4zzI9jM.net
>>867
SQLサバだとテーブル設計とか後からいじりにくいんだよな
連結フォームに全データ表示!とかも気楽に出来なくなるし
887:デフォルトの名無しさん
19/03/12 18:07:30.07 0BPWRBQDa.net
>>867
もしかしてクライアントサイドの管理ツールとか知らないのでは?
888:デフォルトの名無しさん
19/03/12 21:59:22.23 hut6v0dp0.net
>>871
テーブルを移行して欲しいんだけどやってくれないって状況
導入した人は権力があるのでそのうち強制するかも
889:デフォルトの名無しさん
19/03/12 22:19:10.50 aDT3+eco0.net
>>875
移行するメリットがないとねぇ
レコード数が少ないと速度なんてほとんど変わらないし…
100万レコードでも、きちんと作られてればAccessでも十分実用になるし…
まずは、めちゃ処理時間がかかるやつ一つを移行。ストアド作り込んで速くなるのを見せるとか。
せっかくSQLServer使うなら、ストアド使わないと勿体ない。ただレコード持ってるだけの箱になってしまう。
ストアドはとっつきにくいと思うが、レコードをこねくり回すような時間かかる処理には効果絶大。
逆に言うと、軽いデータや処理のmdbは移行後回し。(というより、そんなの移行しなくてよろしい。労力に見合わない)
890:デフォルトの名無しさん
19/03/12 22:41:48.72 aDT3+eco0.net
>>876
いきなりストアドで大規模ロジックを書こうとしても、どう書くべきか(どう書くのがふさわしいか)わからないと思う。
小ロジック大量レコード処理辺りから書いていきましょう
891:デフォルトの名無しさん
19/03/12 22:50:26.01 hut6v0dp0.net
>>876
自分含め誰もspとか知らない
一般的なプログラミングは割とできて、みんなVB/VBA、C#、C++、rubyとかでなんとかしようとしてる
まさにDBを箱としか見てない
892:デフォルトの名無しさん
19/03/12 23:05:56.66 0BPWRBQDa.net
ストアドはRDBの設計思想に反する邪悪な存在なので可能な限り避けるべきです
最適化をかけにくいのでインデックスの効いたクエリに比べて速度も遅くなります
893:デフォルトの名無しさん
19/03/12 23:30:38.78 hut6v0dp0.net
>>879
マジで!?
894:デフォルトの名無しさん
2019/0
895:3/12(火) 23:43:55.90 ID:hqmBJoBXa.net
896:デフォルトの名無しさん
19/03/12 23:46:34.37 hut6v0dp0.net
ExcelからAccessのデータを取得するきはこういうコードをクラス化してAccess立ち上げる必要ないようにした。
URLリンク(www.asahi-net.or.jp)
他言語使ってる人の事情は知らんけど似たような感じだと思う。
SQLサーバ向けのもADOだからインターフェース変えずにできた。
せっかくツールったんだから移行しろよ!
と思ってたけどもう何がいいのかわからんくなった。
897:デフォルトの名無しさん
19/03/13 00:27:28.10 lH3YwFhl0.net
>>875
それエンジンだけをすげ替えろって言ってるってことだよね?
そりゃわざわざ移行しないよ
メリットないから強権発動しかないと思うよ
898:デフォルトの名無しさん
19/03/13 00:29:37.94 lH3YwFhl0.net
>>880
>>879はなんか勘違いしてるだけ
ストアドは簡単に言うとサーバー側でロジックが動くだけの話だからインデックスが効くかどうかはストアドが発行するSQLに依存する
899:デフォルトの名無しさん
19/03/13 00:41:34.27 jknGRCgKa.net
>>884
879が批判してるのは、ストアドの中でループしたり一時テーブルを安易に多用したりするような使い方じゃないのかな
900:デフォルトの名無しさん
19/03/13 00:41:51.32 wiEoxIAU0.net
>>882
そのめんどくさいselect文を作るのがaccessやssmsじゃね?
901:デフォルトの名無しさん
19/03/13 00:46:32.81 A37ahhw6a.net
>>884
インデックスが効かないとは言ってませんが?
SQLなら期待される結果を返す範囲で最適化して高速化する余地があります
これはSQLが宣言的な言語だからできることです
最終的な答えが同じなら途中の結合や絞り込みを入れ替えたり省略することが可能です
逆にストアドは手続き型なので基本的に定義した順に処理が逐次実行されます
全く最適化できないわけではありませんが宣言的な言語と比べるとこの順序があるという性質のせいで制約が強く最適化のかかりが弱くなります
902:デフォルトの名無しさん
19/03/13 00:50:37.91 jknGRCgKa.net
>>887
理念には同意するけど、VBAスレでそれ言う?
Excel VBAこそ、本来は宣言型であるものを手続き型に落としてしまいパフォーマンスを低下させている例の最たるものだよ
903:デフォルトの名無しさん
19/03/13 00:52:52.41 lH3YwFhl0.net
>>885
変な使い方を前提にストアドが遅いとか言われても困る
904:デフォルトの名無しさん
19/03/13 00:55:59.30 jknGRCgKa.net
>>889
実際、ぐるぐるSQLを書いちゃうような人はDBに寄せた設計になるとストアド使いたがるからね
905:デフォルトの名無しさん
19/03/13 00:57:03.71 lH3YwFhl0.net
>>887
だからその逐次実行を行うのがクライアントなのかサーバーなのかが違うだけでしょ
そりゃストアドと単一のSQL比べたらストアドの方が遅いだろうけどクライアントが同様の処理すること思えば全体としては(ちゃんと設計されてりゃ)速くなるでしょ
906:デフォルトの名無しさん
19/03/13 00:59:49.50 wiEoxIAU0.net
>>891
SQLをコンパイルする必要がないからストアードの方が速くね?
907:デフォルトの名無しさん
19/03/13 01:13:08.97 GE2OVSGdM.net
>>892
理論的にはそうだけど、現実にはそこは全く関係ない
SQLのコンパイル時間はサーバーとの通信のコストと比較すれば無視してよい
908:デフォルトの名無しさん
19/03/13 01:22:09.36 jknGRCgKa.net
そもそもSQLの発行がパフォーマンスに響くような状況はSQLの粒度が小さすぎる
大抵そういう時はうまく纏めれば一桁速くなる
909:デフォルトの名無しさん
19/03/13 01:32:35.47 A37ahhw6a.net
>>891
アプリケーションとストアドの比較をしているのではなく同じ結果をもたらすSQLとストアドの比較をして言った
そもそもアプリケーションに書かれたビジネスロジックをそのままストアドに移植する時点で論外なので比較する発想がなかった
910:デフォルトの名無しさん
19/03/13 04:57:47.34 lH3YwFhl0.net
>>895
> 同じ結果をもたらすSQLとストアドの比較をして言った
そりゃSQL単体で書けるならその方が速いわなw
SQL単体で書けるのにストアド使うとか普通あり得ないでしょ?
911:デフォルトの名無しさん
19/03/13 06:19:07.90 A37ahhw6a.net
>>896
残念ながらありえます
しかも少なくありません
単にSQLが苦手な人
ストアドの方が速いと思ってる人
深く考えずアプリケーションコードストアドに移植してしまう人
SQLでいいのにストアドを書いてしまう人というのは何処にでも居ます
912:デフォルトの名無しさん
19/03/13 06:45:04.68 JacIk+SfM.net
>>897
>>889
お前の周りのことなんか知らんよw
913:デフォルトの名無しさん
19/03/13 07:00:38.50 A37ahhw6a.net
>>898
このスレッドにもいましたよね
914:デフォルトの名無しさん
19/03/13 07:12:08.08 JacIk+SfM.net
何を言いたいのかさっぱりわからんw
915:デフォルトの名無しさん
19/03/13 08:04:29.56 A37ahhw6a.net
煽りか
916:デフォルトの名無しさん
19/03/13 10:36:45.92 4v7XhTis0.net
一体いつまで同じ話をぐだぐだ続けるつもり?
プログラマ板のどっか雑談スレでやれよ低能プログラマどもは
917:デフォルトの名無しさん
19/03/13 11:12:26.48 JQlBKVP4M.net
だってここ以外ではマウントとれないんだもの
918:デフォルトの名無しさん
19/03/13 15:18:57.45 6SLKDaoM0.net
セルA1に =aaa と書き込んで数式エラーを作っておきます
その上で
Dim ary() As Variant
ary = Activesheet.Range("A1:A10")
MsgBox ary(1, 1)
結果:
型が一致しません
ary(1, 1)をVariant型の変数に代入する場合は何も起きないので
MsgBoxに表示するときに内部的にString型に変換するため
エラーがおきるのだろうと思っています
それはともかく、ary(1, 1) からエラー値を削除したいのですが
ary(1, 1) = ""
MsgBox ary(1, 1)
とやってもダメでエラーが出ます
ary(1, 1) を何もない状態にするにはどうしたらいいですか?
ary(1, 1)はこの先いろいろな操作をすることになるため、そのたびに
どこに隠れているか分からない数式エラーをチェックするのは大変なのです
919:デフォルトの名無しさん
19/03/13 15:24:34.25 6SLKDaoM0.net
ごめんなさい
>>904は取り消します
何か他の要因がからんでエラーが起きていたようです
上の例だとエラーはおきませんでした
ごめんなさい
920:デフォルトの名無しさん
19/03/13 15:25:55.52 ril+FLd/0.net
とりあえず
Dim ary() As Variant
はエラーが出るので
Dim ary As Variant
に変更している
921:デフォルトの名無しさん
19/03/13 15:26:27.13 YE/558h40.net
あー、荒れてるところ申し訳ないのですが、
ちょっと、質問…いいですかね…
初心者なんでさっぱり文が思いつかないから
例文みたいなのを作ってほしいんですけど…
B3:F○○の表があります。
・B3:F10にそれぞれセルに名前を付けていきたい。
・B3を「_0」としてC3「_2」というように、+2ずつ、
F3「_8」までいったらB4「_10」と同じように+2して、
最後のF10までやりたい。
こんな感じのってできますか??
他のシートでも同様の作業を行ないたくて、
B3から、F列の表で、数字が入力されている部分だけ名前をつけたいから、
if文とかで、数字が入力されていなかったら名前をつけるのを終わるみたいなできたら嬉しいです。
922:デフォルトの名無しさん
19/03/13 15:27:20.71 ril+FLd/0.net
>>905
あ、はい。
923:デフォルトの名無しさん
19/03/13 15:38:57.02 ril+FLd/0.net
>>907
先に範囲選択してからマクロ実行
セルに何も入ってない場合に終了(数字かどうかは判定していない)
Sub Macro1()
番号 = 0
For Each セル In Selection
If セル.Value = "" Then
Exit Sub
Else
ActiveWorkbook.Names.Add Name:="_" & 番号, RefersTo:="=" & セル.Address
番号 = 番号 + 2
End If
Next
End Sub
924:デフォルトの名無しさん
19/03/13 16:22:51.30 kv9h9xOp0.net
以前、ifの条件に合わない時に実行したい時はthenに続けてelseと書いて実行したい内容を書くよりも、条件をnotで括った方が処理が速いと言われました
実際に計測したら確かに僅かな差が有ったのですが何故なのでしょうか
925:デフォルトの名無しさん
19/03/13 17:11:51.63 mnfDUUl9d.net
>>909
ありがとうございます!
やってみます!
926:デフォルトの名無しさん
19/03/13 20:59:56.96 p9thMYjCx.net
>>910
Ifブロックは先頭の条件から逐次Boolean評価していって、一度Trueと判定されるとそこで条件を満たす場合の処理を実行し、残りの条件は評価しない仕組み
Elseのケースでの処理を実行するとなると、If条件とそれ以降のElseIf条件全てにおいてTrueが成立しないという条件が必要になる
なので、同じ条件数のIfブロックで比較すると、Elseより前に置かれた条件で処理を行わせる方がElse以降で処理させる場合よりも条件評価を行う回数が少なくなる
927:デフォルトの名無しさん
19/03/13 21:38:41.07 kv9h9xOp0.net
>>912
if not true then temp = 0
if true then else temp = 0
の二つのif文があった時、後者はtrueの評価の後にelseという評価をしてるという事でしょうか
928:デフォルトの名無しさん
19/03/13 21:39:18.39 hyG2utnjr.net
>>912
VBAはショートサーキットしないけどな
929:デフォルトの名無しさん
19/03/13 21:40:15.61 uWZ9EglX0.net
>>912
何か微妙に勘違いしてる?
Elseifは関係ないぞ
930:デフォルトの名無しさん
19/03/13 21:43:27.67 uWZ9EglX0.net
>>913
elseという評価はしていない
評価というのは、判定してると言っていると思うが、判定はifのとこで終わってる
931:デフォルトの名無しさん
19/03/13 21:53:50.43 Blqbf86O0.net
はっきりさせておきたい
VBAのとき、
if A and B and C then
ってなってるとき、A、B、C全部必ずチェックするのか、AがFALSEだったら、もうB、Cは無視するのか
どっち?
C言語みたいに、& と && みたいなandに2種類ないよね
932:デフォルトの名無しさん
19/03/13 21:54:09.23 mPSJoOjB0.net
ショートサーキットないおかげでどんどんネストしてゆく…
933:デフォルトの名無しさん
19/03/13 22:06:55.44 x7l49vOfa.net
ショートサーキットなんてねえよw
934:デフォルトの名無しさん
19/03/13 22:10:56.03 Blqbf86O0.net
>>919
A、B、C全部必ずチェックすんだね
935:デフォルトの名無しさん
19/03/13 22:39:10.74 BElBpZaB0.net
>>917
そういう場合は
Select Case False
Case A, B, C
' !( A && B && C)の場合の処理
Case Else
' A && B && C の場合の処理
End Select
と書けばショートサーキットになるよ。
直感的じゃないけどね。
936:デフォルトの名無しさん
19/03/13 22:41:50.24 MTZmUGDO0.net
不慣れな初心者ですみません
リストシートのボタンを押すと
リストに入力していたデータ行数分書類型シートが作られるのですが
その作られた書類型シートにもそれぞれボタンがあり
各ボタンを押すとデータ送信用シートが作られる二段構造?になっています
書類シートからデータ送信用シートを作るには
いちいち各シートのボタンを1つずつ押さねばならず大変です
選択したシートのボタンを一括で押すことのできるマクロはありませんでしょうか…?
本当はリストからボタン1つで書類シートとデータ送信用シートができれば最高なのですが
そこまでの改変は難しそうで…
937:デフォルトの名無しさん
19/03/13 22:46:46.17 TdaaOBVz0.net
>>922
それぞれのボタンに組まれたマクロを一つのボタンにまとめる
938:デフォルトの名無しさん
19/03/13 22:48:55.81 ril+FLd/0.net
作り直した方が遥かに楽なパターン
939:デフォルトの名無しさん
19/03/13 22:53:39.78 TdaaOBVz0.net
ごめん>>923は内容勘違いなので忘れて
一括で送信シート作るボタンを一つ作ってその中に、
forで選択した書類シート分回す
その書類シート内の送信シートを作るボタンClickを呼ぶ
Next
ってのはどうですか
940:デフォルトの名無しさん
19/03/13 23:04:41.65 ril+FLd/0.net
>>922
見られちゃマズイデータ消してアップロードすれば誰かが作ってくれると思う
941:デフォルトの名無しさん
19/03/13 23:09:57.29 Blqbf86O0.net
>>921
そんな技があったのね。 ありがと
942:デフォルトの名無しさん
19/03/13 23:13:30.84 nm3P40mI0.net
Clickを呼んでも、クリックするわけじゃないが、
クリックされちゃいそうで怖い。
943:デフォルトの名無しさん
19/03/14 01:04:48.38 D/xLb5AQ0.net
ピボットテーブルの集計結果使いたい時って今まで計算用シートで作成→せる決め打ちで取得 てやってたんだけど稀にカラムずれる
こういうのvbaだけで計算する関数とかないよね?
944:デフォルトの名無しさん
19/03/14 01:36:50.73 lGFaI2Uva.net
ピボットテーブルはアドホックな集計や分析に使うもんだろ
やることが決まってるんなら要らん
945:デフォルトの名無しさん
19/03/14 04:24:36.89 ci+9chmP0.net
>>922
現物見てないからよくわからないんだけど、
リストシートや書類シートにボタンがついてるってのは
マクロ有効ブックの中にそれらのシートがあるってこと?
出来ればデータとマクロは別のブックに分離しといたほうが良いんじゃないかな。
そういう作りにしてれば改修も簡単になりそう。
946:デフォルトの名無しさん
19/03/14 08:13:54.22 YBKQY7Hwd.net
>>927
普通に
If A Then
If B Tnen
If C Then
A And B And Cの時の処理
EndIf
EndIf
EndIf
とするかな。
でも、これでの速度アップより、他に速度ダウン要因を減らした方が良さそう。
自分はIf A AndB And C Thenを気にせず使うな。
947:デフォルトの名無しさん
19/03/14 08:39:22.13 ssjF3MUN0.net
>>932
Aが成り立たないときBを評価するとエラーで止まってしまう場合とかが悩ましいんだ
948:デフォルトの名無しさん
19/03/14 09:04:59.36 Nl2IbJZtM.net
>>921
それ保証されてるんだっけ?
949:デフォルトの名無しさん
19/03/14 09:13:36.88 laeryNOTM.net
>>932
うん、他にやることありそうな気がするぞ
昔の俺みたいに実はコンパイルしてなかったとか笑
950:デフォルトの名無しさん
19/03/14 09:57:51.33 ssjF3MUN0.net
>>934
一応言語規格上保証されてるね
951:デフォルトの名無しさん
19/03/14 10:12:09.94 Nl2IbJZtM.net
>>936
どこかでドキュメント化されてる?
952:デフォルトの名無しさん
19/03/14 10:14:23.93 hUI7fwKe0.net
なんとなくだけど、VBAであまり離れ業を使わないほうが良いとは思う
953:デフォルトの名無しさん
19/03/14 10:34:24.95 ssjF3MUN0.net
>>937
URLリンク(docs.microsoft.com)
にある Published Version の PDF の 5.4.2.10 Select Case Statement に書かれている。
82ページの一番下二行だね。
954:デフォルトの名無しさん
19/03/14 12:36:06.81 YBKQY7Hwd.net
>>933
それは別の問題だよ。
そういう場合は最初からIf A And B And C Thenなんてやらない。
Bの評価でエラーが出ない時でも必ずBの評価をすることで速度ダウンするのを防ぐために
If A Then
If B Then
EndIf
EndIf
とするかと言えば、普段はやらないということ。
それで得られる速度アップより他の修正をした方がよっぽど効果有るだろ。
955:デフォルトの名無しさん
19/03/14 12:53:41.51 CJd9O/FZd.net
アスペかよ
956:デフォルトの名無しさん
19/03/14 13:54:08.96 3EvgP48J0.net
>>939
なるほど、ちゃんと明記されてるんだな、ありがとう
957:デフォルトの名無しさん
19/03/14 13:57:37.28 3EvgP48J0.net
短絡評価の件で速度云々言ってるのはID:YBKQY7Hwdだけだし
958:デフォルトの名無しさん
19/03/14 14:46:00.52 zjiIQsBqM.net
いやいや、役に立った(参考になった)ボタン押してますから
959:デフォルトの名無しさん
19/03/14 15:13:23.25 ONwCUS8k0.net
ショートサーキットが活きてくるのは、Boolean型の関数を並べるときだな
If Func1() Or Func2() Then
みたいなケースだと実行時間がかなり違ってくることも起こりうる
960:デフォルトの名無しさん
19/03/14 15:21:32.05 Cgb2oqJn0.net
標準関数の戻り値に文字列"false"が返ってくる言語があるらしい
961:デフォルトの名無しさん
19/03/14 19:08:46.48 YBKQY7Hwd.net
>>943
伝わって無いようだな。
まず、>>910の速度の話から始まっている。
で、>>932は「俺は」速度を気にしないから普段はやらないけど、とにかくネストすりゃ良いって話。
>>927に速度が念頭に無かったとしても>>932は成立するんだよ。
962:デフォルトの名無しさん
19/03/14 19:08:54.68 YBKQY7Hwd.net
で、>>933は俺が普段やらないという所に反応したわけだ。
それに対して>>940はBのエラーが想定される時は普段もネストするって話。
こちらも成立してる。
あえて言えば>>933が少し外してる。
963:デフォルトの名無しさん
19/03/14 19:33:40.81 3EvgP48J0.net
>>947-948
速度の話(>>910)と短絡評価の話(>>917)は別な
混同してるのはお前だけだぞw
964:デフォルトの名無しさん
19/03/14 19:58:36.19 YBKQY7Hwd.net
>>949
バーカw
短絡評価云々についてはネストすると言ってる。
でも普段は速度を気にしないからネストしないと言ってる。
ここでの速度の話はついでの話だ。
ついでの話で速度を蒸し返したのは俺が最初で、別に>>917が速度のことを考えていなくても何も問題ない。
ついでを書かないと、どんな時も俺がネストしてると思われるから書いてるんだ。
>>917が速度のことを気にしてると俺が思ったからでは無い。
このついでに反応した>>933は「俺が最初に蒸し返した」のでは無く、「俺が>>917を勘違いした」と思ったんだろう。
965:デフォルトの名無しさん
19/03/14 20:19:12.86 RaCvNH3Xa.net
もっと争え
966:デフォルトの名無しさん
19/03/14 20:22:35.66 3EvgP48J0.net
何だこいつ
お前が常にネストするとかどうでもいいよw
967:名無し
19/03/14 20:51:32.45 qOCswbNsa.net
のび太 ドラえもん、なんか道具出してよ
ドラえもん まーまー棒、 ――◯
968:デフォルトの名無しさん
19/03/14 21:48:30.17 yFX6qcia0.net
ID:YBKQY7Hwd
こいつが一番バカっぽい w
969:デフォルトの名無しさん
19/03/14 22:26:04.50 aAmaHeQqr.net
マクロというものを知ったばかりです
■リストから単票を印刷する
URLリンク(www.aibsc.jp)
というマクロを使い注文書を作りたいと思っています
このマクロだとリストに同会社がある場合
同会社がある分だけ印刷されてしまいます
同会社の場合は注文をまとめたいのですが
どういうマクロを組めばいいのでしょうか?
お力を貸
970:して頂きたいです リスト https://i.imgur.com/B7EAyhw.png 理想 印刷1枚目 https://i.imgur.com/s4Lbrxu.png 2枚目 https://i.imgur.com/zKOwgMq.png
971:デフォルトの名無しさん
19/03/14 22:54:56.95 ssjF3MUN0.net
ここで「データをExcelに置くのはやめてSQLSeverとかに格納しよう」って答えたら荒れるのかな?
972:デフォルトの名無しさん
19/03/14 23:06:23.27 3EvgP48J0.net
いや、ここはAccessの出番でしょ
って更に混乱に陥れるとか?
973:デフォルトの名無しさん
19/03/14 23:10:10.38 YBKQY7Hwd.net
>>952
頭に血が上ってるようだな。
別に>>932はこうしろだなんて言ってないんだが。
それを言うなら反応した方がずれてるだろ。
974:デフォルトの名無しさん
19/03/14 23:11:32.83 YBKQY7Hwd.net
日本語のやり取りが出来ない奴ばかりw
975:デフォルトの名無しさん
19/03/14 23:25:05.84 KDf9lyPv0.net
>>955
何だそれwwwww
印刷画面にIndex関数を埋め込んでおけば、
5行くらいで書けるんじゃないのwwwww
で、まとめる方法だけど、やっぱAccessを勧めるな。
Excelでも出来るけど、餅は餅屋だとわかる方がいい。
976:デフォルトの名無しさん
19/03/14 23:28:37.01 YBKQY7Hwd.net
勝手に人のことを推測して反応したら、推測の当てが外れて相手から否定的な意見をもらって怒り爆発って事態がこのところ続いているようだw
977:デフォルトの名無しさん
19/03/14 23:32:27.61 Cgb2oqJn0.net
>>955
accessって意見が多いけど、俺はvbaでやるかな
・まずまとめるシートを新しく作る。一社一行
・それを今まで通り印刷していく
が主な流れと思う
作業自体は難しくないが、仕様が複雑怪奇である
・納期はどこからどこまでか?最短?最長?平均?
・数量もどうまとめるのか?
・品番はどう表記するの?
など、山程考える事がある
978:デフォルトの名無しさん
19/03/14 23:32:30.81 KDf9lyPv0.net
ていうか2009年って。
書いた本人も、内心消したいと思ってるんじゃないのそれ。
当時は良くても、10年後にActiveCell.Offset(1, 0).Selectとか見たら、
あちゃー(ノ∀`)だと思う。
979:デフォルトの名無しさん
19/03/14 23:34:16.79 Cgb2oqJn0.net
ActiveCellのoffsetでSelectとかなかなかやね
マクロの記録でもないだろうから、一生懸命頑張ったんかなって
980:デフォルトの名無しさん
19/03/14 23:41:27.79 S0hknHQca.net
>>955
ランサーズとかで依頼したら?
ゴミみたいな値段で誰か作ってくれるよ
981:デフォルトの名無しさん
19/03/14 23:43:49.65 UkRoSI4o0.net
>>955
馬鹿は死ねよ
982:デフォルトの名無しさん
19/03/14 23:50:37.23 KDf9lyPv0.net
ん、ちょっと待った。
注文書を印刷?
今時そんなことやったら、受け取る方は嫌がると思う。
どうしても紙にするなら、
見た目の格好良さなんか度外視で、
QRコード・品名・数量・納期を、ただ羅列するだけの方がいいよ。
パソコンなんか使ってないような、クソ田舎の店に注文出すわけじゃないんでしょ?
983:デフォルトの名無しさん
19/03/14 23:59:36.30 39aguKNH0.net
>>955
できるだけ単純な方法だと、
・リストにマクロ用の作業列を1列用意する
・マクロ開始時に作業列をクリア
・ループ内で印刷シートにデータを入れ込む前に、その行の作業列が空白かどうか見る
空白なら印刷シートに社名とデータ入れて、作業列に1とか適当に入れる
FindとFineNextで同じ社名全部検索して、1個目と同じように見つかった行の作業列に何か入れてデータを印刷シートに入れる
・印刷実行
984:デフォルトの名無しさん
19/03/15 00:00:20.90 cOSRxez60.net
FineNext→FindNextね
985:デフォルトの名無しさん
19/03/15 00:00:30.62 mu0sfa7H0.net
>>962
そこでさらに
Driver = {Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}
使えといって混乱させる
986:デフォルトの名無しさん
19/03/15 00:02:04.33 5fRBFExt0.net
批判とかする気持ちは分かるけど、だったらダイマ批判の覚悟でそれ相応のサービスを紹介してあげてはどうかな
さすがにそろそろvbaで請求関係は終焉させてあげたい。よく20年も頑張ったよ
987:デフォルトの名無しさん
19/03/15 00:04:22.44 5fRBFExt0.net
まぁ俺はgoogleanalyticsのマイレポートをctrl+aでコピー*3、EXCELに貼り付け
多様な角度からレポート生成
なんてシステム作ったけどな
役に立ってるかは知らん
988:デフォルトの名無しさん
19/03/15 00:04:59.41 BXhkH+980.net
>>955
Accessわかる人は、何も悩むところがない
わからなければ、Accessの勉強で苦労するか、ExcelVBAで苦労するか
好きな方選べばいい
989:デフォルトの名無しさん
19/03/15 08:35:06.36 8vQK+5mFd.net
>>955
業務の内容から考えるとAccessのが良いっぽいんだけど、規模によるかな。
注文する会社はどれくらいあって、この注文書ってどれくらい印刷するのか。
そもそもDBにするような話なら既にそうなってる気もするんだよな。
だからExcelでDBにもしなくて良いような気がする。
>>963
全く同意だけど、記事の内容を見ると初めてVBAを触る人向け第2回って感じだから、マクロ記録をちょっとだけ改変って感じなんじゃない?
990:デフォルトの名無しさん
19/03/15 08:37:29.81 7wpKi9ozH.net
馬鹿はスレタイが読めない
991:デフォルトの名無しさん
19/03/15 08:42:37.51 CgxPaElB0.net
馬鹿は頭が固い
992:デフォルトの名無しさん
19/03/15 08:53:15.07 mu0sfa7H0.net
>>970に書いたのは冗談じゃなくて、データは専用の別ブックに置くようにして、マクロ(と印刷用画面)と分けた方がいい。
データブックからの読み取りはSQLでやる。
こうすれば将来のDB化にも繋がるよ。
993:デフォルトの名無しさん
19/03/15 09:01:55.29 8vQK+5mFd.net
マクロというものを知ったばかりの人にSQLとか言い出すってどうなんだろう?
そういう所だよ。
994:デフォルトの名無しさん
19/03/15 09:30:17.24 7wpKi9ozH.net
>>977
じゃあ最初からDB使え
後で使うだろうと無駄な設計やコードを残していったアホの後任が不憫でならない
995:デフォルトの名無しさん
19/03/15 10:04:11.53 mu0sfa7H0.net
マジで?!
996:デフォルトの名無しさん
19/03/15 10:54:37.46 sIXN3DPHM.net
>>977
データを分けたらAccessのリンクテーブルにもできるだろうから、徐々に移行ってこともできるよね
997:デフォルトの名無しさん
19/03/15 11:44:43.49 pQ5gXJpBM.net
wordに差し込み印刷という……
998:デフォルトの名無しさん
19/03/15 13:49:10.01 07U/buSjM.net
データの保存はiniファイルと隠しシートどっち使うのがスタンダードなの?
999:デフォルトの名無しさん
19/03/15 13:54:39.91 /jMwhNVt0.net
普通に表示しているシート
後iniファイルって古い。今はxmlが主流だよ
1000:デフォルトの名無しさん
19/03/15 14:53:36.22 BdW6uHhE0.net
iniファイルってデータの保存用とかじゃなくプログラムの設定用だろ?
まぁどちらにしろ古いけどさ。
1001:デフォルトの名無しさん
19/03/15 18:22:20.40 jUtd0ALV0.net
この前、セルに _(数字)の名前を付けたものです。
(数字)は変数として定義してあるのですが、
アンダーバーが使えないため、_(数字)を参照できません。
なんで新たに、Sujl、みたいな変数の箱を作って
Suji = "_" & (数字)
っていうのにしてみたんですけど
セルにSujiを入力するようにすると、_2のように表示されるのですが
Range(Suji).Select
だとエラーが出てしまいます。
どうやったらその名前を付けたセルを参照できますか??
1002:デフォルトの名無しさん
19/03/15 18:24:03.29 fZ/zfvrlM.net
君プログラミング向いてないからやめた方がいいよ
1003:デフォルトの名無しさん
19/03/15 18:28:03.12 luJRKRBO0.net
>>986
論外
1004:デフォルトの名無しさん
19/03/15 18:29:21.03 sIXN3DPHM.net
俺の脳みそだと翻訳できんわ
1005:デフォルトの名無しさん
19/03/15 18:39:53.23 XS3ylKm2a.net
_2 って名前を付けたセルを
どうやったら呼び出せるのかなって
2の部分は入力によって変えたいから
どうしたもんやらって
分かりづらくて、センスなくてごめんね。
1006:デフォルトの名無しさん
19/03/15 18:53:39.56 luJRKRBO0.net
Suji = “_2”
Range(“A1”)=Suji
はできたけど
Range(Suji).Select
はエラーになるのはなぜか
1007:デフォルトの名無しさん
19/03/15 18:56:58.01 3iBx3zPfa.net
>>991
意味が全く違うからとしか言いようがない
まずはどういう結果を期待してて何故それでうまくいくと思ったのかを晒せ
1008:デフォルトの名無しさん
19/03/15 18:58:53.06 luJRKRBO0.net
>>992
本人に聞け
ドジっ子かよ
1009:デフォルトの名無しさん
19/03/15 19:43:27.31 cOSRxez60.net
>>986
その記述で参照できる
その呼び出したい名前の定義の「範囲」はブック?
1010:デフォルトの名無しさん
19/03/15 19:58:09.38 KbM/PflUF.net
>>984
今のところ、次の主流はとくに決まってないよ
jsonもけっこう幅広く使われてるし、ほかにもいろいろなデータ記述法が登場してる
1011:デフォルトの名無しさん
19/03/15 20:05:31.49 3iBx3zPfa.net
MSに忠誠を誓うなら今はJSONだね
最近のMSはXMLをどんどん排除してJSONに置き換えてる
1012:デフォルトの名無しさん
19/03/15 20:42:29.36 ng8+eCdqM.net
>>983
データの量によるけど少量ならCustomDocumentPropertiesかな
1013:デフォルトの名無しさん
19/03/15 20:43:10.21 ng8+eCdqM.net
>>996
JSONいいんだけどコメントが書けないのがなぁ
1014:デフォルトの名無しさん
19/03/15 20:53:54.46 mu0sfa7H0.net
>>997
一項目あたり225文字が限界っぽいけどね。
ちょっとスマートな感じがするから一度使ってみようと思いつつまだ機会がない。
1015:デフォルトの名無しさん
19/03/15 20:55:03.42 mu0sfa7H0.net
>>999
225じゃない255だ
225は日経
1016:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 34日 5時間 42分 33秒
1017:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています