Excel VBA 質問スレ Part55at TECH
Excel VBA 質問スレ Part55 - 暇つぶし2ch140:デフォルトの名無しさん
18/08/02 10:09:33.51 kHzgrEZ3.net
>>118
の者です
なんだかお騒がせしてしまってすいません
Sheet2の別の列に検索キーとして氏名と県名の結合文字列を作ってvlookupで参照するようにしました
もっとスマートなやり方があれば一番良いのですが…

141:デフォルトの名無しさん
18/08/02 19:14:12.00 dYoMhZad.net
>>135
sheet1のデータの持ち方がはっきりしないとむずかしいかも
各人名でどれか1つの値しか持たないなら最初の表から簡単にできる

142:デフォルトの名無しさん
18/08/02 21:04:52.53 TLBzkUIv.net
複数シートのデータを3次元配列に格納する効率の良いコードを組みたいんだけど、
サンプルコードをお願いできない?
条件
・三次元配列は(シートのインデックス番号,行,列)を想定
・対象のシートはインデックスの二番目から最後までで、現状5シートだが10シート程度まで増える見込み
・一枚のシート内におけるデータ数は、列数は30程度で固定、行数はシート毎に可変で現状は100程度だが1000程度まで増える見込み

143:デフォルトの名無しさん
18/08/02 21:39:08.04 2BgkbQH+.net
>>137
行、列、シートで三次元になってるから、
sheets(1).cells(2,3)
みたいに配列にいれずそのまま扱うのは駄目なの?
効率がいいかどうかは知らんけど、
二次元配列ならセルを直接保折り込めばok
これをシートの数だけ回せば瞬殺
Sub foo()
a = Range("a1:b2")
End Sub

144:デフォルトの名無しさん
18/08/02 22:04:18.70 rqIgowuq.net
>>137
max_row = 0 : max_col = 0 : result = array() : jug = array()
for i = 1 to Worksheets.Count
buf = Worksheets(i).UsedRange.Value
Redim Preserve jug(ubound(jug) + 1) : jug(ubound(jug)


145:) = buf if max_row < ubound(buf, 1) then max_row = ubound(buf, 1) if max_col < ubound(buf, 2) then max_col = ubound(buf, 2) next redim result(ubound(jug) + 1, max_row, max_col) for i = 0 to ubound(jug) for row = 1 to max_row if row > ubound(jug(i), 1) then exit for for col = 1 to max_col if col > ubound(jug(i), 2) then exit for result(i + 1, row, col) = jug(i)(row, col) next next next これで result(1, 2, 3) で取り出せるし インデックスが0オリジンでよければ jug(0)(2, 3) でも取り出せる UsedRangeのとこは適当に書き換えてね



146:わ
18/08/02 23:16:22.80 XQFP0WAE.net
>>139
こういう感じになるから三次元配列に複数シートのデータを入れようと考えること自体が無駄。
素直に二次元配列をdictionaryにシート名つけて打っ込むのが一番効率的かと。

147:デフォルトの名無しさん
18/08/02 23:18:46.98 2BgkbQH+.net
>>140
綺麗

148:デフォルトの名無しさん
18/08/03 00:40:38.97 A1FDqy6b.net
>>139
こういう馬鹿はすぐにクビ

149:デフォルトの名無しさん
18/08/03 05:28:19.46 wa60SFcl.net
ユーザ定義型に対してforeach的なことってできないの?
Dictionaryやcollectionじゃないとだめかね

150:デフォルトの名無しさん
18/08/03 08:10:11.78 FdAoJ/Ly.net
>>143
クラスにすればええやん。

151:デフォルトの名無しさん
18/08/03 10:48:59.11 efvhV3fR.net
VBAで多態性(ポリフォーリズム)が実現できることを発見した。
ただし親オブジェクトはObjectクラスのみ。
これ以外に方法ないよね?
あとどうしてもコンストラクタを実現したいけど方法ある?
Class_Initializeのブロシージャは使えるんだけど引数が取れないという致命的な欠陥がある。

152:デフォルトの名無しさん
18/08/03 10:49:43.01 efvhV3fR.net
ポリモーフィズム

153:デフォルトの名無しさん
18/08/03 11:24:42.37 WNWnteXi.net
>>145
ないんじゃないの
諦めて初期化メソッド作ってそれを利用してるわ、面倒だけど
あー早く.NET化かPythonにならないかなあ

154:デフォルトの名無しさん
18/08/03 12:10:29.95 7xkrIrco.net
>>145
オブジェクトをNEWして初期化メソッドを呼ぶ
でオブジェクトを返す関数を作るぐらいしか回避策が思いつかない

155:デフォルトの名無しさん
18/08/03 18:29:30.81 Jes/PhJV.net
>>148
みんなそうしてると思う。
定番でしょ。

156:デフォルトの名無しさん
18/08/03 19:49:24.72 GOZ9L8DI.net
>>145
VBAはインターフェースを定義できたりするよ
オブジェクトの生成はオブジェクト指向らしくファクトリクラス作るとか

157:デフォルトの名無しさん
18/08/03 20:07:46.13 EY4tsGwx.net
VBAは手軽だって言ってた人いたけど上のような事をするならVBAでする必要ある?
VBAでするには面倒だよね

158:デフォルトの名無しさん
18/08/03 20:18:21.80 V7pxWvhe.net
そうだねPowerShellなら(ry

159:デフォルトの名無しさん
18/08/03 20:21:52.83 Jes/PhJV.net
インターフェースを定義するか、そこまではしなくても良いかと考えるかだな。
どっちもあり有り得るけど、大きなプログラムなら定義して小さなプログラムなら定義しないって感じ。
でも、クラス作るべきって思うこともそんなに多くない。
VBAでするのは面倒とか感じることは無いな。
VBAでクラス作るのにピッタリな時は作って得られる恩恵が多いから感じないし、ピッタリな時は少ないから普段は無理して作らん。

160:デフォルトの名無しさん
18/08/03 20:36:12.66 P22i9c3x.net
VBAでクラス設計ってなんかうさんくさい感じがして使わないんだけどC#みたいな感覚で設計出来るの?

161:デフォルトの名無しさん
18/08/03 20:54:03.97 TQSHsawm.net
>>145>>149
一体エクセルで何を作っているんだ?

162:デフォルトの名無しさん
18/08/03 20:55:51.99 EY4tsGwx.net
気になる
何作ってるの?

163:デフォルトの名無しさん
18/08/03 22:16:03.36 19fg4Hec.net
ひと昔前ならともかく今はいろんなツールが無料だからねぇ
excelはさくっと一覧表やグラフを作るときにしか使ってないや
ちょっとした作業が1週間くらいの見積もりで入ったけど、Redmine立てるのめんどくせーな、
一人作業だしタスク100以下ならエクセル一覧表で管理すりゃ、まあいーかポチポチー、みたいな感じ
こうなるともうVBAは大した役にはたたんのだな
プログラム書くほどの込み入った仕事なら、別の手段で楽に、収穫を大きくしようかってなる
何でも揃ってるこの時代に、あえてVBAを主力で使ってる人たちが、
普段Excelでどんな仕事してるのか興味ある

164:デフォルトの名無しさん
18/08/03 22:24:24.13 GOZ9L8DI.net
Excelより優れた表計算ソフトはいまだにないからのお

165:デフォルトの名無しさん
18/08/03 22:44:29.83 qP1+Mw6P.net
知らないだけかもよ

166:デフォルトの名無しさん
18/08/03 22:51:02.21 TQSHsawm.net
例えあったとしても、デファクトスタンダードという地位はもう揺るぎないものだろう

167:デフォルトの名無しさん
18/08/03 23:02:27.33 IVrK95Nj.net
ハンバーガーとコカコーラは世界で一番売れてるから一番優秀な食品だとかいう話を思い出した

168:デフォルトの名無しさん
18/08/03 23:05:21.62 19fg4Hec.net
バーガーとコーラだけじゃあっという間に病気だよ

169:デフォルトの名無しさん
18/08/03 23:50:22.61 19fg4Hec.net
相変わらず具体例でねえなぁこのスレ
お前らほんとにVBA使ってんのか?www

170:デフォルトの名無しさん
18/08/04 00:14:17.09 HKzLzVCj.net
>>155
何作るってエクセル単独で何かするか
Accessに繋いでなんかするかぐらいだけど
Accessに繋ぐならクラス使った方がキレイにまとまるからクラス使うよ

171:デフォルトの名無しさん
18/08/04 07:34:19.25 h4pZIq0i.net
>>164
接続部分だけクラスにまとめるって感じ?
それならまぁ、わからんでもないけど・・・うーん

172:デフォルトの名無しさん
18/08/04 08:36:12.58 hMaWSw1n.net
エクセルは簡単な関数までで出来ることに使う
定期で使ってコードを書くような事ならC#でWinアプリかWebアプリにする
そんな使い分けです

173:デフォルトの名無しさん
18/08/04 08:59:40.72 Pz55ajO/.net
ある文字が文字配列の要素の中に存在するかどうかを調べるには
for i = 0 to Ubound(配列)~のようにして
添え字を使ったループで一個ずつ比較するしかないですかね?
Pythonなどのように、 値 in 配列 とかで一発で判定できると楽なのだが

174:デフォルトの名無しさん
18/08/04 09:27:21.51 iY2bfIdC.net
for eachあるよ

175:デフォルトの名無しさん
18/08/04 14:03:53.24 d9q3+5Xm.net
Worksheet Functionのmatchなら一発でしょ、インデックスはわからんけど
filter関数のほうが早いんだっけ?
てか職場の老害が作るコードがいちいちforでぶん回すコード書いててイライラ

176:デフォルトの名無しさん
18/08/04 14:10:44.90 AEBP847j.net
filterやmatchも中でforでぶん回してるよ

177:デフォルトの名無しさん
18/08/04 14:20:20.63 vm6Y2AFh.net
パフォーマンス無視でコードをシンプルにしたいだけなら Instr(Join( ))

178:デフォルトの名無しさん
18/08/04 14:50:32.42 MinsDCPQ.net
>>164
自分はAccessに繋ぐ所はクラス作らないからどんな所が上手くまとまると思うのか知りたいな。
自分はマ―クシートの管理と実際の用紙との比較をしやすいように管理上の結果(Excelシート)をForm上の用紙レイアウトに再現するようなプログラムでクラスを使ったのが良かった。
用紙上に配置するのはImageコントロールを使ったラジオボタンのようなものとテキストボックス、ラべル、他でユーザーが使う用紙にあわせて好きな位置に配置出来る編集モ―ドと配置後にデ―タにあわせてチェック状態を表示編集できる運用モードを持ったもの。
種類の違う可変個数のコントロールを同じように扱うのに便利。

179:デフォルトの名無しさん
18/08/04 15:05:27.11 iY2bfIdC.net
>>172
普通に接続して切断する処理はクラス使った方がキレイにまとまるよ
ファイル処理も同じ。

180:デフォルトの名無しさん
18/08/04 15:43:02.15 rFYImZyl.net
質問なのだが、エクセル関数とvba の使い分ける基準ってどうしてる?

181:デフォルトの名無しさん
18/08/04 16:55:00.51 K8sTmQ88.net
>>174
シート上で使うとき?
なければ作る。
コード上で使うとき?
簡潔に書けるほう、またはパフォーマンスのいい方。
>>174

182:デフォルトの名無しさん
18/08/04 17:18:02.49 /poCSM2A.net
>>167
文字配列ってなに?
Stringのことですか?

183:デフォルトの名無しさん
18/08/04 17:43:58.28 Pz55ajO/.net
>>176
このコードでいう test_string のことです
複数の値を取りうる入力項目のチェックなんかはいつもこうしています
Sub test()
Dim test_string As Variant
test_string = Array("one", "two", "three")
Dim i As Integer
For i = 0 To UBound(test_string)
If "one" = test_string(i) Then
MsgBox "one" & "はありまーす"
End If
Next
End Sub

184:デフォルトの名無しさん
18/08/04 17:49:50.34 rFYImZyl.net
シート上で使うとき!

185:デフォルトの名無しさん
18/08/04 17:51:01.98 /poCSM2A.net
>>177
ループで検索する、でいいじゃないですか。
一致(=)だけじゃなく Like での合致とかも選べるように汎用化しとくとなおよい

186:デフォルトの名無しさん
18/08/04 19:29:54.74 h4pZIq0i.net
>>174
重い時やミスしそうな処理が絡む時はvba
もちろん関数で実現できない時もvba
関数を使うのはビジュアルで見たい時
まぁ基本的には関数だな

187:デフォルトの名無しさん
18/08/04 19:58:42.71 FI6ie7QF.net
>>177
こういう処理は関数化した方がよい
Sub test()
  Dim test_string As Variant
  test_string = Array("one", "two", "three")
  If あるかな(test_string, "one") Then
    MsgBox "one" & "はありまーす"
  End If
End Sub
Function あるかな(a, b)
  If InStr(Join(a, "&"), b) Then
    あるかな = True
  Else
    あるかな = False
  End If
End Function

188:デフォルトの名無しさん
18/08/04 20:00:16.54 FI6ie7QF.net
バグ修正
Function あるかな(a, b)
If InStr("&" & Join(a, "&") & "&", "&" & b & "&") Then
あるかな = True
Else
あるかな = False
End If
End Function

189:デフォルトの名無しさん
18/08/04 20:08:45.16 ClJJf5ah.net
Functionの戻り値を関数名に代入する構文が最高に気持ち悪いんだけどどうにかならんの?

190:デフォルトの名無しさん
18/08/04 20:39:40.48 A9MJ7JgF.net
はじめまして。
下記のようなマクロを組もうと考えています。
x人の生徒がいます。
この生徒を1グループあたりy人となるようにzグループにわけます。
このときグループ毎の生徒のテストの平均点の差が小さく、またグループ毎の標準偏差の差も小さくしたいです。
このようなマクロを作るのにあたって、どのような方向性で作成していけば良いでしょうか。

191:デフォルトの名無しさん
18/08/04 21:04:07.47 nAdkHQiH.net
>>184
マクロ?

192:デフォルトの名無しさん
18/08/04 21:04:16.50 u8rcbYXZ.net
>>184
→→→
←←←
→→→
こう割り振ればいんじゃないかな
A B C
-----
9 8 7
4 5 6
3 2 1

193:デフォルトの名無しさん
18/08/04 21:22:04.15 AH7fLvgn.net
>>177
> Dim test_string As Variant
> test_string = Array("one", "two", "three")
なんとなくだが名前はtest_stringsにして欲しいな
>>181
> If InStr(Join(a, "&"), b) Then
>  あるかな = True
> Else
>  あるかな = False
> End If
なんで
あるかな = InStr(Join(a, "&"), b)
って書かないんだろう…

194:デフォルトの名無しさん
18/08/04 21:33:22.58 BuSBdH9D.net
>>187
ほんこれ
ture/falseしか代入しないのに分岐する必要性がわからない。

195:デフォルトの名無しさん
18/08/04 21:38:34.48 h4pZIq0i.net
>>183
グローバル変数にでも代入してみるとか?
他の言語にも気持ち悪いとこいっぱいあるから気にしなくていいよ
C言語のint main()もそのint 0はどこへ


196:返すんだよって気になるし



197:184
18/08/04 21:44:58.48 VLm3wLVC.net
>>186
レスありがとうございます。
しかし、その方法だと点数のばらつきが大きいときに、各グループごとの平均と標準偏差が均等にならずに使えないんですよね、、、
私としては下記の手順でできるのではないかと考えています。
①コンボボックスでグループ数と、グループ毎の生徒数を選択してもらう。
②エクセルに新しいシートを作る
③既存のシートに記入されている学生について、1の条件のすべての組み合わせを、2で作成した新しいシートのセルに列挙する
④3で書き出したそれぞれの組み合わせについて既存のシートの点数を参照し、average関数およびstdev関数を用いて平均及び標準偏差を2で作成した新しいシートに書き出す
⑤3の各組み合わせについて、グループ毎の平均のばらつきの少ないものを上位 何%かのみを抽出
⑥5で抽出した組み合わせについてさらに、グループ毎の標準偏差のばらつきの少ないものを上位 何%かのみ抽出
質問としては
a)他に良い方法があるか
b)組み合わせを書き出す際に重複を作り出さないようにするためにはどのようにすれば良いか
の2点です。
これらについて特に詳しく教えていただけないでしょうか。
よろしくお願いいたします。

