ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part54
https://mevius.5ch.net/test/read.cgi/tech/1527334657/
探検
Excel VBA 質問スレ Part55
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/07/22(日) 14:13:18.78ID:/fuF+goF270デフォルトの名無しさん
2018/08/07(火) 15:43:33.88ID:JsLgKgln >>267
VBAではそもそも初期化できない。
VBAではそもそも初期化できない。
271デフォルトの名無しさん
2018/08/07(火) 18:35:06.29ID:o04k1oyM ありがとうございます。
特に初期値は設定せずにそのまま使うことにします。
ところで、VBAを触り始めてから他のプログラミング言語にも興味が出てきました。
使い勝手や習得時間を省みて、VBAを習得している者にとって一番コスパがいい言語は何でしょうか。
やはりVB.NETでしょうか。
スレチでしたら無視してください。
特に初期値は設定せずにそのまま使うことにします。
ところで、VBAを触り始めてから他のプログラミング言語にも興味が出てきました。
使い勝手や習得時間を省みて、VBAを習得している者にとって一番コスパがいい言語は何でしょうか。
やはりVB.NETでしょうか。
スレチでしたら無視してください。
272デフォルトの名無しさん
2018/08/07(火) 19:02:13.91ID:kevEyuIc なんかの言語をひとつ習得できる人なら何でもいいよ
言語別の利用者数、給与、分野、いろいろ調べてみ
言語別の利用者数、給与、分野、いろいろ調べてみ
273デフォルトの名無しさん
2018/08/07(火) 20:12:05.34ID:BqQIYASV274デフォルトの名無しさん
2018/08/07(火) 20:40:19.29ID:50B7Hyqk275デフォルトの名無しさん
2018/08/07(火) 20:44:08.52ID:BqQIYASV それにC#ならAndroidアプリも作れるしiOSアプリも作れる
276デフォルトの名無しさん
2018/08/07(火) 20:56:18.42ID:i+W8MTkr277デフォルトの名無しさん
2018/08/07(火) 21:13:08.98ID:zpIkHTy8 20代までならC#ぐらいは覚えておいたら転職で役に立つかも知れない
278デフォルトの名無しさん
2018/08/07(火) 21:33:21.73ID:eM6c9wNK 仕事で社内サイトの検索結果を数十ページ出して
その中から必要なデータをExcelに貼り付けるVBAをCreateObject(" InternetExplorer.Application"を使って作ったのだけど
社内ネットワークが重すぎて1ページあたり1分以上、つまり20ページあると20分以上というものすごい時間がかかります。
これ各ページの平行作業かなにかで、どんなにページ数があっても1分強くらいですます方法はないのですか?
その中から必要なデータをExcelに貼り付けるVBAをCreateObject(" InternetExplorer.Application"を使って作ったのだけど
社内ネットワークが重すぎて1ページあたり1分以上、つまり20ページあると20分以上というものすごい時間がかかります。
これ各ページの平行作業かなにかで、どんなにページ数があっても1分強くらいですます方法はないのですか?
279デフォルトの名無しさん
2018/08/07(火) 21:44:50.55ID:eM6c9wNK ちなみに今は
1ページ開いて、そのページを完全に読み取ったら(●ここに時間がかかっている。30秒〜60秒くらいか)、IEオブジェクトを利用してGetIdByIDなどでデータを読み込み、そのページを閉じ、
それをページ数だけ繰り返しています。
1ページ開いて、そのページを完全に読み取ったら(●ここに時間がかかっている。30秒〜60秒くらいか)、IEオブジェクトを利用してGetIdByIDなどでデータを読み込み、そのページを閉じ、
それをページ数だけ繰り返しています。
280デフォルトの名無しさん
2018/08/07(火) 21:58:48.99ID:zEgIKMkK 無いです
シス管に糞サイトが遅いぞって文句言いましょう
シス管に糞サイトが遅いぞって文句言いましょう
281デフォルトの名無しさん
2018/08/07(火) 22:03:53.33ID:eM6c9wNK いや、あるのでは?
他言語ではマルチスレッドというやつかな?
他言語ではマルチスレッドというやつかな?
282デフォルトの名無しさん
2018/08/07(火) 22:07:46.26ID:zpIkHTy8 IEオブジェクトを配列にしてWEBページの同時読み込みに挑戦してみたことあるけど、なぜかVBAではうまくいかなかった
これはいまだに理由がよくわからん
これはいまだに理由がよくわからん
283デフォルトの名無しさん
2018/08/07(火) 22:52:34.26ID:Ylf+FX0e VBScriptで処理を書いて
マルチプロセスでやってみるのはどうだろう
ネットワークが遅いのが原因だとすると
変わらないかもしれないけど
2/3 ~ 1/2 くらいは期待できるんじゃないかな
社内DBに直結してデータぶっこ抜けないかな
マルチプロセスでやってみるのはどうだろう
ネットワークが遅いのが原因だとすると
変わらないかもしれないけど
2/3 ~ 1/2 くらいは期待できるんじゃないかな
社内DBに直結してデータぶっこ抜けないかな
284デフォルトの名無しさん
2018/08/07(火) 23:01:00.74ID:WUtnzCvr >>246
マーティン・ファウラーはメソッド平均6行ぐらいだってさ
俺もC#やJavaを使うときはだいたいそれと同じぐらいに自然と落ち着く
VBAは冗長で書きにくいから10行〜20行ぐらいになっても我慢するけどね(どうせすぐ破棄するってのもあるが)
100行ってのはおそらくだが速度最適化のために可読性保守性を無視したコードならそれぐらいまでOKってことではないかな
C言語は何よりもまず速度みたいなところがあるからね
マーティン・ファウラーはメソッド平均6行ぐらいだってさ
俺もC#やJavaを使うときはだいたいそれと同じぐらいに自然と落ち着く
VBAは冗長で書きにくいから10行〜20行ぐらいになっても我慢するけどね(どうせすぐ破棄するってのもあるが)
100行ってのはおそらくだが速度最適化のために可読性保守性を無視したコードならそれぐらいまでOKってことではないかな
C言語は何よりもまず速度みたいなところがあるからね
285デフォルトの名無しさん
2018/08/07(火) 23:10:51.13ID:50B7Hyqk286デフォルトの名無しさん
2018/08/07(火) 23:14:03.05ID:zEgIKMkK >>281
エスパーすると社内サイトの検索処理がダメダメで異様に時間食ってると思うのでクライアントでいくら頑張っても無理
エスパーすると社内サイトの検索処理がダメダメで異様に時間食ってると思うのでクライアントでいくら頑張っても無理
287デフォルトの名無しさん
2018/08/07(火) 23:19:30.40ID:EHUuk9/6 ネットワーク越しの処理ってVBA異常に遅かった記憶があるなぁ
288デフォルトの名無しさん
2018/08/07(火) 23:44:33.38ID:+TFKzcWv 6,7行とか本当?
明らかに保守よりも作成する頻度の方が高いから、結構雑になる
下はディレクトリの一覧ファイル作るマクロ。確か5.6回しか使っていない
※数万ファイルのファイル名を一覧にしたかったらしい
Sub main()
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
strPath = InputBox("調べたいフォルダを絶対パスで入力してください。", "ファイル一覧", "c:\")
Cells(3, 2) = " "
Range("A3", ActiveCell.SpecialCells(xlLastCell)).ClearContents
Range("A3").Select
i = 3
FileDisp strPath, i
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
明らかに保守よりも作成する頻度の方が高いから、結構雑になる
下はディレクトリの一覧ファイル作るマクロ。確か5.6回しか使っていない
※数万ファイルのファイル名を一覧にしたかったらしい
Sub main()
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
strPath = InputBox("調べたいフォルダを絶対パスで入力してください。", "ファイル一覧", "c:\")
Cells(3, 2) = " "
Range("A3", ActiveCell.SpecialCells(xlLastCell)).ClearContents
Range("A3").Select
i = 3
FileDisp strPath, i
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
289デフォルトの名無しさん
2018/08/07(火) 23:44:40.74ID:+TFKzcWv Private Sub FileDisp(strPath, i)
Set objFs = CreateObject("Scripting.FileSystemObject")
Set objFld = objFs.GetFolder(strPath)
'folder
Cells(i, 2) = objFs.GetBaseName(objFld.Name)
Cells(i, 3) = objFld.ParentFolder.Path
Cells(i, 4) = Int(objFld.Size / 1024)
Cells(i, 5) = "folder"
Cells(i, 6) = objFld.DateCreated
Cells(i, 7) = objFld.DateLastAccessed
Cells(i, 8) = objFld.DateLastModified
i = i + 1
For Each objFl In objFld.Files
Cells(i, 2) = objFs.GetBaseName(objFl.Path)
Cells(i, 3) = objFl.ParentFolder.Path
Cells(i, 4) = Int(objFl.Size / 1024)
Cells(i, 5) = objFl.Type
Cells(i, 6) = objFl.DateCreated
Cells(i, 7) = objFl.DateLastAccessed
Cells(i, 8) = objFl.DateLastModified
i = i + 1
Next
For Each objSub In objFld.SubFolders
FileDisp objSub.Path, i
Next
End Sub
Set objFs = CreateObject("Scripting.FileSystemObject")
Set objFld = objFs.GetFolder(strPath)
'folder
Cells(i, 2) = objFs.GetBaseName(objFld.Name)
Cells(i, 3) = objFld.ParentFolder.Path
Cells(i, 4) = Int(objFld.Size / 1024)
Cells(i, 5) = "folder"
Cells(i, 6) = objFld.DateCreated
Cells(i, 7) = objFld.DateLastAccessed
Cells(i, 8) = objFld.DateLastModified
i = i + 1
For Each objFl In objFld.Files
Cells(i, 2) = objFs.GetBaseName(objFl.Path)
Cells(i, 3) = objFl.ParentFolder.Path
Cells(i, 4) = Int(objFl.Size / 1024)
Cells(i, 5) = objFl.Type
Cells(i, 6) = objFl.DateCreated
Cells(i, 7) = objFl.DateLastAccessed
Cells(i, 8) = objFl.DateLastModified
i = i + 1
Next
For Each objSub In objFld.SubFolders
FileDisp objSub.Path, i
Next
End Sub
290デフォルトの名無しさん
2018/08/07(火) 23:46:49.50ID:+TFKzcWv この辺は配列に入れようかと思ったけどもういいやってなった
使い捨てじゃなければもう少し綺麗にまとめたいんだけど、
そんな暇は、ない
Cells(i, 2) = objFs.GetBaseName(objFld.Name)
Cells(i, 3) = objFld.ParentFolder.Path
Cells(i, 4) = ・・・
使い捨てじゃなければもう少し綺麗にまとめたいんだけど、
そんな暇は、ない
Cells(i, 2) = objFs.GetBaseName(objFld.Name)
Cells(i, 3) = objFld.ParentFolder.Path
Cells(i, 4) = ・・・
291デフォルトの名無しさん
2018/08/08(水) 00:43:07.64ID:vvQmCMQJ 扱うプログラミング言語によるエンジニアの年収差「Go」が1位に 2018年8月7日
・スタンバイが「プログラミング言語別年収ランキング2018」を発表した
・1位に輝いたのは、さまざまな分野で利用されている「Go」
・年収中央値は600万円で、10位の「C言語」と比べて75万円高いという
http://image.news.livedoor.com/newsimage/stf/2/e/2e6a5_1524_19def02164a84861254ba51be419f53e.jpeg
http://news.livedoor.com/article/detail/15125851/
Goってなんやねん…
って言うてたらアカンのんか…
・スタンバイが「プログラミング言語別年収ランキング2018」を発表した
・1位に輝いたのは、さまざまな分野で利用されている「Go」
・年収中央値は600万円で、10位の「C言語」と比べて75万円高いという
http://image.news.livedoor.com/newsimage/stf/2/e/2e6a5_1524_19def02164a84861254ba51be419f53e.jpeg
http://news.livedoor.com/article/detail/15125851/
Goってなんやねん…
って言うてたらアカンのんか…
292デフォルトの名無しさん
2018/08/08(水) 02:42:12.63ID:bsMqBICX ポケモンだろ
293デフォルトの名無しさん
2018/08/08(水) 03:02:57.55ID:vtZ7Dair294デフォルトの名無しさん
2018/08/08(水) 05:59:42.24ID:1w8vuJFc >>293
インスタンスとは実体化されてるそのもののことだと思うけど。どういうこと?
インスタンスとは実体化されてるそのもののことだと思うけど。どういうこと?
295デフォルトの名無しさん
2018/08/08(水) 06:57:52.22ID:QCGkbsMF カップヌードルにお湯を入れます、これがインスタンス化です
カップヌードルにお湯を注いでいたとしても、それが同じカップヌードル
だったらできあがるカップヌードルは1つだけですよね、そういうことです
カップヌードルにお湯を注いでいたとしても、それが同じカップヌードル
だったらできあがるカップヌードルは1つだけですよね、そういうことです
296デフォルトの名無しさん
2018/08/08(水) 08:10:17.80ID:Ot2gBzQj >>279
InternetExplorer.Applicationは遅い。
ページにもよるけどMSXML2.XMLhttpとかhtmlflle使った方が全然速い。
ページにもよるのは遷移後にJavaScriptなどでページ内容が変わる場合等は対応出来ない場合があるから。
InternetExplorer.Applicationは遅い。
ページにもよるけどMSXML2.XMLhttpとかhtmlflle使った方が全然速い。
ページにもよるのは遷移後にJavaScriptなどでページ内容が変わる場合等は対応出来ない場合があるから。
297デフォルトの名無しさん
2018/08/08(水) 09:27:23.26ID:wHDW8dSe Webアプリを作って取得したデータをエクセルで読み込めば早いのでは?
298デフォルトの名無しさん
2018/08/08(水) 11:19:22.65ID:wMtMcgI8 社内サイトなら>>283の言うとおりDBを直接アクセスするのが正解なんだが、
「そういう想定で作ってません」てパターンもありそう。
「そういう想定で作ってません」てパターンもありそう。
299デフォルトの名無しさん
2018/08/08(水) 12:44:02.26ID:fnpjJPlP 一般社員用クライアント - WEBサーバ - DBサーバ - 管理者用クライアント
WEB経由じゃないと、DBには直接アクセスできないってケースもよくある
WEB経由じゃないと、DBには直接アクセスできないってケースもよくある
300デフォルトの名無しさん
2018/08/08(水) 13:19:28.34ID:hYvxbMfU 以前データをCSVに書き出す社内Webがクソすぎて
解析したらページ内のパラメータjoinしてSQL文作ってPOSTで投げて取得してただけだったので
XmlHTTPで直接取るようにしたことあるわ
解析したらページ内のパラメータjoinしてSQL文作ってPOSTで投げて取得してただけだったので
XmlHTTPで直接取るようにしたことあるわ
301デフォルトの名無しさん
2018/08/08(水) 19:07:51.20ID:wMtMcgI8 >>299
つまらんことするよなあ
つまらんことするよなあ
302デフォルトの名無しさん
2018/08/08(水) 19:14:31.05ID:woeaWRrx DBに無制限で直接アクセスってヤバくね?
303デフォルトの名無しさん
2018/08/08(水) 20:01:33.99ID:5XCxVkf/ 無制限のアクセスはやばいけど
このテーブルだけ許可しますとか
SELECTだけ許可しますとか
このIPからだけ許可しますとか
できるっしょ
このテーブルだけ許可しますとか
SELECTだけ許可しますとか
このIPからだけ許可しますとか
できるっしょ
304デフォルトの名無しさん
2018/08/08(水) 21:58:07.18ID:F+QXSseb 社内DB全開放して自由にクエリ投げれるようにしたら事務の人間半分くらいいらなくなりそう
というかVBAなんかよりSQL勉強したほうが手っ取り早く幸せになれる人多いんじゃないかと前々から思ってる
というかVBAなんかよりSQL勉強したほうが手っ取り早く幸せになれる人多いんじゃないかと前々から思ってる
305デフォルトの名無しさん
2018/08/08(水) 22:05:47.67ID:XDTEOjvF webで良いからurlがapiとして完成してれば何も言うことは無い
306デフォルトの名無しさん
2018/08/08(水) 22:22:03.67ID:+Hip1o5f >>304
報酬次第だね
事務のコストを圧縮するごとにシステム部の報酬が上がるなら、
システムは本気で頑張り続けるだろうね
現実的にはなぜかそれが行われないので、いつまで経っても事務が事務事務している
報酬次第だね
事務のコストを圧縮するごとにシステム部の報酬が上がるなら、
システムは本気で頑張り続けるだろうね
現実的にはなぜかそれが行われないので、いつまで経っても事務が事務事務している
307デフォルトの名無しさん
2018/08/08(水) 22:23:00.50ID:+Hip1o5f ただ、下手にアクセスで作ると自分以外触れなくなって何かあったら即死する
中小企業なら、エクセル+エクセルvbaが最強だと思っている
中小企業なら、エクセル+エクセルvbaが最強だと思っている
308デフォルトの名無しさん
2018/08/08(水) 22:49:37.58ID:jNIJWXgx >>307
アクセス専門業者を呼べばいいだけじゃん
アクセス専門業者を呼べばいいだけじゃん
309デフォルトの名無しさん
2018/08/08(水) 23:28:48.50ID:+Hip1o5f >>308
死ぬほど高い
死ぬほど高い
310デフォルトの名無しさん
2018/08/09(木) 00:59:24.50ID:JCoC1JfU 1から開発で今更Accessも無いだろう。データベースシステムでスタンドアロンのシングルユーザーというのがそもそも想定しにくい
311デフォルトの名無しさん
2018/08/09(木) 01:02:04.53ID:cF5SxCfL 当たり前のことなんだけど、これまでなかなか上手いたとえが思い付かなかったが…
Manabu Ueno @manabuueno 16:46 - 2018年8月1日
ユーザーの要求をそのまま機能にすると役立たない物になってしまいます。
デザイナーはユーザーの要求を抽象化して本来的な原理を見つける必要があるのです。
例えば「直進したい」「左折したい」「右折したい」という要求に対して、3つのボタンではなく、
1つのハンドルを提案できなければいけません。
https://pbs.twimg.com/media/Djf5rTuUYAEI9sw.jpg
https://twitter.com/manabuueno/status/1024562075526254592
この例えは現場の人と話すときにも使えそうだな
https://twitter.com/5chan_nel (5ch newer account)
Manabu Ueno @manabuueno 16:46 - 2018年8月1日
ユーザーの要求をそのまま機能にすると役立たない物になってしまいます。
デザイナーはユーザーの要求を抽象化して本来的な原理を見つける必要があるのです。
例えば「直進したい」「左折したい」「右折したい」という要求に対して、3つのボタンではなく、
1つのハンドルを提案できなければいけません。
https://pbs.twimg.com/media/Djf5rTuUYAEI9sw.jpg
https://twitter.com/manabuueno/status/1024562075526254592
この例えは現場の人と話すときにも使えそうだな
https://twitter.com/5chan_nel (5ch newer account)
312デフォルトの名無しさん
2018/08/09(木) 06:36:39.58ID:Uz7F5Yyf 真の欲求って奴だな
これを知らないとデスマーチからいつまで経っても抜け出せなし
これを知らないとデスマーチからいつまで経っても抜け出せなし
313デフォルトの名無しさん
2018/08/09(木) 07:59:59.62ID:TQ/3uoG6 ソフトごとに違う使い方やI/F覚えるよりSQL覚えた方が早いしずっと役立つんじゃね?
314デフォルトの名無しさん
2018/08/09(木) 08:16:05.94ID:XQnUSO4S >>313
なるほど!
じゃあ社内DBに直接アクセスしたいのですが、その方法はどうしますか?
HTMLのフォームに入力してSubmitすれば次のページでいろんなデータが見れるようになっているのですが
そのHTMLフォームがあるページのHTMLソースを見ればその中のどこかに社内DBのアドレスやログイン方法みたいなのが書いてあるのですか?
なるほど!
じゃあ社内DBに直接アクセスしたいのですが、その方法はどうしますか?
HTMLのフォームに入力してSubmitすれば次のページでいろんなデータが見れるようになっているのですが
そのHTMLフォームがあるページのHTMLソースを見ればその中のどこかに社内DBのアドレスやログイン方法みたいなのが書いてあるのですか?
315デフォルトの名無しさん
2018/08/09(木) 08:22:15.68ID:0WK0pW+2316デフォルトの名無しさん
2018/08/09(木) 08:24:20.68ID:nqTz3IyX >>314
お前には無理だから諦めろ
お前には無理だから諦めろ
317デフォルトの名無しさん
2018/08/09(木) 08:38:23.31ID:sKYMgflt そういやExcel VBAでもADO使えばSQL使えるみたいだけど、どれくらい制限あるの?
318デフォルトの名無しさん
2018/08/09(木) 09:09:17.52ID:BeIAvoie ???
そもそも何に接続したいの?
SQLといってもそれによるでしょ。
接続できるアカウント用意してもらって、
接続用ODBCドライバ入れて良いかどうかとか、情シスに聞いてみれば?
そもそも何に接続したいの?
SQLといってもそれによるでしょ。
接続できるアカウント用意してもらって、
接続用ODBCドライバ入れて良いかどうかとか、情シスに聞いてみれば?
319デフォルトの名無しさん
2018/08/09(木) 10:14:25.51ID:yeHg7T00320デフォルトの名無しさん
2018/08/09(木) 12:17:46.94ID:TQ/3uoG6 >>317
SELECTとかINSERTとかのSQLを実行する分にはvbaだからどうこうっていう制約は何もないよ。
SELECTとかINSERTとかのSQLを実行する分にはvbaだからどうこうっていう制約は何もないよ。
321デフォルトの名無しさん
2018/08/09(木) 18:30:51.09ID:sKYMgflt322デフォルトの名無しさん
2018/08/09(木) 18:39:29.03ID:XQnUSO4S ところで新バージョンExcelで「游ゴシック」がうざくてしかたがない。
これ地獄の底へ抹消する方法ない?
しかも「游」ってなんだ?「遊園地」の「遊」でもないし。
これ地獄の底へ抹消する方法ない?
しかも「游」ってなんだ?「遊園地」の「遊」でもないし。
323デフォルトの名無しさん
2018/08/09(木) 18:47:08.22ID:JCoC1JfU Web制作では游ゴシは福音なんだがな...嫌いならフォントだけアンインストールすりゃいんじゃね?
324デフォルトの名無しさん
2018/08/09(木) 19:24:43.48ID:YxGb3uhT325デフォルトの名無しさん
2018/08/09(木) 19:26:31.27ID:FjggVehY 既定のフォント設定で簡単に変更は出来るけど、他人の作るブックはどうにもならんからな…
327デフォルトの名無しさん
2018/08/09(木) 20:56:51.04ID:cF5SxCfL >>324
「コーナーが90度だけ『じゃなくてたくさんある』っていう状況」まで汲め
まずは、要求を抽象化してその可能性に気づき
次に、こちらから質問してそういうケースが起きうるのかを確認する
それだけの話で超能力でも忖度でもムチャぶりでもないよ
(あ、でも確かに最初の抽象化ができない人にやれというのはムチャぶりになるかもね)
「コーナーが90度だけ『じゃなくてたくさんある』っていう状況」まで汲め
まずは、要求を抽象化してその可能性に気づき
次に、こちらから質問してそういうケースが起きうるのかを確認する
それだけの話で超能力でも忖度でもムチャぶりでもないよ
(あ、でも確かに最初の抽象化ができない人にやれというのはムチャぶりになるかもね)
328デフォルトの名無しさん
2018/08/09(木) 21:10:58.19ID:ou4vsgQB ヒアリングしても具体的な典型例のみが挙がるかレアケースばかり挙がることが多い気がする
実務やってる人間にとって当たり前すぎることは出てこなくて、試作段階で出来なくてもいいのかの確認とったら出来ないと話にならんとか
俺は自部署以外だと多部署からの依頼を受けて作る程度だからある程度実務がわかる分マシだけど、プロは畑違いの仕事の他社とやりとりするんだから大変だろうな
実務やってる人間にとって当たり前すぎることは出てこなくて、試作段階で出来なくてもいいのかの確認とったら出来ないと話にならんとか
俺は自部署以外だと多部署からの依頼を受けて作る程度だからある程度実務がわかる分マシだけど、プロは畑違いの仕事の他社とやりとりするんだから大変だろうな
329デフォルトの名無しさん
2018/08/09(木) 21:23:36.18ID:Uz7F5Yyf レアケース挙げてくれるならありがたいジャン
330デフォルトの名無しさん
2018/08/09(木) 21:32:44.33ID:s67NkejU そのためのOOPだ
なんの問題ないよ
なんの問題ないよ
331デフォルトの名無しさん
2018/08/10(金) 00:05:32.03ID:Xmz6l8g0 >>321
ODBCだったら
Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)
というドライバを使うことになるけど、これの機能が貧弱だから凝ったSQLは受け付けてくれない。
単純なWHERE文での抽出だったらできるから、形式が決まったシートなら便利に使える可能性はある。
ODBCだったら
Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)
というドライバを使うことになるけど、これの機能が貧弱だから凝ったSQLは受け付けてくれない。
単純なWHERE文での抽出だったらできるから、形式が決まったシートなら便利に使える可能性はある。
332デフォルトの名無しさん
2018/08/10(金) 00:07:31.23ID:Xmz6l8g0 >>327
大変だねえ、委託業務は
大変だねえ、委託業務は
333デフォルトの名無しさん
2018/08/10(金) 00:07:58.29ID:buW+ivGR >>323
具体的にはなにがどう良いんだ?
具体的にはなにがどう良いんだ?
334デフォルトの名無しさん
2018/08/10(金) 00:13:58.45ID:KVMpRfYs あらゆることを想定したお見積がこちらです
なんでそんなかかるの?と
なんでそんなかかるの?と
335デフォルトの名無しさん
2018/08/10(金) 00:36:24.65ID:GY+5Xvxa >>327
いや、ハンドルとコーナーの話だから抽象化やらも考えやすいだけじゃね?っていう
車とか曲がる行為とかがある程度普遍的だから敷衍できる
でも普段やってる仕事ってそのレベルで進んでるか?ってことよ
抽象化しろっていうのも一見正論だしある程度はしてるけど
曲がるを実装するためにハンドルは俺には飛躍が激しく思える
いや、ハンドルとコーナーの話だから抽象化やらも考えやすいだけじゃね?っていう
車とか曲がる行為とかがある程度普遍的だから敷衍できる
でも普段やってる仕事ってそのレベルで進んでるか?ってことよ
抽象化しろっていうのも一見正論だしある程度はしてるけど
曲がるを実装するためにハンドルは俺には飛躍が激しく思える
336デフォルトの名無しさん
2018/08/10(金) 00:45:08.80ID:nHU64y35 抽象化が苦手そうなのがよく伝わってくる
アレはアレ、コレはコレで別モンとして対処するのが得意そうだな
アレはアレ、コレはコレで別モンとして対処するのが得意そうだな
337デフォルトの名無しさん
2018/08/10(金) 00:51:11.37ID:GY+5Xvxa 幸運な>>336はそのレベルででなんだな
どういう仕事してんだ?web系とかか?
どういう仕事してんだ?web系とかか?
338デフォルトの名無しさん
2018/08/10(金) 04:05:42.61ID:3Gbr2Rmh339デフォルトの名無しさん
2018/08/10(金) 04:22:01.75ID:8SROxuQV >>333
游ゴシックはMacとWindowsの両方に搭載されているのでCSSの手間が減る
游ゴシックはMacとWindowsの両方に搭載されているのでCSSの手間が減る
340デフォルトの名無しさん
2018/08/10(金) 07:12:17.59ID:hEgtpW6D 出ましたRubyヴァカ
341デフォルトの名無しさん
2018/08/10(金) 07:42:41.23ID:gxVIX6OQ 20年遅れくらいでオブジェクト指向に出会った感じがよくでてる
342デフォルトの名無しさん
2018/08/10(金) 13:30:13.92ID:u/kCZrV9 あるクラスのインスタンスをいっぱい作ってそれをCollectionに入れてて
それをその1つの要素でソートするためにはどうしたらいいですか?
VBAにはソート関数みたいなのはないのですか?
イメージとしては人間クラスがあって、年令でソートする感じ。
それをその1つの要素でソートするためにはどうしたらいいですか?
VBAにはソート関数みたいなのはないのですか?
イメージとしては人間クラスがあって、年令でソートする感じ。
343デフォルトの名無しさん
2018/08/10(金) 13:40:04.94ID:PoJQ6i5f rubberduck入れたらCall使うなって怒られた
なんでダメなの?
なんでダメなの?
344デフォルトの名無しさん
2018/08/10(金) 14:51:32.56ID:gxVIX6OQ345デフォルトの名無しさん
2018/08/10(金) 16:02:16.73ID:ZQbSW7gd 列のソート時に行を崩さない方法について質問させてください。
手作業では成功してます。
一列オートフィルタ→ソートのカスタムから指定文字列選択→完。
マクロだと指定した行のみソートになってしまいデータが壊れてしまいます。
ご回答よろしくお願いします。
手作業では成功してます。
一列オートフィルタ→ソートのカスタムから指定文字列選択→完。
マクロだと指定した行のみソートになってしまいデータが壊れてしまいます。
ご回答よろしくお願いします。
346デフォルトの名無しさん
2018/08/10(金) 18:20:14.79ID:u/kCZrV9 >>344
2にもソートが入ってるけど
そのソートの方法が知りたいのですが。
VBAにはもともとの機能としてソートは入っていないかな?
作業シート作って、そこにデータ入れて、Excelの並べ替えの機能を使ってやる方法は思いついたけど
それはダサい、作業シート作るなんてスマートじゃない、等の理由で好きじゃないのですが。
2にもソートが入ってるけど
そのソートの方法が知りたいのですが。
VBAにはもともとの機能としてソートは入っていないかな?
作業シート作って、そこにデータ入れて、Excelの並べ替えの機能を使ってやる方法は思いついたけど
それはダサい、作業シート作るなんてスマートじゃない、等の理由で好きじゃないのですが。
347デフォルトの名無しさん
2018/08/10(金) 18:55:47.50ID:9rAsrzZF VBA自体がダサくてスマートじゃないから諦めましょう
生粋のVBAerはこういうとき自作のソートサブルーチンをコピペするらしいです
生粋のVBAerはこういうとき自作のソートサブルーチンをコピペするらしいです
348デフォルトの名無しさん
2018/08/10(金) 19:00:51.38ID:hEgtpW6D お前の「ダサい、スマートじゃない、好きじゃない」なんて知ったこっちゃない
349デフォルトの名無しさん
2018/08/10(金) 20:01:43.47ID:u/kCZrV9 VBAってソート関数ないの?
ほんとウンチみたいな言語ですね
ほんとウンチみたいな言語ですね
350デフォルトの名無しさん
2018/08/10(金) 20:09:31.68ID:t0FQp9fT >>349
これが言いたばかりに半日スレ更新繰り返してたと思うとクソ笑え?
これが言いたばかりに半日スレ更新繰り返してたと思うとクソ笑え?
351デフォルトの名無しさん
2018/08/10(金) 20:26:39.07ID:u/kCZrV9 >>350
あまりわたしを怒らせないほうがいいぞ
あまりわたしを怒らせないほうがいいぞ
352デフォルトの名無しさん
2018/08/10(金) 20:27:17.52ID:u/kCZrV9 わたしは怒ったら怖いんだぞ
353デフォルトの名無しさん
2018/08/10(金) 20:43:22.07ID:TzsaHsn2 自分でクイックソートでも組んでクソしながら寝とけ
354デフォルトの名無しさん
2018/08/10(金) 20:53:13.90ID:cfNcxUIl ソートってお前ら、せっかくのエクセルvbaなんだから
セルに一度いれたらいいだけじゃないか?
何万行かあってもエクセルのソートはそこまで遅くないだろう
セルに一度いれたらいいだけじゃないか?
何万行かあってもエクセルのソートはそこまで遅くないだろう
355デフォルトの名無しさん
2018/08/10(金) 20:54:14.30ID:EZ4av1qU そういやSortがkeyが三つまでしか指定できない仕様は変わらんのかな
Excelだと四つ以上指定できるのに、VBAだと複数回に分けてやる必要があるとかいうよくわからない状態になってるし
Excelだと四つ以上指定できるのに、VBAだと複数回に分けてやる必要があるとかいうよくわからない状態になってるし
356デフォルトの名無しさん
2018/08/10(金) 21:13:10.19ID:DHT31mYJ >>352
どうかこれで怒りをお鎮めください
Sub Sort(a)
Dim i, j, t
i = 0
Do
If UBound(a) <= i Then
Exit Do
End If
j = 0
Do
If UBound(a) <= j Then
Exit Do
End If
If a(j) > a(j + 1) Then
t = a(j)
a(j) = a(j + 1)
a(j + 1) = t
End If
j = j + 1
Loop
i = i + 1
Loop
End Sub
どうかこれで怒りをお鎮めください
Sub Sort(a)
Dim i, j, t
i = 0
Do
If UBound(a) <= i Then
Exit Do
End If
j = 0
Do
If UBound(a) <= j Then
Exit Do
End If
If a(j) > a(j + 1) Then
t = a(j)
a(j) = a(j + 1)
a(j + 1) = t
End If
j = j + 1
Loop
i = i + 1
Loop
End Sub
357デフォルトの名無しさん
2018/08/10(金) 21:18:56.66ID:hElUeWw3358デフォルトの名無しさん
2018/08/10(金) 21:21:33.75ID:hElUeWw3 汎用性があるってだけでなく、
ひとつの順序づけインデックスを使って複数のコレクションを同じ順に並べ替えることが出来るからね
ひとつの順序づけインデックスを使って複数のコレクションを同じ順に並べ替えることが出来るからね
359デフォルトの名無しさん
2018/08/10(金) 21:59:32.18ID:CvQqUFge 順序付けインデックスって何?
360デフォルトの名無しさん
2018/08/10(金) 22:19:22.24ID:BBFwYEVu >>359
ごめん一般的にどう呼ぶか知らんからテキトーな名前で言った
ソート対象のデータの横にナンバーが振ってあったとして、データと一緒にそいつもソートすると思ってください。
その後、ナンバー部分を取り出したもの。
ごめん一般的にどう呼ぶか知らんからテキトーな名前で言った
ソート対象のデータの横にナンバーが振ってあったとして、データと一緒にそいつもソートすると思ってください。
その後、ナンバー部分を取り出したもの。
361デフォルトの名無しさん
2018/08/10(金) 23:26:19.27ID:swVL64k5 別にVBAでもソート出来るでしょ。
調べ方が足りないんじゃね?
調べ方が足りないんじゃね?
362デフォルトの名無しさん
2018/08/10(金) 23:42:39.74ID:tKZj7bhP ソートが出来るコレクションは限られてる
目的にあった使用ができるか調べればいい
目的にあった使用ができるか調べればいい
363デフォルトの名無しさん
2018/08/10(金) 23:52:22.63ID:CvQqUFge >>360
そんなことしなくても比較する関数を渡して直接ソートするのが一般的だし汎用的では
そんなことしなくても比較する関数を渡して直接ソートするのが一般的だし汎用的では
365デフォルトの名無しさん
2018/08/11(土) 01:03:51.43ID:niUEedr6 .NET APIのArrayList使えばコレクションのソートもできるじゃん
VBAでも使えるぞ
VBAでも使えるぞ
366デフォルトの名無しさん
2018/08/11(土) 11:39:39.78ID:K8a9DxhQ >>365
それどうやって使えるようにするの?
それどうやって使えるようにするの?
367デフォルトの名無しさん
2018/08/11(土) 11:46:17.07ID:KSv2Sz3+368デフォルトの名無しさん
2018/08/11(土) 12:05:04.95ID:YyI+aygL λもLinqもないVBAに.NETコレクションを渡されてもあんまり嬉しくないでしょう
Private app As New MyDotNetComLib.MyApp
Sub イベントハンドラ()
app.DoSomething ThisWorkbook
End Sub
こっちのほうが楽だよ
コレクションのソートはC#サイドで好きなだけできる
Private app As New MyDotNetComLib.MyApp
Sub イベントハンドラ()
app.DoSomething ThisWorkbook
End Sub
こっちのほうが楽だよ
コレクションのソートはC#サイドで好きなだけできる
369デフォルトの名無しさん
2018/08/11(土) 12:20:08.44ID:cu5jnq2r >>368
比較関数は渡せるの?
比較関数は渡せるの?
370デフォルトの名無しさん
2018/08/11(土) 12:42:46.23ID:YyI+aygL >>369
C#サイドで好きなだけ渡せるよ
C#サイドで好きなだけ渡せるよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
