Excel VBA 質問スレ Part32
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/07(月) 22:19:55.86★1 質問テンプレ(雛形)は用意しませんが、OSとExcelのバージョンは必ず書きましょう。
★2 ExcelのVBA以外の部分に関する質問はNGです。
但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。
★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。
VBAとは、『Visual Basic for Applications』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、
コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。
★6 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
前スレ:Excel VBA 質問スレ Part31
http://toro.2ch.net/test/read.cgi/tech/1376371376/
関連スレ:VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
0002デフォルトの名無しさん
2013/10/07(月) 22:20:27.8202 http://pc11.2ch.net/test/read.cgi/tech/1168308855/
03 http://pc11.2ch.net/test/read.cgi/tech/1180192018/
04 http://pc11.2ch.net/test/read.cgi/tech/1189814602/
05 http://pc11.2ch.net/test/read.cgi/tech/1197448064/
06 http://pc11.2ch.net/test/read.cgi/tech/1205231499/
07 http://pc11.2ch.net/test/read.cgi/tech/1212587819/
08 http://pc11.2ch.net/test/read.cgi/tech/1219673793/
09 http://pc11.2ch.net/test/read.cgi/tech/1228372971/
10 http://pc12.2ch.net/test/read.cgi/tech/1235332603/
11 http://pc12.2ch.net/test/read.cgi/tech/1241885130/
12 http://pc12.2ch.net/test/read.cgi/tech/1247566074/
13 http://pc12.2ch.net/test/read.cgi/tech/1254281104/
14 http://pc12.2ch.net/test/read.cgi/tech/1262748898/
15 http://pc12.2ch.net/test/read.cgi/tech/1271261239/
16 http://hibari.2ch.net/test/read.cgi/tech/1280045912/
17 http://hibari.2ch.net/test/read.cgi/tech/1289182437/
18 http://hibari.2ch.net/test/read.cgi/tech/1298240666/
19 http://hibari.2ch.net/test/read.cgi/tech/1305754555/
20 http://hibari.2ch.net/test/read.cgi/tech/1312435844/
21 http://hibari.2ch.net/test/read.cgi/tech/1316931607/
22 http://toro.2ch.net/test/read.cgi/tech/1322400978/
23 http://toro.2ch.net/test/read.cgi/tech/1327763113/
24 http://toro.2ch.net/test/read.cgi/tech/1334305148/
25 http://toro.2ch.net/test/read.cgi/tech/1341722983/
26 http://toro.2ch.net/test/read.cgi/tech/1345363310/
27 http://toro.2ch.net/test/read.cgi/tech/1353842387/
28 http://toro.2ch.net/test/read.cgi/tech/1359607536/
29 http://toro.2ch.net/test/read.cgi/tech/1364689772/
30 http://toro.2ch.net/test/read.cgi/tech/1370088822/
0003デフォルトの名無しさん
2013/10/07(月) 22:21:12.68http://toro.2ch.net/test/read.cgi/tech/1381151717/
0004デフォルトの名無しさん
2013/10/07(月) 22:35:27.600005デフォルトの名無しさん
2013/10/08(火) 07:40:28.60経緯は過去ログを見てください。
「コードを書いてはいけません」
大事なことなので二回言いました。
0006デフォルトの名無しさん
2013/10/08(火) 07:59:12.14クレクレ君はお断りという意味。
クレクレ君に餌を与える行為もお断りっていう意味もあるね。
自分は本スレに干渉しておきながら、他人にはコード作成依頼スレを干渉するなと命令するのは虫が良すぎるだろ。
0007デフォルトの名無しさん
2013/10/08(火) 11:44:35.65いや、書くし。
お前には止められないよ。
0008デフォルトの名無しさん
2013/10/18(金) 19:20:53.390009デフォルトの名無しさん
2013/10/22(火) 12:16:24.020010デフォルトの名無しさん
2013/10/22(火) 13:19:18.33http://uni.2ch.net/test/read.cgi/newsplus/1382414731/
0011デフォルトの名無しさん
2013/10/26(土) 13:42:28.95まずは>>1どうぞ意見を述べてください。
0012デフォルトの名無しさん
2013/10/26(土) 15:53:02.34>>232
そんなに一文字変数を使いたいのなら仮引数も一文字に統一しろよw
統一感全くなしw
書いてて恥ずかしくないのかな。
ローカル変数と引数は異なるものだから同じにするのはどうかと思うなあ。
0013デフォルトの名無しさん
2013/10/26(土) 17:55:38.35これはもの凄くいい例が出て来たな。
>>240
「VAL関数は」の後に「1文字ずつ値を取得し」の文が挿入されていれば理解出来るだろうか。
これは1文字変数にも通じる所があって、本人は分かっていて相手も分かると思っていても
実は相手は理解に至らないということがままあるということだ。
ましてや1文字変数など、その変数の意味を一見で理解するのはもっと困難だろう。
こじつけだな。ちょっと黙っててくれないかな。
0014デフォルトの名無しさん
2013/10/26(土) 18:51:43.681文字でも十分な事があるのは今まで散々論議されてる
ソース全体での使われ方を見ないで単に変数の長さだけを問題にするやつは相手にする価値はない
0015デフォルトの名無しさん
2013/10/26(土) 18:52:49.900016デフォルトの名無しさん
2013/10/26(土) 18:58:12.17俺もそれに完全に同意。
0017デフォルトの名無しさん
2013/10/26(土) 19:13:35.80あると分かった時点で議論の余地はない。
むこうのスレの>>196はいいものを見つけてくれたもんだ。
196 :デフォルトの名無しさん:2013/10/26(土) 03:59:07.74 そういや前なんかそんなことで荒れてたね。
何かこんなの見っけたよ。
http://msdn.microsoft.com/ja-jp/library/aa291593.aspx#vxconcodingtechniquesanchor3
これはVisualStudio.Netのものだけど
VB.Netの元になっているVB6も、VB6と同じ文法のVBAも
当てはまりそうなんで載せとくよ。
0018デフォルトの名無しさん
2013/10/26(土) 19:34:25.93>>252
公開範囲考えるなら可読性も考えろよ。
関数が短いからと言っても処理を見るまで分からないものは可読性は低い。
1文字変数をよしとするとそれ以外の変数と混在させそう。
こうなると、作り手が何考えてるのか分からなくなる。
知らないうちにバグを埋め込むことになってるって意識ないんんだろうなぁ。
1文字変数だけじゃなくコメントなしっていうのも大いに問題があるんだが。
1文字変数をなくしたところで可読性は変わらないよ。むしろ悪くなるんじゃないかな。
0019デフォルトの名無しさん
2013/10/26(土) 21:21:52.87どうして数式やロジックをいちいち解読すること前提で話を進めるんだよ
0020デフォルトの名無しさん
2013/10/26(土) 21:26:21.83この変数はこのループでしか使わないものですなんて
間抜けなコメント書かないだろ。コードの可読性とコメントは別物だよ。
0021デフォルトの名無しさん
2013/10/26(土) 21:36:04.30どのくらいそのコードが読みやすいか、って問題を話してるんだが
0022デフォルトの名無しさん
2013/10/26(土) 21:49:12.140023デフォルトの名無しさん
2013/10/26(土) 21:50:19.58常識以前の問題
0024デフォルトの名無しさん
2013/10/26(土) 22:12:12.01なるほど。
多数の初心者が来るこのスレで
可読性そっちのけで相手の技術力だよりと言うことか。
余り威張って言えることではないな。
変数のスコープが狭ければ1文字変数使っても可読性は落ちないよ。
0025デフォルトの名無しさん
2013/10/26(土) 22:15:43.72常識が欠落しすぎて失笑
0026デフォルトの名無しさん
2013/10/26(土) 22:21:28.82捨て変数ってなんだろ・・・
それでは実装を比較してみようか。
クイックソートを実装してみよう。
俺は1文字変数使って実装するから
>>25は1文字変数使わずにこれが理想だって言うのを書いてみて。
もちろんコメントを入れるのがいいと思ってるのならコメントも入れて。
0027デフォルトの名無しさん
2013/10/26(土) 22:29:28.51qsort [] = []
qsort (pivot:xs) = qsort [x | x <- xs, x < pivot] ++ [pivot] ++ qsort [x | x <- xs, x >= pivot]
0028デフォルトの名無しさん
2013/10/26(土) 22:32:35.52>>267
ネットに残してるわけだから1文字変数なんて使えないだろw
イミフw
0029デフォルトの名無しさん
2013/10/26(土) 22:44:43.22>>267
言いたいことは分からなくもない。
だが初心者などはその様な背景を読み取れる訳もなく、
そのままそれを当たり前だと思ってしまう。
俺には1文字変数を使うなという強制力は全く無いが、
それはクソコードだと罵られるのは仕方のないことだとも同時に思っている。
当たり前と思って何が悪いんだ。クソコードと罵るのは自分なのに
まるで責任が自分にないかのような言い方だなあ。
0030デフォルトの名無しさん
2013/10/26(土) 22:48:10.47>>267
短いコードなら最初からきちんと作っても、適当に作るのとそんなに時間は変わらない。
何が問題なのかさっぱりなんだが。
っていうか可読性を無視してる時点でアセンブラでも使ってろと言いたい。
だから1文字変数使っても可読性落ちないってば
0031デフォルトの名無しさん
2013/10/26(土) 22:59:16.31Sub Quick(a)
InQuick a, LBound(a), UBound(a)
End Sub
Sub InQuick(a, lo, up)
l = lo
g = up
p = a(lo)
Do While l <= g
Do While a(l) < p
l = l + 1
Loop
Do While a(g) > p
g = g - 1
Loop
If l > g Then
Exit Do
End If
Swap a, l, g
l = l + 1
g = g - 1
Loop
End Sub
Sub Swap(a, x, y)
t = a(x)
a(x) = a(y)
a(y) = t
End Sub
0032デフォルトの名無しさん
2013/10/26(土) 23:05:30.25逆にそのアルゴリズム知ってる奴からすれば変数名は関係なくコードの形だけでやってることは把握できるし
0033デフォルトの名無しさん
2013/10/26(土) 23:26:37.64>>286
今更何言ってんだ?w
逃げちゃった・・・
0034デフォルトの名無しさん
2013/10/26(土) 23:32:18.85>>289
>>189であれば、rの意味するもの、cの意味する適切な名前をつければいいだけだと思うが。
糞コード読む気にもならないから何を意味するものか知らんから書けないw
わからないんだ……
0035デフォルトの名無しさん
2013/10/27(日) 01:02:38.550036デフォルトの名無しさん
2013/10/27(日) 01:27:28.700037デフォルトの名無しさん
2013/10/27(日) 01:42:44.410038デフォルトの名無しさん
2013/10/27(日) 02:00:39.330039デフォルトの名無しさん
2013/10/27(日) 02:10:44.180040デフォルトの名無しさん
2013/10/27(日) 02:47:42.38■ このスレッドは過去ログ倉庫に格納されています