198:デフォルトの名無しさん
18/08/04 21:47:53.70 AH7fLvgn.net
>>183
Pascal由来の構文だからいまさらどうしようもない

199:デフォルトの名無しさん
18/08/04 21:55:39.30 ClJJf5ah.net
>>187
VBA専門の人って変な常識で固まってるからしょうがない

200:デフォルトの名無しさん
18/08/04 21:56:58.85 ClJJf5ah.net
>>189
???
グローバル?
まじでいみわからんどういうことなんだ
VBA職人の思考パターンほんと異次元なんだけど

201:デフォルトの名無しさん
18/08/04 22:05:27.29 h4pZIq0i.net
>>187>>192
多少冗長でもエクセルがうまく動いて正しい結果が得られるなら問題ない
手作業で10分かかるものが10秒になればそれでいいって世界
最適化すれば0.1秒になるところでも10秒かけていいのだよ
その10秒を最適化する時間で、別の5分の仕事を3秒に短縮する方がよっぽど大事
>>193
Public g
Sub s()
Debug.Print f
Debug.Print g
End Sub
Function f()
'これが嫌なら
f = "return f"
'こう書けば
g = "return g"
End Function

202:デフォルトの名無しさん
18/08/04 22:07:10.27 h4pZIq0i.net
>>190
大体でいいならrand()で時間かけて総当たりして、最も偏差が少ない物で良いと思う

203:デフォルトの名無しさん
18/08/04 22:29:32.76 ZYatmaNb.net
>>189
>C言語のint main()もそのint 0はどこへ返すんだよって気になるし
OSになんじゃないのか?

204:デフォルトの名無しさん
18/08/04 22:42:04.41 qDTSwX/K.net
>>184
ソルバーアドインのエボリューショナリーエンジンで解決できそう
生徒のグループ分けをなるべく少ない変数で表すモデル作るのが難しそうだが
バイトのシフト表作ってみるみたいなサイトあった気がするから参考に
頑張れば数理的に最適解も求まりそう

205:デフォルトの名無しさん
18/08/04 22:43:45.76 h4pZIq0i.net
>>196
いやまぁそうなんだけど、理解が浅い時はそう感じてたよ

206:デフォルトの名無しさん
18/08/04 23:00:54.48 ClJJf5ah.net
>>194
なんでグローバルにしたの?

207:デフォルトの名無しさん
18/08/04 23:15:34.93 vm6Y2AFh.net
instr(join(だと部分一致で誤爆する

208:デフォルトの名無しさん
18/08/04 23:17:23.65 h4pZIq0i.net
>>199
>Functionの戻り値を関数名に代入する構文が最高に気持ち悪い
って言ってる人がいたので回避策を提示しただけ
勿論こんなコード俺は書かないよ

209:184
18/08/04 23:26:11.15 A9MJ7JgF.net
>>195
>>197
レスありがとうございます。
私がしようとしていたすべての組み合わせを試す方法だと、(仮に生徒48人を1グループあたり8人の6グループに分ける場合だと組み合わせの総数が4×10^30になってしまい、)かなり効率が


210:悪いということですね。 アドバイスしていただいたソルバーを用いた方法とrand関数を用いた方法の双方について調査し、検討してみようと思います。 また行き詰まったら質問させてください! その際はどうぞよろしくお願いいたします。



211:デフォルトの名無しさん
18/08/04 23:26:28.61 ClJJf5ah.net
>>201
いやぜんぜん回避策になってないじゃん
そもそも戻り値として返してないんだが
VBAコミュニティだとグローバル変数に入れると戻り値として返したことになるって風習でもあんの?

212:デフォルトの名無しさん
18/08/04 23:27:52.91 u3c/0jtm.net
ref使えばいいってなるわな

213:デフォルトの名無しさん
18/08/05 00:06:17.04 VayD9W7b.net
>>203
知るかボケ

214:デフォルトの名無しさん
18/08/05 00:32:29.81 iOJlEZ6A.net
>>202
ここは何のスレだかわかっているか?低脳

215:デフォルトの名無しさん
18/08/05 01:06:08.74 TorrOw0p.net
>>184
例えば、40人を、5グループ8人毎
min(最大平均点 - 最小平均点)
min(最大標準偏差 - 最小標準偏差)
こういう問題は、Ruby のアルゴリズムの問題だろ。
combination, permutation とか
こんな問題は、一筋縄ではいかない。
ものすごい組み合わせ爆発が起こるから、vba なら、何日も掛かる

216:デフォルトの名無しさん
18/08/05 01:14:27.29 jrr7Gub0.net
そんなん言語関係ないやん、アルゴリズムの問題だろ
Rubyの関数で短時間で解ける問題なら、VBAでも数倍ぐらいの時間で同じ結果は出せる

217:207
18/08/05 01:17:12.67 TorrOw0p.net
>48人を、1グループあたり8人の6グループ
グループA は、48*47*46*45* 44*43*42*41 / 8!
グループB は、40*39*38*37* 36*35*34*33 / 8!
...
グループF は、8! / 8! = 1
ここから、A~F のグループ名を変えるだけで、
同一になるものを省くから、6! で割る

218:207
18/08/05 01:22:35.24 TorrOw0p.net
48人分のデータを作って「プログラミングのお題スレ」にでも書き込んでみ。
誰か解けるか、計算時間が掛かりすぎて解けないか
こういうのはプログラミングコンテストの問題だから、
vba で解くような問題ではない!

219:デフォルトの名無しさん
18/08/05 01:28:53.98 88RY240q.net
だからソルバー使えって
数理計画法とか大学でやらなかったのか?

220:デフォルトの名無しさん
18/08/05 02:38:17.19 Gfvh6gaU.net
夏休みの宿題は自分でやれ

221:デフォルトの名無しさん
18/08/05 08:28:04.96 jOOhioBF.net
>>200
その通りだよね
それにJoinなんて例に出た短い配列にしか通用しないし

222:デフォルトの名無しさん
18/08/05 08:47:11.10 fib/Q9e8.net
>>203
戻り値を使わないという回避策なんじゃないの?
そもそも何が気持ち悪いのか分からない。
プログラミング経験無ければReturn 0よりVBAの方が感覚的にぴったり来るわ。
気持ち悪いという人はa=a+1を気持ち悪いと思う人?
関数名に代入する?
関数名じゃない。
関数そのものに代入してるというか、関数そのものを定義しているんでしょ。
俺は初めて見た時にすんなり頭に入ったね。

223:デフォルトの名無しさん
18/08/05 09:53:33.07 DQLB2G4w.net
何故関数名に代入するのが気持ち悪く感じるのかというと、後に述べるような危険性を無視しているからだと思う。
1.戻り値を関数名に代入しなければならない。
プロシャージャ中に何度も関数名が出てくるため、関数名を変更した時に変え忘れてエラーになることがある。
例えばhoge()全体をコピーして挙動の異なるhoge2を作ったとき、hoge2の中のhoge=***はコンパイルエラーにならないめ、テストするまでエラーを発見できない。
※コピペ直後に「完全に一一致」でプロシージャ内置換すれば良いのは分かっているが、そういう問題ではない。
対処法としては、関数の最初に


224:Dim Retしておき、文中ではRetに戻り値を代入、End Sub直前に関数名にRetを代入する。 2.戻り値を設定していないのにExit Subできてしまう。 せっかく1の対処法実施しても途中でExit Subされたら意味がない。 せめてExit Sub 戻り値 という書き方ができればよかったのだが。 対処法としてはExit Subを禁止して、そもそもExitが必要ない書き方に変えるかEnd Function直前までワープするGoToを使用する。 よって、関数を定義するときの推奨テンプレ Function hoge() As Variant Dim Ret As Variant '----- '処理 'Exit Subは禁止。GoTo ExitSubを使うこと '----- ExitSub: hoge = Ret End Function もちろん異論は認める。



225:デフォルトの名無しさん
18/08/05 09:56:54.93 d78e98dl.net
>>214
a=a+1
これのどこら辺が気持ち悪くなる部分なの?

226:デフォルトの名無しさん
18/08/05 10:15:24.82 C8NdcnMU.net
>>192
いやCとかでも
if(foo() == 0){
 return 1;
} else {
 return 0;
}
とか書くアホはいる

227:デフォルトの名無しさん
18/08/05 10:15:26.66 88RY240q.net
>>216
さてはまじめに数学やってなかったな?

228:デフォルトの名無しさん
18/08/05 10:19:10.37 C8NdcnMU.net
>>215
> 対処法としては、関数の最初にDim Retしておき、文中ではRetに戻り値を代入、End Sub直前に関数名にRetを代入する。
手間を増やしてバグの確率上げるとか最悪の対処法だな w
そもそも2.の対処ができるなら書き換える個所は1箇所になるからこんなアホな対処法は意味がない

229:デフォルトの名無しさん
18/08/05 10:20:36.92 C8NdcnMU.net
>>216
数学の等式としては成り立たん云々だろ
どうでもいいからスルーしとけ

230:デフォルトの名無しさん
18/08/05 10:27:17.45 88RY240q.net
決め事だからどうでもいいけど代入が=なのに名前付き引数に渡すときは:=なのが統一感なくて気持ち悪い

231:デフォルトの名無しさん
18/08/05 10:37:44.10 R+WsVzw5.net
If文とか
冗長になっても数年後に見ても簡単に分かるようにしとく事も大事だと思うけど

232:デフォルトの名無しさん
18/08/05 10:58:15.16 VayD9W7b.net
>>215
エラー処理がめんどくさくなりそう

233:デフォルトの名無しさん
18/08/05 11:02:08.70 lCYlyBjK.net
>>219
関数名は普通の変数と同等には扱えないからRetを使うのが必須な場面はある。
だから別に悪手ではない

234:デフォルトの名無しさん
18/08/05 11:10:34.73 vw7t6kWc.net
>>221
= だと式と区別がつかないから

235:デフォルトの名無しさん
18/08/05 11:12:01.18 vw7t6kWc.net
>>224
> 関数名は普通の変数と同等には扱えないからRetを使うのが必須な場面はある。
そういう場合はそうすればいいだけ
そういう前提がない場合にまでそうする奴は単なるバカ

236:デフォルトの名無しさん
18/08/05 11:18:09.78 DQLB2G4w.net
>>219
バグの確率が上がる状況ってどんな時?具体例を上げてくれ。
>そもそも2.の対処ができるなら書き換える個所は1箇所になるからこんなアホな対処法は意味がない
2の対処によって関数名に代入するのを1回にしてるんだが。どういう意味?
>>223
エラー対処を組み込んでも特に違和感ないと思うのだけど、どういう時?
Function hoge() As Variant
Dim Ret As Variant
'-----
On Error GoTo err1
Ret = 1 + "a"
If True Then GoTo ExitSub
'-----
GoTo ExitSub
err1:
Debug.Print Err.Number & Err.Description
Resume Next
ExitSub:
hoge = Ret
End Function
そもそもこの書き方って、自然と起こりうるものでコーディングルールとして定めるか臨機応変に使うかって話だと思うのだけどどうなん。

237:デフォルトの名無しさん
18/08/05 11:31:30.01 7RpOjRbA.net
変数宣言強制にしてれば関数名変えた時、戻り値返すための関数名も変更しないとエラーになるんじゃないの?

238:デフォルトの名無しさん
18/08/05 11:42:23.57 VayD9W7b.net
>>227
ごめん、なにか勘違いしてた
別にややこしくなかったね

239:デフォルトの名無しさん
18/08/05 12:01:55.81 jOOhioBF.net
>>226
Retを使うという方法について>>219
> 手間を増やしてバグの確率上げるとか最悪の対処法だな w
と言い出したことから出ている話だが、
「手間が増える」とか「バグの確率上げる」という主張自体に根拠が無いよね。
>>224に書いた理由によりRetを使う方法は皆


240:が習熟してるわけだから。 だからあんたの言う >そういう前提がない場合にまでそうする奴は単なるバカ も根拠薄弱。



241:デフォルトの名無しさん
18/08/05 12:06:39.32 DQLB2G4w.net
>>228
関数名変えるだけなら、コンパイルエラー出るから問題ないよ。
ただあまりたくさん使ってると次々とコンパイルエラー出てイラっとするだけで・・・。

242:デフォルトの名無しさん
18/08/05 12:11:44.20 C8NdcnMU.net
>>227
> バグの確率が上がる状況ってどんな時?具体例を上げてくれ。
記述量が増えればバグは増える、常識
> 2の対処によって関数名に代入するのを1回にしてるんだが。どういう意味?
だからそれなら1.の対処の意味がない
無駄なGoto増えるだけ
>>228の言うように関数名の変更忘れてたらOption Explicitでその関数に入る時にエラーになる

243:デフォルトの名無しさん
18/08/05 12:13:45.38 C8NdcnMU.net
>>230
>> そういう前提がない場合にまでそうする奴は単なるバカ
> も根拠薄弱。
必要もないのにコード量増やす奴はバカ
って書かないとわからんの? w

244:デフォルトの名無しさん
18/08/05 12:22:01.77 C8NdcnMU.net
> ※コピペ直後に「完全に一一致」でプロシージャ内置換すれば良いのは分かっているが、そういう問題ではない。
> ただあまりたくさん使ってると次々とコンパイルエラー出てイラっとするだけで・・・。
わかってるけどやりたくない
でもいらつくとかちょっと病院に行った方がいいレベル

245:デフォルトの名無しさん
18/08/05 12:32:44.13 jOOhioBF.net
>>233
最初の>>215の段階からRetが有効に使える場合のことしか書いてないよ
その前提を無視して>>219が変なこと言うから悪い
つまり>>219>>226>>233が悪い

246:デフォルトの名無しさん
18/08/05 12:39:05.42 DQLB2G4w.net
>>232
>記述量が増えればバグは増える、常識
そういう考え方もよく分かるよ。
だが途中で関数名代入を多様するのと、コーディングルールで途中でExitするというテンプレを定めるのとでは、バグの発生率は前者のほうが高いと自分は評価している。
実際この運用でうまく行ってるし意味がないなんてことはない。
そもそもは関数名代入が気持ち悪いと感じる原因と、自分がやってる対処法を上げて有用な異論がないか知りたかっただけだし。

247:デフォルトの名無しさん
18/08/05 12:46:59.88 jOOhioBF.net
記述量が増えるったって Dim ret と 最後の代入の2行だけじゃん。
途中の 「関数名 = ~ 」 という代入の記述を減らせるんだったら大した害悪じゃない。
最初からそういう話をしているのにね。

248:デフォルトの名無しさん
18/08/05 12:58:38.58 d6sOKofu.net
>>190
平均はできた、けど標準偏差はわからない
URLリンク(paiza.io)

249:デフォルトの名無しさん
18/08/05 13:00:05.97 d6sOKofu.net
>>238
ヒープ使って合計の少ないものに足してます

250:デフォルトの名無しさん
18/08/05 13:30:42.82 VayD9W7b.net
行き違いがあるんじゃない?
コーディングルールとして決められていれば、多少記述が増えてもそんなもん何の問題もない
コーディングルールがない状態でいきなり>>227みたいな記述が出てくれば、ボンクラは意味がわからずに戸惑うだろう

251:デフォルトの名無しさん
18/08/05 13:51:42.51 7Eiwzs5v.net
な?
たかが返り値を返すだけの話なのに
グローバルにするだのRetに一時保存するだのExit Sub禁止するだの
名前を変えるときは注意深く使ってるとこ全部変えるだの
謎のオレオレルールが一気に湧き出してきた
これが関数名に代入方式の弊害だよ
VBAに染まってない一般的なプログラマなら
「関数名に戻り値代入ってなんかキモくね?」「せやなぁなんでreturn文ないんやろねぇ」
こう一瞬で同意を得られるはずなんだがVBAワールドだとこうなってしまう
まるで異世界に迷い込んだような感覚

252:デフォルトの名無しさん
18/08/05 13:57:46.59 7RpOjRbA.net
VB.netもreturnなんだな

253:デフォルトの名無しさん
18/08/05 14:22:10.24 C8NdcnMU.net
>>235
> 最初の>>215の段階からRetが有効に使える場合のことしか書いてないよ
>>215が有効とか思ってるのはお前らだけ
>>236
> 実際この運用でうまく行ってるし意味がないなんてことはない。
お前らは勝手にやってればいい。
>>237
> 途中の 「関数名 = ~ 」 という代入の記述を減らせるんだったら大した害悪じゃない。
記述は減ってない
関数名を変更した時の変更量が減るだけ
しかも本人が書いてる通り
> ※コピペ直後に「完全に一一致」でプロシージャ内置換すれば良い
だけなのに、何故はそれはやりたくないらしい w

254:デフォルトの名無しさん
18/08/05 15:39:03.72 fib/Q9e8.net
そもそも、仮に何度も関数名?に代入し�


255:スとしてもその関数が長く無ければ混乱することも無い。 長い関数はそもそもダメるわけで最初から混乱することは無い。 関数を100行程度にするってのは常識だろ。



256:デフォルトの名無しさん
18/08/05 16:14:10.59 7Eiwzs5v.net
100は長すぎだろ

257:デフォルトの名無しさん
18/08/05 16:31:24.96 OTeO2/4+.net
>>245
そうか?
Cプログラミング診断室の人が許容される限界は100行までと言ってたからそれに準じたまでだが。
それに、だったらお前さんは短い関数で混乱してたということ?

258:デフォルトの名無しさん
18/08/05 16:32:17.90 lCYlyBjK.net
書き間違えでしょwww
俺は最長でも60行くらいだ。
それはともかく、関数名は最終的な答えを代入するためのものであって、
途中の値なんか決して代入したくないよって理由じゃないの?
少なくとも俺はそうだ。

259:デフォルトの名無しさん
18/08/05 16:33:09.91 lCYlyBjK.net
書き間違えじゃないのかよ

260:デフォルトの名無しさん
18/08/05 16:39:11.36 OTeO2/4+.net
returnのある言語から入ってきたから違和感を感じるのかも知れないがreturnよりは自然だろ。
そもそも俺は関数名?に代入するということを習ったことが無い。
最初にFunctionプロシージャを見て全てを理解した。
自然に理解出来た。

261:デフォルトの名無しさん
18/08/05 16:53:49.71 DQLB2G4w.net
>>246,245
限界が100行なのであって、普段は50行とかに抑えるべきだと言いたかったんだと思う。
それを100行程度が常識だと勘違いしただけじゃないかな?

262:デフォルトの名無しさん
18/08/05 17:02:35.19 C8NdcnMU.net
> 関数を100行程度にするってのは常識だろ。
って言うのを限界と言うのは苦しいだろ w

263:デフォルトの名無しさん
18/08/05 17:40:35.93 FkgLp/sd.net
ちょっと待ってほしい
他の言語なら50行で書ける関数もVBAだと100行に膨れ上がるから仕方ないのではないだろうか

264:デフォルトの名無しさん
18/08/05 18:38:48.57 FpUB4uXn.net
Cプログラミング診断室の人がVBAに言及するのか?
VBAを使ってはいけない原理主義者の人は相変わらずこじつけがスゴイなw

265:デフォルトの名無しさん
18/08/05 19:19:38.85 OTeO2/4+.net
なんじゃそりゃ。
どんな言語でも短くすべきなのは常識だろ。
50行だろうが100行だろうが関数名?代入しても混乱しないだろ。

266:デフォルトの名無しさん
18/08/05 19:21:07.38 OTeO2/4+.net
>>251
何だ?
10行じゃマズい何かがあるとでも思ってるのか?
それはさすがにプログラミング知らなすぎ。

267:デフォルトの名無しさん
18/08/05 19:23:39.26 NFAVCAdx.net
手続き型だとそこまで細分化してもかえってわかりにくいけどな

268:デフォルトの名無しさん
18/08/05 19:31:00.06 C8NdcnMU.net
>>255
プログラミングの前に日本語の勉強しなよ…

269:デフォルトの名無しさん
18/08/05 20:48:23.33 xg7vFkon.net
質問です
他のBookから元bookの"テーブル1"を参照するになやんで
Range(myBook.Name & "!テーブル1")
としましたがもうちょっといい方法はないのでしょうか

Sub 元WBのテーブル範囲を名前から参照したい()
Dim myBook As Workbook
Set myBook = ActiveWorkbook
Debug.Print Range("テーブル1").Address
'
Dim TempWB As Workbook
Set TempWB = Workbooks.Add
Debug.Print Range(myBook.Name & "!テーブル1").Address  ’これ
End Sub

270:デフォルトの名無しさん
18/08/05 20:48:50.34 VayD9W7b.net
他の言語ならともかくvbaなんてスクリプトなんだから多少行が増えても普通でしょ

271:デフォルトの名無しさん
18/08/05 21:46:30.28 x6CWYB22.net
Workbook.worksheet.listobject("テーブル名")とか

272:デフォルトの名無しさん
18/08/06 18:40:21.72 srsn67Ss.net
基本vbaは良くも悪くもやっつけ仕事片付ける用途だからなぁ
いっそ他人が読んだりメンテしたりすることを全く考慮しないのも手っていう記事見たことがあるけど
極論とはいえ、適材適所って意味ではそれも手だなとおもた

273:デフォルトの名無しさん
18/08/06 21:02:33.88 nuq1zyN5.net
vbaは使い捨てのマクロとかしょっちゅうだし


274:ね 他の言語とはかなり正確が異なる



275:デフォルトの名無しさん
18/08/06 21:57:34.50 DlUo5dI6.net
・誰かが質問をする
 ↓
・とりあえず誰かが質問にダメ出しをする
 ↓
・そのうち誰かが回答する
 ↓
・俺の方が上と違う人が別の回答をする
 ↓
・どちらの回答も的外れなためにダメ出し合戦が始まる
 ↓
・不利になってきた方がそもそもVBA自体が糞と論点をそらす
 ↓
・とことん荒れる
 ↓
・各自「やっぱり俺の知識が至上だったな」と思い矛を収める

・質問者「で、俺の質問は…」

276:デフォルトの名無しさん
18/08/06 22:05:07.55 HWRT0k/I.net
・変なキチガイが唐突に持論を展開する

277:デフォルトの名無しさん
18/08/06 22:09:50.77 1zJm1iav.net
>>261
自分しか使わない書き捨てツールと社内に配布して他の人に使ってもらうツールじゃ組み方は違うわな
別にVBAに限った話じゃないけど

278:デフォルトの名無しさん
18/08/07 01:29:58.65 8F5FPkZy.net
質問に対してこんな感じでいいんじゃね~って教えるのと、
仕事で残すコードでも組み方は全然違ったりする

279:デフォルトの名無しさん
18/08/07 12:27:46.44 o04k1oyM.net
変数を宣言したら直ぐに初期化するように、と解説サイトにはよく書かれているのですが、
ループカウンタも初期化する必要があるのでしょうか

280:デフォルトの名無しさん
18/08/07 12:50:25.25 Hr4AgTw6.net
vbaレベルならいらないんじゃねて思うけどね
グローバルとかオブジェクト変数はやるけどそれ以外はして無いわ

281:デフォルトの名無しさん
18/08/07 12:58:23.99 zpIkHTy8.net
>>267
VBAの変数には既定値というのがちゃんと定義されているので、初期化は必ずしも必要ない
VBAの仕様を知らない人にコードを見せる可能性があるなら初期化してもいいけど、
俺個人の考えでは、宣言と初期値の代入は分けて書くべき
質問の文脈から判断して、ループカウンタとはFor文で使うカウンタ変数のことだろうけど、これは初期化しなくていい
しかし「ループカウンタ」はもっと広い概念を表すので、初期化が必要なケースも多々存在する

282:デフォルトの名無しさん
18/08/07 15:43:33.88 JsLgKgln.net
>>267
VBAではそもそも初期化できない。

283:デフォルトの名無しさん
18/08/07 18:35:06.29 o04k1oyM.net
ありがとうございます。
特に初期値は設定せずにそのまま使うことにします。
ところで、VBAを触り始めてから他のプログラミング言語にも興味が出てきました。
使い勝手や習得時間を省みて、VBAを習得している者にとって一番コスパがいい言語は何でしょうか。
やはりVB.NETでしょうか。
スレチでしたら無視してください。

284:デフォルトの名無しさん
18/08/07 19:02:13.91 kevEyuIc.net
なんかの言語をひとつ習得できる人なら何でもいいよ
言語別の利用者数、給与、分野、いろいろ調べてみ

285:デフォルトの名無しさん
18/08/07 20:12:05.34 BqQIYASV.net
>>271言語よりIDEの開発環境が充実してる方が覚えやすい
VisualStudioがおススメ
C#の方が圧倒的にサンプルも多いし解説Webページも多いので良いのでは

286:デフォルトの名無しさん
18/08/07 20:40:19.29 50B7Hyqk.net
>>271
VB.NETとC#のコードを見比べて自分が分かりやすいと思った方かな
または、こっちの方が好きだと思える方

287:デフォルトの名無しさん
18/08/07 20:44:08.52 BqQIYASV.net
それにC#ならA


288:ndroidアプリも作れるしiOSアプリも作れる



289:デフォルトの名無しさん
18/08/07 20:56:18.42 i+W8MTkr.net
>>271
日常的な小手先の処理したいならPythonやNode.jsみたいなスクリプト言語
がっつりアプリ作りたいなら最近流行りのGoやSwiftやkotlin

290:デフォルトの名無しさん
18/08/07 21:13:08.98 zpIkHTy8.net
20代までならC#ぐらいは覚えておいたら転職で役に立つかも知れない

291:デフォルトの名無しさん
18/08/07 21:33:21.73 eM6c9wNK.net
仕事で社内サイトの検索結果を数十ページ出して
その中から必要なデータをExcelに貼り付けるVBAをCreateObject(" InternetExplorer.Application"を使って作ったのだけど
社内ネットワークが重すぎて1ページあたり1分以上、つまり20ページあると20分以上というものすごい時間がかかります。
これ各ページの平行作業かなにかで、どんなにページ数があっても1分強くらいですます方法はないのですか?

292:デフォルトの名無しさん
18/08/07 21:44:50.55 eM6c9wNK.net
ちなみに今は
1ページ開いて、そのページを完全に読み取ったら(●ここに時間がかかっている。30秒~60秒くらいか)、IEオブジェクトを利用してGetIdByIDなどでデータを読み込み、そのページを閉じ、
それをページ数だけ繰り返しています。

293:デフォルトの名無しさん
18/08/07 21:58:48.99 zEgIKMkK.net
無いです
シス管に糞サイトが遅いぞって文句言いましょう

294:デフォルトの名無しさん
18/08/07 22:03:53.33 eM6c9wNK.net
いや、あるのでは?
他言語ではマルチスレッドというやつかな?

295:デフォルトの名無しさん
18/08/07 22:07:46.26 zpIkHTy8.net
IEオブジェクトを配列にしてWEBページの同時読み込みに挑戦してみたことあるけど、なぜかVBAではうまくいかなかった
これはいまだに理由がよくわからん

296:デフォルトの名無しさん
18/08/07 22:52:34.26 Ylf+FX0e.net
VBScriptで処理を書いて
マルチプロセスでやってみるのはどうだろう
ネットワークが遅いのが原因だとすると
変わらないかもしれないけど
2/3 ~ 1/2 くらいは期待できるんじゃないかな
社内DBに直結してデータぶっこ抜けないかな

297:デフォルトの名無しさん
18/08/07 23:01:00.74 WUtnzCvr.net
>>246
マーティン・ファウラーはメソッド平均6行ぐらいだってさ
俺もC#やJavaを使うときはだいたいそれと同じぐらいに自然と落ち着く
VBAは冗長で書きにくいから10行〜20行ぐらいになっても我慢するけどね(どうせすぐ破棄するってのもあるが)
100行ってのはおそらくだが速度最適化のために可読性保守性を無視したコードならそれぐらいまでOKってことではないかな
C言語は何よりもまず速度みたいなところがあるからね

298:デフォルトの名無しさん
18/08/07 23:10:51.13 50B7Hyqk.net
>>284
俺もC#では平均だと6,7行くらいだな
Javaも最近やってないがそんくらいだったと思う

299:デフォルトの名無しさん
18/08/07 23:14:03.05 zEgIKMkK.net
>>281
エスパーすると社内サイトの検索処理がダメダメで異様に時間食ってると思うのでクライアントでいくら頑張っても無理

300:デフォルトの名無しさん
18/08/07 23:19:30.40 EHUuk9/6.net
ネットワーク越しの処理ってVBA異常に遅かった記憶があるなぁ

301:デフォルトの名無しさん
18/08/07 23:44:33.38 +TFKzcWv.net
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

302:デフォルトの名無しさん
18/08/07 23:44:40.74 +TFKzcWv.net
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

303:デフォルトの名無しさん
18/08/07 23:46:49.50 +TFKzcWv.net
この辺は配列に入れようかと思ったけどもういいやってなった
使い捨てじゃなければもう少し綺麗にまとめたいんだけど、
そんな暇は、ない
Cells(i, 2) = objFs.GetBaseName(objFld.Name)
Cells(i, 3) = objFld.ParentFolder.Path
Cells(i, 4) = ・・・

304:デフォルトの名無しさん
18/08/08 00:43:07.64 vvQmCMQJ.net
扱うプログラミング言語によるエンジニアの年収差「Go」が1位に 2018年8月7日
 ・スタンバイが「プログラミング言語別年収ランキング2018」を発表した
 ・1位に輝いたのは、さまざまな分野で利用されている「Go」
 ・年収中央値は600万円で、10位の「C言語」と比べて75万円高いという
 URLリンク(image.news.livedoor.com)
URLリンク(news.livedoor.com)
Goってなんやねん…
って言うてたらアカンのんか…

305:デフォルトの名無しさん
18/08/08 02:42:12.63 bsMqBICX.net
ポケモンだろ

306:デフォルトの名無しさん
18/08/08 03:02:57.55 vtZ7Dair.net
>>282
複数のIE インスタンスがあっても、1つしか実体化されていないとか?
それか、それらが共有化されているとか?
すべてのインスタンスを、別々に実体化したか?

307:デフォルトの名無しさん
18/08/08 05:59:42.24 1w8vuJFc.net
>>293
インスタンスとは実体化されてるそのもののことだと思うけど。どういうこと?

308:デフォルトの名無しさん
18/08/08 06:57:52.22 QCGkbsMF.net
カップヌードルにお湯を入れます、これがインスタンス化です
カップヌードルにお湯を注いでいたとしても、それが同じカップヌードル
だったらできあがるカップヌードルは1つだけですよね、そういうことです

309:デフォルトの名無しさん
18/08/08 08:10:17.80 Ot2gBzQj.net
>>279
InternetExplorer.Applicationは遅い。
ページにもよるけどMSXML2.XMLhttpとかhtmlflle使った方が全然速い。
ページにもよるのは遷移後にJavaScriptなどでページ内容が変わる場合等は対応出来ない場合があるから。

310:デフォルトの名無しさん
18/08/08 09:27:23.26 wHDW8dSe.net
Webアプリを作って取得したデータをエクセルで読み込めば早いのでは?

311:デフォルトの名無しさん
18/08/08 11:19:22.65 wMtMcgI8.net
社内サイトなら>>283の言うとおりDBを直接アクセスするのが正解なんだが、
「そういう想定で作ってません」てパターンもありそう。

312:デフォルトの名無しさん
18/08/08 12:44:02.26 fnpjJPlP.net
一般社員用クライアント - WEBサーバ - DBサーバ - 管理者用クライアント
WEB経由じゃないと、DBには直接アクセスできないってケースもよくある

313:デフォルトの名無しさん
18/08/08 13:19:28.34 hYvxbMfU.net
以前データをCSVに書き出す社内Webがクソすぎて
解析したらページ内のパラメータjoinしてSQL文作ってPOSTで投げて取得してただけだったので
XmlHTTPで直接取るようにしたことあるわ

314:デフォルトの名無しさん
18/08/08 19:07:51.20 wMtMcgI8.net
>>299
つまらんことするよなあ

315:デフォルトの名無しさん
18/08/08 19:14:31.05 woeaWRrx.net
DBに無制限で直接アクセスってヤバくね?

316:デフォルトの名無しさん
18/08/08 20:01:33.99 5XCxVkf/.net
無制限のアクセスはやばいけど
このテーブルだけ許可しますとか
SELECTだけ許可しますとか
このIPからだけ許可しますとか
できるっしょ

317:デフォルトの名無しさん
18/08/08 21:58:07.18 F+QXSseb.net
社内DB全開放して自由にクエリ投げれるようにしたら事務の人間半分くらいいらなくなりそう
というかVBAなんかよりSQL勉強したほうが手っ取り早く幸せになれる人多いんじゃないかと前々から思ってる

318:デフォルトの名無しさん
18/08/08 22:05:47.67 XDTEOjvF.net
webで良いからurlがapiとして完成してれば何も言うことは無い

319:デフォルトの名無しさん
18/08/08 22:22:03.67 +Hip1o5f.net
>>304
報酬次第だね
事務のコストを圧縮するごとにシステム部の報酬が上がるなら、
システムは本気で頑張り続けるだろうね
現実的にはなぜかそれが行われないので、いつまで経っても事務が事務事務している

320:デフォルトの名無しさん
18/08/08 22:23:00.50 +Hip1o5f.net
ただ、下手にアクセスで作ると自分以外触れなくなって何かあったら即死する
中小企業なら、エクセル+エクセルvbaが最強だと思っている

321:デフォルトの名無しさん
18/08/08 22:49:37.58 jNIJWXgx.net
>>307
アクセス専門業者を呼べばいいだけじゃん

322:デフォルトの名無しさん
18/08/08 23:28:48.50 +Hip1o5f.net
>>308
死ぬほど高い

323:デフォルトの名無しさん
18/08/09 00:59:24.50 JCoC1JfU.net
1から開発で今更Accessも無いだろう。データベースシステムでスタンドアロンのシングルユーザーというのがそもそも想定しにくい

324:デフォルトの名無しさん
18/08/09 01:02:04.53 cF5SxCfL.net
当たり前のことなんだけど、これまでなかなか上手いたとえが思い付かなかったが…
Manabu Ueno @manabuueno 16:46 - 2018年8月1日
 ユーザーの要求をそのまま機能にすると役立たない物になってしまいます。
 デザイナーはユーザーの要求を抽象化して本来的な原理を見つける必要があるのです。
 例えば「直進したい」「左折したい」「右折したい」という要求に対して、3つのボタンではなく、
 1つのハンドルを提案できなければいけません。
 URLリンク(pbs.twimg.com)
URLリンク(twitter.com)
この例えは現場の人と話すときにも使えそうだな
URLリンク(twitter.com) (5ch newer account)

325:デフォルトの名無しさん
18/08/09 06:36:39.58 Uz7F5Yyf.net
真の欲求って奴だな
これを知らないとデスマーチからいつまで経っても抜け出せなし

326:デフォルトの名無しさん
18/08/09 07:59:59.62 TQ/3uoG6.net
ソフトごとに違う使い方やI/F覚えるよりSQL覚えた方が早いしずっと役立つんじゃね?

327:デフォルトの名無しさん
18/08/09 08:16:05.94 XQnUSO4S.net
>>313
なるほど!
じゃあ社内DBに直接アクセスしたいのですが、その方法はどうしますか?
HTMLのフォ


328:ームに入力してSubmitすれば次のページでいろんなデータが見れるようになっているのですが そのHTMLフォームがあるページのHTMLソースを見ればその中のどこかに社内DBのアドレスやログイン方法みたいなのが書いてあるのですか?



329:デフォルトの名無しさん
18/08/09 08:22:15.68 0WK0pW+2.net
>>314
そんなバカな
HTMLから投げるのはサーバーサイド処理のスクリプト
ASPだったりCGIやPHP
ページのソースに書いてあったら怖いだろ

330:デフォルトの名無しさん
18/08/09 08:24:20.68 nqTz3IyX.net
>>314
お前には無理だから諦めろ

331:デフォルトの名無しさん
18/08/09 08:38:23.31 sKYMgflt.net
そういやExcel VBAでもADO使えばSQL使えるみたいだけど、どれくらい制限あるの?

332:デフォルトの名無しさん
18/08/09 09:09:17.52 BeIAvoie.net
???
そもそも何に接続したいの?
SQLといってもそれによるでしょ。
接続できるアカウント用意してもらって、
接続用ODBCドライバ入れて良いかどうかとか、情シスに聞いてみれば?

333:デフォルトの名無しさん
18/08/09 10:14:25.51 yeHg7T00.net
>>317
機能に制限はない
運用側で接続やアクセスを制限するのが普通のやり方

334:デフォルトの名無しさん
18/08/09 12:17:46.94 TQ/3uoG6.net
>>317
SELECTとかINSERTとかのSQLを実行する分にはvbaだからどうこうっていう制約は何もないよ。

335:デフォルトの名無しさん
18/08/09 18:30:51.09 sKYMgflt.net
>>319
>>320
え、そうなんだ
じゃあ単にシート内を検索するときもDictionary使わずに、ADOで接続してSQL使った方がシンプルで応用がききそうだね
もっともExcelでSQLの命令書くのが簡単なのなのかはわからないけれども

336:デフォルトの名無しさん
18/08/09 18:39:29.03 XQnUSO4S.net
ところで新バージョンExcelで「游ゴシック」がうざくてしかたがない。
これ地獄の底へ抹消する方法ない?
しかも「游」ってなんだ?「遊園地」の「遊」でもないし。

337:デフォルトの名無しさん
18/08/09 18:47:08.22 JCoC1JfU.net
Web制作では游ゴシは福音なんだがな...嫌いならフォントだけアンインストールすりゃいんじゃね?

338:デフォルトの名無しさん
18/08/09 19:24:43.48 YxGb3uhT.net
>>311
たとえおかしくね?
ユーザーが右折したい左折したいっていってるならボタンが正解だろ
コーナーが90度だけじゃなくてたくさんあるっていう状況まで汲めってそりゃ無茶ぶりだろ

339:デフォルトの名無しさん
18/08/09 19:26:31.27 FjggVehY.net
既定のフォント設定で簡単に変更は出来るけど、他人の作るブックはどうにもならんからな…

340:わ
18/08/09 19:29:47.37 Iu9wUSgQ.net
>>325
それだけでは足りないぞ

341:デフォルトの名無しさん
18/08/09 20:56:51.04 cF5SxCfL.net
>>324
「コーナーが90度だけ『じゃなくてたくさんある』っていう状況」まで汲め
まずは、要求を抽象化してその可能性に気づき
次に、こちらから質問してそういうケースが起きうるのかを確認する
それだけの話で超能力でも忖度でもムチャぶりでもないよ
(あ、でも確かに最初の抽象化ができない人にやれというのはムチャぶりになるかもね)

342:デフォルトの名無しさん
18/08/09 21:10:58.19 ou4vsgQB.net
ヒアリングしても具体的な典型例のみが挙がるかレアケースばかり挙がることが多い気がする
実務やってる人間にとって当たり前すぎることは出てこなくて、試作段階で出来なくてもいいのかの確認とったら出来ないと話にならんとか
俺は自部署以外だと多部署からの依頼を受けて作る程度だからある程度実務がわかる分マシだけど、プロは畑違いの仕事の他社とやりとりするんだから大変だろうな

343:デフォルトの名無しさん
18/08/09 21:23:36.18 Uz7F5Yyf.net
レアケース挙げてくれるならありがたいジャン

344:デフォルトの名無しさん
18/08/09 21:32:44.33 s67NkejU.net
そのためのOOPだ
なんの問題ないよ

345:デフォルトの名無しさん
18/08/10 00:05:32.03 Xmz6l8g0.net
>>321
ODBCだったら
Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)
というドライバを使うことになるけど、これの機能が貧弱だから凝ったSQLは受け付けてくれない。
単純なWHERE文での抽出だったらできるから、形式が決まったシートなら便利に使える可能性はある。

346:デフォルトの名無しさん
18/08/10 00:07:31.23 Xmz6l8g0.net
>>327
大変だねえ、委託業務は

347:デフォルトの名無しさん
18/08/10 00:07:58.29 buW+ivGR.net
>>323
具体的にはなにがどう良いんだ?

348:デフォルトの名無しさん
18/08/10 00:13:58.45 KVMpRfYs.net
あらゆることを想定したお見積がこちらです

なんでそんなかかるの?と

349:デフォルトの名無しさん
18/08/10 00:36:24.65 GY+5Xvxa.net
>>327
いや、ハンドルとコーナーの話だから抽象化やらも考えやすいだけじゃね?っていう
車とか曲がる行為とかがある程度普遍的だから敷衍できる
でも普段やってる仕事ってそのレベルで進んでるか?ってことよ
抽象化しろっていうのも一見正論だしある程度はしてるけど
曲がるを実装するためにハンドルは俺には飛躍が激しく思える

350:デフォルトの名無しさん
18/08/10 00:45:08.80 nHU64y35.net
抽象化が苦手そうなのがよく伝わってくる
アレはアレ、コレはコレで別モンとして対処するのが得意そうだな

351:デフォルトの名無しさん
18/08/10 00:51:11.37 GY+5Xvxa.net
幸運な>>336はそのレベルででなんだな
どういう仕事してんだ?web系とかか?

352:デフォルトの名無しさん
18/08/10 04:05:42.61 3Gbr2Rmh.net
>>314
そういうのは、Rails とか
無料のRails チュートリアルでも勉強すれば?

353:デフォルトの名無しさん
18/08/10 04:22:01.75 8SROxuQV.net
>>333
游ゴシックはMacとWindowsの両方に搭載されているのでCSSの手間が減る

354:デフォルトの名無しさん
18/08/10 07:12:17.59 hEgtpW6D.net
出ましたRubyヴァカ

355:デフォルトの名無しさん
18/08/10 07:42:41.23 gxVIX6OQ.net
20年遅れくらいでオブジェクト指向に出会った感じがよくでてる

356:デフォルトの名無しさん
18/08/10 13:30:13.92 u/kCZrV9.net
あるクラスのインスタンスをいっぱい作ってそれをCollectionに入れてて
それをその1つの要素でソートするためにはどうしたらいいですか?
VBAにはソート関数みたいなのはないのですか?
イメージとしては人間クラスがあって、年令でソートする感じ。

357:デフォルトの名無しさん
18/08/10 13:40:04.94 PoJQ6i5f.net
rubberduck入れたらCall使うなって怒られた
なんでダメなの?

358:デフォルトの名無しさん
18/08/10 14:51:32.56 gxVIX6OQ.net
>>342
1 年齢と連番を入れた配列を別に作る
2 その配列を年齢でソートして順位を出す
3 インスタンス列をその順番で引っこ抜いて新しいcolllectionとする

359:デフォルトの名無しさん
18/08/10 16:02:16.73 ZQbSW7gd.net
列のソート時に行を崩さない方法について質問させてください。
手作業では成功してます。
一列オートフィルタ→ソートのカスタムから指定文字列選択→完。
マクロだと指定した行のみソートになってしまいデータが壊れてしまいます。
ご回答よろしくお願いします。

360:デフォルトの名無しさん
18/08/10 18:20:14.79 u/kCZrV9.net
>>344
2にもソートが入ってるけど
そのソートの方法が知りたいのですが。
VBAにはもともとの機能としてソートは入っていないかな?
作業シート作って、そこにデータ入れて、Excelの並べ替えの機能を使ってやる方法は思いついたけど
それはダサい、作業シート作るなんてスマート�


361:カゃない、等の理由で好きじゃないのですが。



362:デフォルトの名無しさん
18/08/10 18:55:47.50 9rAsrzZF.net
VBA自体がダサくてスマートじゃないから諦めましょう
生粋のVBAerはこういうとき自作のソートサブルーチンをコピペするらしいです

363:デフォルトの名無しさん
18/08/10 19:00:51.38 hEgtpW6D.net
お前の「ダサい、スマートじゃない、好きじゃない」なんて知ったこっちゃない

364:デフォルトの名無しさん
18/08/10 20:01:43.47 u/kCZrV9.net
VBAってソート関数ないの?
ほんとウンチみたいな言語ですね

365:デフォルトの名無しさん
18/08/10 20:09:31.68 t0FQp9fT.net
>>349
これが言いたばかりに半日スレ更新繰り返してたと思うとクソ笑え?

366:デフォルトの名無しさん
18/08/10 20:26:39.07 u/kCZrV9.net
>>350
あまりわたしを怒らせないほうがいいぞ

367:デフォルトの名無しさん
18/08/10 20:27:17.52 u/kCZrV9.net
わたしは怒ったら怖いんだぞ

368:デフォルトの名無しさん
18/08/10 20:43:22.07 TzsaHsn2.net
自分でクイックソートでも組んでクソしながら寝とけ

369:デフォルトの名無しさん
18/08/10 20:53:13.90 cfNcxUIl.net
ソートってお前ら、せっかくのエクセルvbaなんだから
セルに一度いれたらいいだけじゃないか?
何万行かあってもエクセルのソートはそこまで遅くないだろう

370:デフォルトの名無しさん
18/08/10 20:54:14.30 EZ4av1qU.net
そういやSortがkeyが三つまでしか指定できない仕様は変わらんのかな
Excelだと四つ以上指定できるのに、VBAだと複数回に分けてやる必要があるとかいうよくわからない状態になってるし

371:デフォルトの名無しさん
18/08/10 21:13:10.19 DHT31mYJ.net
>>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

372:デフォルトの名無しさん
18/08/10 21:18:56.66 hElUeWw3.net
>>346
数値のソートは自分で頑張って実装しなさいよ
順序づけインデックスを使って任意のコレクションを並べ替えるロジックは汎用性のあるものだから
自作する意義は十分にある。

373:デフォルトの名無しさん
18/08/10 21:21:33.75 hElUeWw3.net
汎用性があるってだけでなく、
ひとつの順序づけインデックスを使って複数のコレクションを同じ順に並べ替えることが出来るからね

374:デフォルトの名無しさん
18/08/10 21:59:32.18 CvQqUFge.net
順序付けインデックスって何?

375:デフォルトの名無しさん
18/08/10 22:19:22.24 BBFwYEVu.net
>>359
ごめん一般的にどう呼ぶか知らんからテキトーな名前で言った
ソート対象のデータの横にナンバーが振ってあったとして、データと一緒にそいつもソートすると思ってください。
その後、ナンバー部分を取り出したもの。

376:デフォルトの名無しさん
18/08/10 23:26:19.27 swVL64k5.net
別にVBAでもソート出来るでしょ。
調べ方が足りないんじゃね?

377:デフォルトの名無しさん
18/08/10 23:42:39.74 tKZj7bhP.net
ソートが出来るコレクションは限られてる
目的にあった使用ができるか調べればいい

378:デフォルトの名無しさん
18/08/10 23:52:22.63 CvQqUFge.net
>>360
そんなことしなくても比較する関数を渡して直接ソートするのが一般的だし汎用的では

379:デフォルトの名無しさん
18/08/10 23:56:04.31 Xmz6l8g0.net
>>363
そうだけど>>358のメリットががが

380:デフォルトの名無しさん
18/08/11 01:03:51.43 niUEedr6.net
.NET APIのArrayList使えばコレクションのソートもできるじゃん
VBAでも使えるぞ

381:デフォルトの名無しさん
18/08/11 11:39:39.78 K8a9DxhQ.net
>>365
それどうやって使えるようにするの?

382:デフォルトの名無しさん
18/08/11 11:46:17.07 KSv2Sz3+.net
>>366
CreateObject("System.Collections.ArrayList")で普通にオブジェクト生成できる
あとはググってどうぞ

383:デフォルトの名無しさん
18/08/11 12:05:04.95 YyI+aygL.net
λもLinqもないVBAに.NETコレクションを渡されてもあんまり嬉しくないでしょう
Private app As New MyDotNetComLib.MyApp
Sub イベントハンドラ()
 app.DoSomething ThisWorkbook
End Sub
こっちのほうが楽だよ
コレクションのソートはC#サイドで好きなだけできる

384:デフォルトの名無しさん
18/08/11 12:20:08.44 cu5jnq2r.net
>>368
比較関数は渡せるの?

385:デフォルトの名無しさん
18/08/11 12:42:46.23 YyI+aygL.net
>>369
C#サイドで好きなだけ渡せるよ

386:デフォルトの名無しさん
18/08/11 12:50:48.93 Tdr5W98e.net
>>370
VBA側で定義できるかが課題

387:デフォルトの名無しさん
18/08/11 12:56:28.26 YyI+aygL.net
>>371
わざわざVBA側でする意味がないじゃん?

388:デフォルトの名無しさん
18/08/11 13:11:49.02 0HQvSoaX.net
>>370
楽といっても、C#スキルのある人限定の話でしょ
VBAのメイン利用層は、現場のエンドユーザーであり
本職のプログラマーじゃないんだよ

389:デフォルトの名無しさん
18/08/11 13:13:13.81 XUOVQ5jM.net
そのC#側のコードはどう書くんだ
メモ帳か?HTMLタグ手打ちでホームページ作るのよりしんどそうだが
ああ、今はオンラインIDEってのもあるのか
IE11が使用環境に入ってなきゃ意味ないけど

390:デフォルトの名無しさん
18/08/11 13:15:21.09 K8a9DxhQ.net
>>367
ありがとうでガンス。
なんだかよさげザマスね。
ところでこのCreateObject("System.Collections.ArrayList")を収納する変数の型はなににしたらよいザマしょうか?
F2で出るオブジェクトブラウザに表示されてそんなメソッドが使えるか調べたいでガンスが、それにはどうしたらいいでしょうか?フンガー

391:デフォルトの名無しさん
18/08/11 13:38:17.51 KSv2Sz3+.net
>>375
受け手の変数をVariant型かObject型で定義しとけば処理実行時にArrayListオブジェクトを受け入れる
Scripting Runtimeとかのオブジェクトを実行時バインディングで使用するときとまったく同じ
.NETライブラリのパスを参照先に設定すれば、ArrayList型変数の宣言、インテリセンス入力、オブジェクトブラウザでのオブジェクトモデルのブラウジングも有効になるよ
ライブラリパスは自分で調べてね

392:デフォルトの名無しさん
18/08/11 13:53:32.73 cu5jnq2r.net
>>372
C#側をライブラリとして固定できなくなっちゃう

393:デフォルトの名無しさん
18/08/11 14:18:44.31 YyI+aygL.net
>>377
すまない
MyDotNetComLibと書いたのが悪かったようだね
これはライブラリじゃなくアプリケーションのつもりで書いた(MyApp)
キミが考えているだろう一般的な意味でのライブラリはアプリケーション内部で好きに参照してくれればいい

394:デフォルトの名無しさん
18/08/11 14:34:57.92 cu5jnq2r.net
>>378
ちょっと意味がわからん
比較関数をとっかえひっかえしたいときどうするの?

395:デフォルトの名無しさん
18/08/11 14:38:33.82 YyI+aygL.net
>>379
C#側でとっかえひっかえすればいい
互いのイメージに齟齬があるのかもしれない
まずVBAで書いたらどうなる?

396:デフォルトの名無しさん
18/08/11 15:02:32.83 cu5jnq2r.net
>>380
VBA側で
Function compare(a, b) As Boolean を書いて
ソートするときに compare を渡せるかって意味だけど。
「C#でとっかえひっかえ」っていうのはつまりC#のコードを都度書き加える、って意味だろ?
C#側でそんな粒度での改修はやりたくないよ。

397:デフォルトの名無しさん
18/08/11 15:11:49.88 YyI+aygL.net
>>381
そうか?
バックグラウンドで自動テストしてくれるC#のほうが高頻度の修正ではだいぶ有利だろう
逆にVBAでそんな粒度の改修なんて俺はやだよ
テストの工数で死んじゃうよ

398:デフォルトの名無しさん
18/08/11 15:24:07.75 cu5jnq2r.net
>>382
C#側に比較関数をいくつか書いたとして、VBAではどういう方法で比較関数を選ぶんだ?
それともVBA側に選択ないのか?

399:デフォルトの名無しさん
18/08/11 15:26:35.53 CkFe1vux.net
それってVBA


400:でやる必要あるの?



401:デフォルトの名無しさん
18/08/11 15:31:01.25 759gB6fj.net
VBA側ではワークブックを渡すだけにしてあとは全部C#でやれっていう皮肉だろ
皮肉が面白くないってのは置いといて>>368を見てそれが理解できないのも相当ヤバい

402:デフォルトの名無しさん
18/08/11 15:44:44.45 YyI+aygL.net
>>383
比較関数を選ぶのはC#側だよ
当然VBA側じゃない
>>384
この手の処理はVBAでやる必要はまったくないよ
必要ないからC#でやろうって話をしている
ただしExcelそのものは優れたホスト環境なので捨てるのはもったいないし積極的に使いたい
なのでVBAはExcelとのインタラクションに集中してもらい
コアな仕事はすべてC#にディスパッチしてやってもらおうという考え方だね

403:デフォルトの名無しさん
18/08/11 15:45:41.89 cu5jnq2r.net
>>385
なんか1㎜もわからない
VBAでできないこと(コレクションのソート)をC#で補うという話なんだぜ。

404:デフォルトの名無しさん
18/08/11 15:53:33.14 cu5jnq2r.net
>>386
なんだ、やる仕事の数だけそれに対応したC#プログラムがあるってスタイルか。
それなら理解できるが極端だな。

405:デフォルトの名無しさん
18/08/11 16:01:58.82 YyI+aygL.net
>>388
そう
そしてそれ(仕事の数だけVBAプログラムがある)はVBAでも同じでしょ
だったらどうせ作るなら簡単なC#のほうがいいってこと
極端とは思わないけどね
コアロジックとインフラを可能な限り分離しようって発想はプログラマなら当たり前だから

406:デフォルトの名無しさん
18/08/11 16:03:32.17 WNr/dTgn.net
.NETFrameworkを使えばいいやんと言うのはわかるけどC#とか引っ込みつかなくなった知ったかのあがきにしか見えん w

407:デフォルトの名無しさん
18/08/11 16:18:50.45 KSv2Sz3+.net
VBA以外の言語を使用するアプリケーション開発が出来ない環境も普通にあったりするからね
なので、ArrayListやQueueやStackなど、.NETのオブジェクトであっても引数付きコンストラクタを使用しないクラスならば使えるってことは覚えといた方がいいよ

408:デフォルトの名無しさん
18/08/11 16:20:22.67 cu5jnq2r.net
>>389
VBA/ExcelはUIとデータホルダ役でしかなく、処理はC#ということ自体はわかる。
だけどきっかけはVBAのコレクションをソートするにはどうしたらいい、って話だった。
あんたのスタイルだと「さあここでソートしよう」なんて判断も要求もVBA側には要らなくなるな。

409:デフォルトの名無しさん
18/08/11 16:56:58.80 YyI+aygL.net
>>392
そうだ
VBA側には要らなくなるんだよ
これですっきりしたね

410:デフォルトの名無しさん
18/08/11 18:48:11.02 8odd+763.net
>>391
おまえがそういう畑を歩いてきたのはかまわないが、
そんな環境は「普通」ではないってこと知った方がいいよ

411:デフォルトの名無しさん
18/08/11 18:57:02.54 cu5jnq2r.net
まさかまたプロ様かね

412:デフォルトの名無しさん
18/08/11 19:09:51.09 BZfhgdqm.net
だから、何度も言ってるがユーザーインターフェースはExcelの方が良いんだよ。
業務のメインがExcelなんだから。
とすると.netの場合VSTOということになる。
で、わざわざそこまでする程のことがやりたいかどうかということになる。
結局殆どの場合はVBAということになる。
あとはやりたいことによる。
ソート1つのために頑張って、しかも使う側に余計な配付物が必要となれば、それを補って余りある程のリタ―ンが必要。
Excel上だけどVBAではどうにもならないことをしたい場合ぐらいだな。

413:デフォルトの名無しさん
18/08/11 19:14:22.31 BZfhgdqm.net
>>394
残念ながらVBA使ってる所はそういう所多いよ。
アプリ1つ入れるのに申請が必要な所は多いし、却下となることもある。
どうしてもって時は申請するけど、VBAだけでどうとでもなるからな。
どうとでもならない時にはじめてVisualStudioを入れてもらう。

414:デフォルトの名無しさん
18/08/11 19:35:19.38 0HQvSoaX.net
>>397
うちはきついぞ
・利益を生まない投資は不�


415:ツ ・フリーソフトのインストール禁止 ・エンドユーザーによるアプリ開発禁止 ・一般職員のインターネット利用禁止 何かしたければプリインストールのExcel・Accessで何とかしろという体制



416:デフォルトの名無しさん
18/08/11 19:49:44.13 kovukvPe.net
>>398
何もしないで給料もらえるなら平気

417:デフォルトの名無しさん
18/08/11 19:51:49.13 YyI+aygL.net
>>391
いや無いだろ
仮にExcelがなくてもPowerShell、C#、VB.NET、VBS、JavaScriptあたりはまず間違いなく開発出来る

418:デフォルトの名無しさん
18/08/11 20:00:51.06 YyI+aygL.net
禁止されてるからで思考停止してないで使えるように根回しするなり
まともな権限をもらえる企業に転職したほうがいいぞ
俺だったらVBAしか使えないとか言われたらその日から転活だな
まあこれはVBAだけに限った話じゃなくてもっと一般的にも通じる話な
現代のビジネスマンは受け身の姿勢じゃ通用しない

419:デフォルトの名無しさん
18/08/11 20:03:41.93 BZfhgdqm.net
>>400
だからVisualStudioを入れられない環境はたくさんある。
メモ帳でもC#の開発はできるかもしれないけど、それじゃメリット無いんだよなあ。
他のソフトもそれ用のツールなりエディタなりが入れられなかったらメリットが殆ど無くなるな。
>>398
フリーソフトは駄目でむしろ有料ソフトは申請すれば入れられる場合もあるという所は多いだろうね。

420:デフォルトの名無しさん
18/08/11 20:06:13.95 7FFa3R0I.net
C#er プ

421:デフォルトの名無しさん
18/08/11 20:07:50.49 kovukvPe.net
>>398
一般職員とかあるけど、もしかして税金が給料になる人ですか?

422:デフォルトの名無しさん
18/08/11 20:08:11.63 BZfhgdqm.net
>>401
それは君がそれだけの人だってことだろ。
転職するかどうかは言語よりも仕事の内容や待遇の方が大きい。
それに、突然そういう会社になる訳じゃないから。
今の君はそういう会社には入ろうとしないし。
昔の君ならそういう環境が普通と思うだろ。

423:デフォルトの名無しさん
18/08/11 20:08:29.31 759gB6fj.net
VisualStudioは有料ソフトなんだから申請して入れればいいな

424:デフォルトの名無しさん
18/08/11 20:12:49.57 BZfhgdqm.net
>>398
エンドユーザーによるアプリ開発禁止ってのは、うちもそうだな。
そういえば。
あれだろ。
建前として、開発要員じゃないからだろ。
開発はベンダーにやらせるもので自らやるものじゃないってやつだろ。

425:デフォルトの名無しさん
18/08/11 20:15:59.00 BZfhgdqm.net
>>406
必要になることは無いと思うぜ。
VBAでほぼ何でも作れるから。
うちも建前では開発禁止なんだけど、入れてる奴はいる。

426:デフォルトの名無しさん
18/08/11 20:33:59.79 CkFe1vux.net
マクロ許可ってセキュリティ無しと同意

427:デフォルトの名無しさん
18/08/11 21:12:18.46 cu5jnq2r.net
>>398
それでよく競争になるね
よっぽどゆるい業界なのかソフトウェアで付加価値を生み出せないような業種なのか。
もしくはすでに負けつつあるか
まあそれは日本全体がそうなのかもしれんが

428:デフォルトの名無しさん
18/08/11 21:32:22.07 YyI+aygL.net
>>402
C#ならVSCodeでもサクラでも秀丸でもなんでもいいじゃん
まさかテキストエディタ1つも入ってないわけじゃないだろ
個人的にはメモ帳でもVBAよりはだいぶマシって感じるけど
PowerShellならISEが標準なのでおすすめ
>>405
俺はプログラミングが好きで就職したからVBAだけしか出来ないなんてことになったら地獄
幸いそんな嫌がらせみたいな環境で仕事をするはめになったことはないけどね
キミの言い方からするとキミは実はプログラムに興味ないんじゃないか?
今いる会社の待遇がいいから居続けたい
その会社がVBAしか使っちゃいかんというからVBAしか使わない
VBAしか使わないからVBAが何に対してでもベストだと思い込んでしまう
あるいは本心ではベストともなんとも思ってないけどVBAしか使えないのだから考えてもしょうがないと思ってる
キミはたぶん会社がVBAも含めて全部禁止だと言ってきたらとくに何の抵抗も感じずに受け入れるんだろう
>>410
上に立つ人間が競争に勝つことより自分の定年までリスクを避けて逃げ切りたいと考えてる会社なんだろう
こういう会社で後に残された若手~中堅の社員は悲惨だよ

429:デフォルトの名無しさん
18/08/11 21:58:11.03 Td/zZZ7D.net
了解しました

430:デフォルトの名無しさん
18/08/11 23:28:48.62 Ddi0PfCN.net
>>398
金融?
昔勤めてた証券会社がそんな感じだったな
初めての会社だったから何の疑問もなかったけど、今思えばクソだったな

431:デフォルトの名無しさん
18/08/11 23:48:16.13 cu5jnq2r.net
>>413
金融はマーケットに近い業務だったらエンドユーザによるエンジニアリングが命って部分もあるよ。
バック業務は違うかもしれないが>>398みたいなのは想像しにくい。

432:デフォルトの名無しさん
18/08/12 07:12:24.35 eDwYBbq+.net
>>414
あーそういや営業はネット見れたな
総務だったけど、な~んにもできんかった
lhaca+だけ入ってたのが印象的だったわ(本部からこれだけは認められていた)

433:デフォルトの名無しさん
18/08/12 08:07:48.87 qQiXzzF2.net
確かに...
〓〓〓〓総務部がソフトウェア開発で付加価値を生み出して利益を出す〓〓〓〓
想像できないなw

434:デフォルトの名無しさん
18/08/12 09:42:38.38 IifAsj4h.net
【ロシア国防省】 日本が、地震に偽装して、核実験
スレリンク(lifeline板)
【核クーデター】 地震頻発おかしい…地下核実験?
スレリンク(earth板)

435:デフォルトの名無しさん
18/08/12 09:48:52.50 YMBuKX4y.net
総務部の暇つぶしのおもちゃがVBAってこと?
そんなレベルでVBAなら何でも出来るとかVBAが最高とか言ってってこと?
いろんな環境や言語で開発経験が有って
人に売れる程度のモノを作った経験がある前提で話してるのかと思ってたがそうじゃなかったんだな

436:デフォルトの名無しさん
18/08/12 09:58:55.05 qQiXzzF2.net
>>418
そこまで行くとプロ様だからこのスレでは出禁になってますよw

437:デフォルトの名無しさん
18/08/12 10:36:29.18 eDwYBbq+.net
>>418
大企業は本部が全てのシステムを作り、画一されたものが支社に配られるってパターンが多い
全てのツールは基幹システムに集約されているからvbaを使う必要は無い
反面、中小・零細はvbaバリバリで使えないとしんどいだろうね
vbaは開発コストが高い上に単価を安く見られがちなので
わざわざvbaで開発したものを売ろうって奇特な会社は少ないと思う

438:デフォルトの名無しさん
18/08/12 10:36:48.72 231D16m0.net
まじかよw

439:デフォルトの名無しさん
18/08/12 11:17:08.28 YMBuKX4y.net
>>420
中小・零細のほうが身軽だし金がない
ならVBAにこだわる理由なくね?

440:デフォルトの名無しさん
18/08/12 12:00:36.42 G3Q4bI/2.net
>>422
こだわってるんじゃなく、選択肢がないんだよ
・有償ソフトを買う予算は通らない
・フリーソフトのインスコ禁止
この環境で君は何を使って開発するのかな

441:デフォルトの名無しさん
18/08/12 12:15:11.22 eNrGPpfD.net
マクロ禁止にしててもvbsからC

442:デフォルトの名無しさん
18/08/12 12:15:25.61 eNrGPpfD.net
やっぱやめとこw

443:デフォルトの名無しさん
18/08/12 13:01:03.65 YMBuKX4y.net
>>423
いやいやメチャクチャこだわってるじゃんw
膨大な実績があってMSなど様々な企業や団体も採用してる無料のOSS製品やサービスなんていくらでもあるのになんでわざわざ禁止してエクセルVBA?
変なこだわりがあるとしか思えんなぁ

444:デフォルトの名無しさん
18/08/12


445:13:08:20.22 ID:+KVVkWbV.net



446:デフォルトの名無しさん
18/08/12 13:22:01.64 YMBuKX4y.net
>>427
「セキュリティよく分からんけど何かあったとき俺が責任とるのやだから何もかも禁止」ってやつだね
というかこの場合も結局のところ「セキュリティにこだわってるからVBA以外禁止」ってことだろ
このセキュリティに対する(無意味な)こだわりを捨てれば選択肢はいくらでもある
やっぱりこだわり故の自縄自縛だな
選択肢はあるけど放棄してるだけ

447:デフォルトの名無しさん
18/08/12 13:49:02.84 uH5mjHL8.net
ここのVBAの質問に答えてる人が事務員って事はないでしょ
異常に詳しすぎるよね
本職のプログラマーよりも詳しい
それか本職の人たちはチョロチョロと色んなプログラムに手を出すけどVBA一本だから極めたとか?

448:デフォルトの名無しさん
18/08/12 13:50:21.92 +KVVkWbV.net
趣味でやってる人の方が詳しいもんだよこの業界

449:デフォルトの名無しさん
18/08/12 13:59:48.32 G3Q4bI/2.net
>>426
世間でどんなに実績があろうが、インターネットからダウンロードしたソフトを
業務マシンに入れることはセキュリティポリシーで禁止されてるわけ
だけど現場は手作業を自動化して楽したいわけ
だけど利益を生まないシステム開発には経費が下りないわけ
だからExcelに内蔵されてるVBAでこっそりシコシコやるしかないわけ
そうでなけりゃこんな時代遅れで融通の利かない言語を使うものかと

450:デフォルトの名無しさん
18/08/12 14:00:42.95 THZQVPj8.net
>>423
ソースだけだったらテキストファイルなんだからOSSは大丈夫だ

451:デフォルトの名無しさん
18/08/12 14:01:32.73 2G7L+2Mx.net
>>431
お前の能力では使いこなせないだけだろ
馬鹿死ねよ

452:デフォルトの名無しさん
18/08/12 14:10:56.06 lJZ67VC6.net
>>431
「現場は手作業を自動化して楽したいわけ だけど利益を生まないシステム開発には経費が下りない」
プレゼン力が低すぎだろ、効率が上がればコストカットが出来、利益産むだろ

453:デフォルトの名無しさん
18/08/12 14:12:11.32 YMBuKX4y.net
セキュリティーポリシー
ポリシーってようするにこだわりじゃん?
世界中で安全に無料のOSS製品を運用して利益を出している実績があるのだから
VBA以外のすべてを禁止しなければセキュリティを確保できないというのは大嘘なわけだ
だったらなんで禁止するかっていうと「こだわり」でしかないんだよね
選択肢はあるけどへんなこだわりで放棄してるだけ

454:デフォルトの名無しさん
18/08/12 14:18:43.89 Ghi+Nx4b.net
他の言語のスレは山ほどあるのにVBAに拘ってるのほお前だろw

455:デフォルトの名無しさん
18/08/12 14:25:09.48 E6mj5Hz2.net
>>431
同感
ただこっそり作ったのを業務フローに組込んで来る奴は勘弁
一生面倒見てくれるなら構わんけど

456:デフォルトの名無しさん
18/08/12 14:34:45.54 +KVVkWbV.net
ジャップらしい文化だな

457:デフォルトの名無しさん
18/08/12 14:41:32.34 G3Q4bI/2.net
>>437
引継ぎが悩み
自分の後任がVBAを解さない人、あるいは努力して身に着ける気力のない人ならアウト
ただVBAは仕様が枯れていてExcelバージョン間の互換性が高いし、
書籍や情報も多いし、コードがブックと一体化して実行環境を成しているから何とかなると思ってる

458:デフォルトの名無しさん
18/08/12 14:42:58.75 RzbuUHfm.net
>>431
自分で使う+こっそりやっていい
なら
C#、VB.NET、PowerShell、vbs
でいいやろ

459:デフォルトの名無しさん
18/08/12 14:57:07.79 auWodvpS.net
他の言語スレは見てないけどさぁ、なんでこうも他の言語をアレコレ強制しようとするやつが多いんだよ、ここは。
Excelを使うならVBA使うのが自然だろ?Excelを他の言語からVBAと同等に動かすこと出来るんかよ
ほんとうぜぇな。いつまでC#がいいだのパワーシェルだの、あげくはRubyがどーたらこーたらとか言ってんだよ
雑談したいんだったらそういうスレにでも逝けよ、さみしがりやの僕ちゃん連中は

460:デフォルトの名無しさん
18/08/12 15:14:12.51 EncC8RvO.net
> Excelを使うならVBA使うのが自然だろ?
いいえ

461:デフォルトの名無しさん
18/08/12 15:29:44.44 Ghi+Nx4b.net
>>442
なら他のスレに行けばいいのにw

462:デフォルトの名無しさん
18/08/12 15:39:42.82 uP5xtaXw.net
>>411
入ってないな。
エディタはメモ帳だ。
プログラミングには興味あるが、プログラミングと言ってもいろいろあるだろ。
たぶん君とは方向性が違う。
それに仕事でVBAだけっていっても1つの案件が続いていけばそんなの普通だろ。
それ以外の言語は趣味でやればいい。
競争の頂点にいるような会社はリスクを取りたがらない。

463:デフォルトの名無しさん
18/08/12 15:43:05.47 uP5xtaXw.net
>>420
逆。
本部はベンダーに任せるから。
本部の人間は逆にVBAとかで組んでる。
勿論大規模ではない。
大規模なのは本部の人間は作ってはいけない。
ベンダーにやらせるからね。

464:デフォルトの名無しさん
18/08/12 15:48:35.76 uP5xtaXw.net
>>431
よく分かってるじゃん。
でも、やりようだからね。
結局。
使い勝手が良くなる手を打てなかった、もしくは打つ前にVBAを辞めたとも言える。

465:デフォルトの名無しさん
18/08/12 15:52:52.87 uP5xtaXw.net
>>441
一応、C#でのVSTOというものがあって、どうにも行き詰まった時にそれで突破できるかどうかぐらいは知っといても良いと思うよ。

466:デフォルトの名無しさん
18/08/12 15:54:48.73 uP5xtaXw.net
>>442
何も分かってない。
散々やり合って、Excel上で動かすという簡単なことが他言語では難しいことがはっきりしてる。

467:デフォルトの名無しさん
18/08/12 16:20:55.60 EncC8RvO.net
してない

468:デフォルトの名無しさん
18/08/12 16:32:57.41 +KVVkWbV.net


469:デフォルトの名無しさん
18/08/12 16:42:39.01 YMBuKX4y.net
日本がIT後進国になった理由を実感できるスレ

470:デフォルトの名無しさん
18/08/12 16:54:23.52 qQiXzzF2.net
全ての人間を満足させる方法なんてない。
ネット閲覧さえできずソフトもインストールできない環境の人はExcelとVBAで頑張れ。
インストール権限はないけどOSSのコピペならOKの人は自分に合ったライブラリをさがせ。
いろいろ導入できる人は好きなの使え。

471:デフォルトの名無しさん
18/08/12 16:58:06.19 pZvjUUz9.net
スレチだけどOSSなんか使わせてくれる会社あんの?
頭おかしいんじゃねえの

472:デフォルトの名無しさん
18/08/12 17:02:21.92 231D16m0.net
え?

473:デフォルトの名無しさん
18/08/12 17:06:12.31 foPG/4Nx.net
ギクッ

474:デフォルトの名無しさん
18/08/12 17:09:00.64 YMBuKX4y.net
>>452
ネットにも繋げない奴隷環境ならPowerShellのほうがいいぞ
部品の再利用性が高いから長引くほど有利
>>453
いままでで最高のジョーク

475:デフォルトの名無しさん
18/08/12 17:13:31.65 EkdmozDA.net
>>456
PowerShellはVBAの代わりにゃならん。
PowerShellも使うけど、役割が違う。

476:デフォルトの名無しさん
18/08/12 17:16:07.41 eDwYBbq+.net
>>426
>様々な企業や団体も採用してる無料のOSS製品
互換性の問題で、どっかの役所がこれをやめた
>>441
誰がどうみてもvbaは完全に時代遅れのウンコちゃんなんだよ
機能以前に、Cライクじゃないことがあまりにもウザすぎるんだよ
今主流の言語はほぼ全てCライクなのに、何で今更Bなの
せめて比較演算子だけでもお願いしますって感じだわ
>>445
あぁ、すまん変な言い方してしまった。作ってはいないね
業者とやり取りしているのが本部だ
>453
レンタルサーバーのphpはオープンソースだよねって反論したら知るかボケって返ってきたわ
その辺は規模にも寄るだろう

477:デフォルトの名無しさん
18/08/12 17:17:12.97 EkdmozDA.net
>>456
ジョークって程じゃない。
ああいう意見が出てもおかしくない。
会社によるんでしょ。

478:デフォルトの名無しさん
18/08/12 18:23:06.11 qQiXzzF2.net
VBAが使えてネット閲覧OKというまあ普通の環境においては
ネットからサンプルコードをコピペしてきて使うことも当然あるだろ?
ソースをまるごと持ってくるのと何も変わらんよね。



479:インストールという行為がなければ区別つかないんだし。



480:デフォルトの名無しさん
18/08/12 18:28:40.34 E/Yl+18H.net
そうか
ネットに繋がらない環境でプログラミングするって凄い事だね
コードのスペルとか全部記憶してるのか

481:デフォルトの名無しさん
18/08/12 18:39:35.81 +G+aLZZB.net
>>461
まぁ1年も使えばVBAはネットなしでもスラスラ書けるのは強み

482:デフォルトの名無しさん
18/08/12 18:45:45.36 eDwYBbq+.net
>461
死ぬほどめんどくせーよ
worksheetとworksheets、
cells(y,x)、cells(x,y)、cell(x,y)、
何十回間違えたか検討もつかない
あと、再計算のcalculate
ただ、このスペルさえ覚えば別にどってことないんだよね
onerrorや高速化周りはさすがにコピペだし
vbaの場合、全然発達してないからある意味ネット環境がなくてもいいって奇妙な強みがある

483:デフォルトの名無しさん
18/08/12 18:48:04.27 YMBuKX4y.net
>>462
VBAかんけいなくてわろた
>>461
なので開発環境のインテリセンスが優れている言語は強い
C#とPowerShellはいいね
VBAはご愁傷さまって感じ

484:デフォルトの名無しさん
18/08/12 20:17:48.27 EkdmozDA.net
>>460
サンプルコードコピペは有るけど完全に理解してる物に限るだろ。
ソース丸ごと持ってきて、それを全部読んで、全て自分の知識から既に分かってる内容ならOKだろう。
そうじゃないなら仕事で使うべきじゃない。
これ、最低限。
実際はキチンと検証やら必要だし、何かあった時、特に損害が出た時に君が賠償できるならOKだ。
普通は賠償出来ないからこれまた申請やらが必要だろうな。

485:デフォルトの名無しさん
18/08/12 20:23:11.69 +KVVkWbV.net
社畜心得

486:デフォルトの名無しさん
18/08/12 20:26:12.54 EkdmozDA.net
>>463
何か、間違えの内容がごく初心者のやらかす内容だな。
さすがに、そんな間違いはあり得んから全く面倒くさくないな。
後、初心者が良くやらかすのがいきなりCellsで書き出して、ブックやシートを省略する奴。
基本ブックから省略せずに書くからそういうミスもあり得ん。
当然Withを使うかSetを使う。

487:デフォルトの名無しさん
18/08/12 20:31:35.18 qQiXzzF2.net
>>465
おいおいw
OSS利用なんてあたり前だろう
それにバグなら自分のコードだって出るんだし

488:デフォルトの名無しさん
18/08/12 20:41:45.49 pXo7RZSL.net
>>468
自分のバグとコピペにバグじゃ違うだろ。
それにコピペの場合、悪意あるコ-ドが入ってて機密情報が流出したら、自分が意思をもって流出させようとしたのと変わらんと思うが。

489:デフォルトの名無しさん
18/08/12 20:47:30.42 qQiXzzF2.net
>>469
じゃあ使わなければいい
保険をかけることにもコストがかかり、リスクを取らないリスクがあるってことも忘れるなよ

490:デフォルトの名無しさん
18/08/12 20:49:14.70 eDwYBbq+.net
>467
もちろんsetを使っているよ
withは入れ子できないのが気持ち悪くてあんまり使わない
ってか、Cライク言語でしばらく書いた跡の等価演算子とifインデント辺りの方がめんどい
if (foo = bar) then
と書いた跡のカッコを消す何とも言えない気分

491:デフォルトの名無しさん
18/08/12 20:49:42.20 pXo7RZSL.net
勘違いしてるかもしれんが、君の会社がOSSに対してどういうスタンスを取ってるかによる。
コピペからソース丸ごと持ってきてOKと解釈する所が間違いな。
君の会社だったら客から賠償されるだろうけど君はお咎め無しだろう。

492:デフォルトの名無しさん
18/08/12 20:57:36.30 pXo7RZSL.net
>>471
それは複数言語を同時に使えばどんな言語でも起こるだろ。
SQLだってOracleとAccessとSQLServerでそういうことは起こる。

493:デフォルトの名無しさん
18/08/12 21:25:16.26 sFpP4hR5.net
>>471
> withは入れ子できないのが気持ち悪くてあんまり使わない
入れ子はできるだろ
ただ入れ子にすると外側にアクセスできないのが不便
Pythonみたいに別名を付けられればいいのに

494:デフォルトの名無しさん
18/08/12 21:54:05.73 E/Yl+18H.net
VisualStudioを入れれる環境ならVBAは使わない?
そーいうことでもない?

495:デフォルトの名無しさん
18/08/12 22:32:25.31 eDwYBbq+.net
>>473
SQLの方がキツイね
あと、正規表現。細かいルールまで覚えてないと普通に死ぬ
>>474
そういやできるね・・・うん、できるね・・・
>>475
そういうことでもない。VBAはエクセルの便利機能の一つ
VSからエクセルを触ることもできるけど、割と冗談抜きでめんどくさい。
一回やってみると方が良い。俺はかなり昔、二度とやらないと決めた。今は便利になってるかもしれないけど、そこまでは知らないなぁ

496:デフォルトの名無しさん
18/08/12 23:56:34.44 G3Q4bI/2.net
>>475
まず前提として、これは総務や営業の事務部門のねーちゃん・オッサンたちが
手元のPC作業を自動化したいという話だと思ってるんだけど・・・
そういう人らには、例えPCにVisualStudioが入っていたとしても、それでバリバリ
開発したり開発後のコードを管理・メンテしていくことは無理だろ?
んでこの手の社内システムの支援が行き届かない末端業務では
大抵のデータはExcelやAccessに入ってて、それを手操作で処理してるのが典型
よって手になじんだExcelやAccessのまんまVBA処理に移行するのが手っ取り早い
C#やPythonなどからExcelを動かす荒業もあるらしいけど、わざわざそうする理由がない

497:デフォルトの名無しさん
18/08/13 06:22:10.19 2dORgvS5.net
>>477
> 総務や営業の事務部門のねーちゃん・オッサンたち
が、VBA使えるという前提もどうかと思う

498:デフォルトの名無しさん
18/08/13 07:05:16.10 JKsq+WjD.net
 
畏(おそ)れ多くも森喜朗元帥閣下の有り難いお言葉:
 「オレはIT(いっと)のことはよく知らんがぁ
   時計をたった2時間早めるだけだろぉ?
  オレなら1分あれば済ませるぞぉ!
   サマータイムの何がそんなに難しいんだぁ?」
 
システム開発現場の勇ましい言葉:
 「畏れ多くも森元帥閣下のご下命を賜った以上
   現場SEは有り難いお言葉に勇気百倍
  デスマーチとバンザイ突撃を敢行いたします!」
  
 「マラソン選手さまが涼しい時間に走るためなら
   現場SEの千人や二千人死んでも本望です!
  私たちSEの生命など、虫けらと同じです!」
 
 「畏れ多くも森元帥閣下の有り難いご下命にしたがって
   最前線システム開発現場で殉職出来るとしたら
  現場SEとしてこれに勝る喜びはありません!」
 
日本という国では
 体育会系が一番偉い(森元帥閣下、田中理事長)
  文科系がその次で(財務省、教授会)
 理科系は最底辺の奴隷とされています(現場SE)
 

499:デフォルトの名無しさん
18/08/13 07:29:38.19 J9TEOhCW.net
>>478
ifとforとエクセル操作ならそんなに難しくない
前提として十分成立するレベル。
プログラミングで難しいのは環境の話。
で、環境はExcelなので事務屋は知ってる。
動くコード書くだけなら誰でもできる。

500:デフォルトの名無しさん
18/08/13 08:06:20.93 ultFGnC1.net
ネットつながってないならなにインストールしようが問題なくね?

501:デフォルトの名無しさん
18/08/13 08:28:37.19 wY5iWaZC.net
>>477
「ねーちゃん・オッサン」という言い方自体が印象操作だね。
部門部署はたくさんあるんだから。
「理系院卒のあんちゃん」と言ったら真逆の印象になるだろ?
まじめな話普通大学で少しはやってるだろ今どき。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch