Excel VBA 質問スレ Part49©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/06/26(月) 02:15:14.60ID:T3ylemnb0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

スレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part48
http://mevius.2ch.net/test/read.cgi/tech/1494890685/

※関連スレ
VBAなんでも質問スレ Part2
http://mevius.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://mevius.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 126
https://mevius.2ch.net/test/read.cgi/bsoft/1496487719/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/07/18(火) 00:17:38.11ID:kpygt+jXd
nullの話出たから聞きたいんだけどnullとかnothingの判定を完結にやるいい方法ってないの?
やりたいのはnull,vbnull,nothing,emptyなどなど値が入ってない状態を検知したい

全部if elseifでやるのは汚すぎるからあまりやりたくない
331デフォルトの名無しさん (ワッチョイ f191-+gV6)
垢版 |
2017/07/18(火) 00:18:33.82ID:sD2l3tVa0
>>330
全部調べる関数を作ればいいのでは?
2017/07/18(火) 00:19:09.03ID:zLdSm0oAM
判定メソッド作って呼ぶ
2017/07/18(火) 00:40:40.16ID:j/Xwl1qG0
If文を可能な限り避けるとなると

Function foo(hoge) As Boolean
Select Case VarType(hoge)
Case 0,1
...
Case 9
If hoge Is Nothing Then
End Select
End Function

みたいな書き方かな
2017/07/18(火) 00:43:00.33ID:8EqWFNQax
データの値の状態を判定するならif elseif よりも
Select Case Expressionの方が無駄なく綺麗に書ける
2017/07/18(火) 06:17:21.84ID:StSxL3ktr
>>333
ていうか、このコードは何を返すの?
2017/07/18(火) 06:18:50.83ID:qfl2YypxM
>>329
保証されてない ≒ 動作する場合があるかも知れないけど面倒だしどうでもいいから調べてない
2017/07/18(火) 06:20:35.94ID:qfl2YypxM
>>335
「値が入ってない状態」かどうかだろ
2017/07/18(火) 06:30:18.74ID:StSxL3ktr
>>337
なるほど。
null判定は自分で関数作っちゃうのが早いよってことね。
2017/07/18(火) 07:14:01.44ID:9/pR+lH4x
>>333
コンパイルエラー出るコードでワロタ
2017/07/18(火) 07:42:58.67ID:StSxL3ktr
こんな感じかな。

Function IsNone(hoge) as Boolean
  Select case True
    Case IsNull(hoge)
      IsNone = True
    Case IsEmpty(hoge)
      IsNone = True     
    Case hoge is Nothing
      IsNone = True
    Case hoge = ""
      IsNone = True
    Case hoge = vbnullstring
      IsNone = True
    Case Else
      IsNone = False
  End Select
End Function
2017/07/18(火) 08:48:10.34ID:XjshxdE9M
なんでこんな初心者用のスレでVBAはゴミだのカスだのドヤ顔でほざいてるの?
どうせ普段は別の言語で仕事してる奴が、ちょっと頼まれたVBAが解らなくてファビョってるんだろ?w
2017/07/18(火) 08:49:43.17ID:adssaMMv0
ファビョるって何?
2017/07/18(火) 10:01:29.10ID:gw3uuz5O0
先ずはググればいいんでないかな
2017/07/18(火) 11:27:07.20ID:LmZYlO3Ud
>>341
その状況なら確かに愚痴りたくなるだろうね
345デフォルトの名無しさん (オッペケ Sr39-nv+z)
垢版 |
2017/07/18(火) 12:19:29.42ID:1XJz7Xgqr
どうせ自称VBAに詳しいクズと自称メインは他言語のクズしかいないんだから仲良くしろよ
2017/07/18(火) 18:53:43.35ID:QCvagJCl0
>>341
他の言語出来るやつなら自分で調べられるし聞き方も賢くできると思うぞ
2017/07/18(火) 18:57:17.26ID:adssaMMv0
>>341
vbaで仕事は暇になるも、ひたすらすることがない。
コミュニケーション能力のほうが大事と気づくのに、そう時間はかからなかった

コミュ力も高まる言語、それがvba
2017/07/18(火) 19:02:27.52ID:FECT5IdT0
>>340
横からですが、借りてってもいいですか?
2017/07/18(火) 20:30:12.85ID:StSxL3ktr
>>348
もちろん自由に使えばいいけど、スマホで書いてるのでPCテストしてない。自己責任でよろしく。

読み返したら、Is Nothing のところは明らかにエラーになると思うので、こんな感じのほうがいいかも。(PCテストしてないので自信はない。あしからず)

Function IsNone(hoge) as Boolean
  If IsObject(hoge) Then
    If hoge Is Nothing Then IsNone = True
  End If
  Select case True
    Case IsNull(hoge)
      IsNone = True
    Case IsEmpty(hoge)
      IsNone = True
    Case hoge = ""
      IsNone = True
    Case hoge = vbnullstring
      IsNone = True
    Case Else
      IsNone = False
  End Select
End Function

なんか美しくないね。
ま、好きなように書き換えて。
2017/07/18(火) 21:03:49.93ID:FECT5IdT0
>>349
ありがとうございます。
エラーの度に色々悩んでたもので。
この辺を美しく書けるのが理想ですが、なかなか難しい。
2017/07/18(火) 21:10:08.24ID:adssaMMv0
僕は唱える 魔法の言葉 on error resume next
みんなで歌おう 魔法の言葉 on error resume next
2017/07/18(火) 21:12:18.15ID:FECT5IdT0
>>349
objectを掴めてないときのemptyとか、開放できないときのオートメーションエラーとかに悩まされて、ある程度解決してたんですが、これで最終解脱できそうな予感。
ありがたや。
2017/07/18(火) 21:59:56.82ID:jNcdEVA90
ExcelからOutlookを起動し、予定表から会議依頼を作成するマクロを作成しています
あらかた思っていたものは作れたのですが、自分の予定表ではなく共有の予定表に保存する場合のコードがさっぱり分かりません
共有の予定表での作成方法をご教示頂けますでしょうか
2017/07/18(火) 23:28:16.64ID:PXBpilE0x
>>349
IsObject(Expression)の判定をしてるIfブロックの終了間際にExit Function入れないとダメなんじゃね?
2017/07/19(水) 00:59:23.29ID:r34rJ2pSr
>>354
おっしゃるとおり。
あるいは、Select以下をElseでつなげるか。

でも美しくないので書き換えてみた。
結構いいんじゃね?(軽くテスト済み)

結局、>>333 が最適解だったわけね。
なかなかの実力者とみた。

Function IsNone(hoge) As Boolean
  Select Case VarType(hoge)
    Case vbEmpty, vbNull
      IsNone = True
    Case vbObject
      If hoge Is Nothing Then IsNone = True
    Case vbString
      If hoge = vbNullString Or hoge = "" Then IsNone = True
    Case Else
      IsNone = False
  End Select
End Function
356デフォルトの名無しさん (ワッチョイ f191-+gV6)
垢版 |
2017/07/19(水) 02:45:10.33ID:3ENxF81t0
>>355
isNoneが未定になるパスがあるんじゃね
2017/07/19(水) 03:16:22.21ID:QlVhZGqo0
値とかオブジェクトが普通に入っている場合がすっぽり抜けてるんですがそれは
2017/07/19(水) 05:14:51.84ID:uwa7S77b0
>>355
Sub buf()
On Error Resume Next
For i = 1 to n
Set MyObj = SPAM
If Err then
If not IsNone(SPAM) then Brake
Else
Goto Continue
End if
Else
ここで処理。
Continue:
Err.clear
Set MyObj = Nothing
End if
Next
End sub

みたいな使い方を考えたんですが、全然美しくない・・・
どうすれば良いでしょうか。
2017/07/19(水) 07:05:15.04ID:n0rSSeVEd
空の配列チェックも必要だと思うな
2017/07/19(水) 08:00:32.56ID:r34rJ2pSr
>>357
IsNoneの初期値をFalseにすればいいんじゃね?
2017/07/19(水) 08:37:45.43ID:pHR1WedN0
As Booleanで指定した場合はデフォルトがFalseだからTrueになる条件だけ書いていけばいい。
2017/07/19(水) 09:22:45.29ID:hbRH2SWGM
ああなるほど、初期化って頭が全くなかった。サンクスです。
2017/07/19(水) 11:14:00.22ID:r34rJ2pSr
>>359
Case vbarray を加えればいいだけじゃね?

…って思ったら、配列の空判定は結構やっかいかも。

配列判定いる?
2017/07/19(水) 12:01:18.52ID:pHR1WedN0
どういうものを実装するかにもよるけど経験から言うと配列の判定は別の方がいい。
アプローチの仕方が違うから、変数単体で認識させていたものを配列突っ込める様にした時なんかにバグの温床になる。
2017/07/19(水) 12:23:01.26ID:n0rSSeVEd
>>364
もちろん目的によるけどね。
個人的には空の文字列は正常側だと思うし
2017/07/19(水) 12:24:14.19ID:n0rSSeVEd
あと空の配列チェックはIsMissingと同等
367デフォルトの名無しさん (オッペケ Sr5f-nv+z)
垢版 |
2017/07/19(水) 12:28:40.18ID:oLf4rjVBr
variant型は脊髄反射で否定するくせにvariantみたいなヤリマン関数が大好きなお前らってw
2017/07/19(水) 12:36:53.61ID:kmkgyzX6M
variantのみを使うor絶対variantは使わない
みたいな論争は見たこと無いな
2017/07/19(水) 14:51:31.77ID:pHR1WedN0
前スレかその前かの最後の方でVariant型絶対使わないマン出てきていた様な気がするけど。

そういう信条自体は別に良いんだけど、Variant型使えば解決出来る事を信条のせいで解決出来ず、
その結果として「VBAは欠陥」って言い出す変な人はこのスレでよく見かける。
2017/07/19(水) 15:28:03.09ID:GaPiK1nh0
便利な道具を使いこなせないドンくさい奴ってことだよ
2017/07/19(水) 18:00:12.50ID:3A2F1Rqpd
すいません、353ですが自決しましたのでスルーで結構です
コピペだけでなく内容も理解できるようもっと勉強します
2017/07/19(水) 18:04:33.44ID:n0rSSeVEd
自決
2017/07/19(水) 18:31:39.20ID:r34rJ2pSr
>>364-365
配列は要素数の空判定でお茶を濁そう。

これ以上のブラッシュアップは断念。
コードとしてはそこそこ美しいと思う。

Function IsNone(hoge) As Boolean
  Select Case VarType(hoge)
    Case vbEmpty
      IsNone = True
    Case vbNull
      IsNone = True
    Case vbObject
      If hoge Is Nothing Then IsNone = True
    Case vbString
      If hoge = vbNullString Or hoge = "" Then IsNone = True
    Case vbArray + vbVariant
      If Ubound(hoge) = -1 Then IsNone = False
  End Select
End Function
2017/07/19(水) 18:35:56.55ID:r34rJ2pSr
訂正。最後、Trueだった。。(^_^;)

Function IsNone(hoge) As Boolean
  Select Case VarType(hoge)
    Case vbEmpty
      IsNone = True
    Case vbNull
      IsNone = True
    Case vbObject
      If hoge Is Nothing Then IsNone = True
    Case vbString
      If hoge = vbNullString Or hoge = "" Then IsNone = True
    Case vbArray + vbVariant
      If Ubound(hoge) = -1 Then IsNone = True
  End Select
End Function
2017/07/19(水) 18:47:58.49ID:pHR1WedN0
>>373
Function IsNone(hoge) As Boolean
  Select Case VarType(hoge)
    Case vbEmpty,vbNull
      IsNone = True
    Case vbObject
      If hoge Is Nothing Then IsNone = True
    Case vbString
      If Len(Trim(hoge)) = 0 Then IsNone = True
    Case Is >= vbArray
      IsNone = True
  End Select
End Function

ArrayはVariant型以外の場合もあるから、この方がいい。
2017/07/19(水) 19:22:16.26ID:r34rJ2pSr
>>375
おおー、まだブラッシュアップできたか。
素晴らしい。

それなりに使える関数になったかもね。
2017/07/19(水) 19:26:12.74ID:uwa7S77b0
素晴らしい。
2017/07/19(水) 19:29:01.56ID:+D5BELFr0
配列と型のチェックを同時にする時はとりあえず一次元配列に直せば楽ってばっちゃが言ってた
2017/07/19(水) 20:01:06.21ID:bbPNdV8fd
書いてから気づいたけどvbnullは型ではなくてただの列挙体なので判定しなくてもいいよな

あと““はなんかダサいからvbnullstring使うのがいいかも
2017/07/19(水) 20:04:24.02ID:n0rSSeVEd
判定としては UBound < LBound にしなくちゃね
2017/07/19(水) 20:16:48.04ID:r34rJ2pSr
>>379
たとえば、InputBoxでキャンセルを押すとvbnullstringが返る。
何も入力せずにOKを押すと "" が返る。

つまり、vbnullstringと "" は別物なのでそれぞれに判定する必要がある。
2017/07/19(水) 20:20:16.17ID:r34rJ2pSr
>>380
たしかにそのほうがきれいだね。

いや、いろいろ出てくるもんだなぁw

美しいコード書きへの道のりは遠い…
2017/07/19(水) 20:20:56.04ID:pHR1WedN0
>>379
vbNullStringと""は判定としては別なので、片方だけにすると抜けが起きる。
2017/07/19(水) 20:28:12.28ID:pHR1WedN0
>>382
うろ覚えだけどVarTypeでvbArrayとして返ってきた場合でもUboundするとエラーになるケースがあったはずなので、
Uboundを使う場合は別関数でOn Error Gotoで飛ばせるようにしておきたい。

Function SafeUBound(hoge, Optional div As Long) As Long
On Error GoTo fin
If div = 0 Then div = 1
SafeUBound = -1
SafeUBound = UBound(hoge, div)
fin:
End Function

Function SafeLBound(hoge, Optional div As Long) As Long
On Error GoTo fin
If div = 0 Then div = 1
SafeLBound = 0
SafeLBound = LBound(hoge, div)
fin:
End Function

と置いてSafeUbound < SafeLBoundで判定したい。
2017/07/19(水) 20:38:22.51ID:r34rJ2pSr
一応簡単なテストコード的な…

hoge = Range("A1").Value: Debug.Print IsNone(hoge) & ":" & VarType(hoge)
hoge = InputBox("値を入力してください。"): Debug.Print IsNone(hoge) & ":" & VarType(hoge)
Set hoge = Sheets(1): Debug.Print IsNone(hoge) & ":" & VarType(hoge)
Set hoge = Nothing: Debug.Print IsNone(hoge) & ":" & VarType(hoge)
Set hoge = CreateObject("InternetExplorer.Application"): Debug.Print IsNone(hoge) & ":" & VarType(hoge)
hoge.Quit
Set hoge = Nothing: Debug.Print IsNone(hoge) & ":" & VarType(hoge)
hoge = Array(): Debug.Print IsNone(hoge) & ":" & VarType(hoge)
2017/07/19(水) 21:08:04.97ID:WMMf4PqS0
エクセルでLISTAGGに相当するものは何ですか?

ソートしてForで上下比較して足してけとか言わないでください。
2017/07/19(水) 21:53:52.63ID:UJWjDrSmx
>>371
成仏しなされ
2017/07/19(水) 22:03:31.20ID:54vs2xq7M
>>373
> 配列は要素数の空判定でお茶を濁そう。
それが簡単にできれば>>363とかがわざわざレスせんよ

>>375
> ArrayはVariant型以外の場合もあるから、この方がいい。
アホか、ビットマスクなんだから And VbArray で判断しろよ
2017/07/19(水) 22:03:54.68ID:uC8D1QH+e
vbNullString を厳密に判定する場合、StrPtr()使わないと判定できないと思ふ

If StrPtr(vbNullString) = 0 Then ’〜 Null Pointer
2017/07/19(水) 22:36:12.42ID:pHR1WedN0
>>388
Select文だとAnd vbArrayって使えないと思うんだけど、例文出してくれる?
391デフォルトの名無しさん (ワッチョイ f191-+gV6)
垢版 |
2017/07/19(水) 23:08:15.46ID:3ENxF81t0
>>386
無い
作れば?
2017/07/19(水) 23:33:45.07ID:54vs2xq7M
>>390
ひょっとして応用力ないとか?
Selectにこだわる必要ないし
どうしてもやりたきゃ
Select Case True
Case (VarType(hoge) And VbArray) <> 0
...
でいいだろ
2017/07/19(水) 23:39:04.83ID:pHR1WedN0
>>392
ああ、やっぱりそういう方法しかないのね。

元々がIf文を可能な限り使わないというところから出発しているし、
それだとIf Else使った方が処理も速いしSelect文で読みやすくするっていう利点も潰してるんだよな。
2017/07/20(木) 01:20:53.05ID:CiXoybJd0
>>381,383
たしかにvbNullStringと""は別物なんだが
vbNullString=""の比較はTrue返すはず
単に空チェックだけなら""とだけ比較しとけば良いんじゃね
2017/07/20(木) 01:36:37.21ID:IzREkzShr
やはり、配列の空判定は別関数にしたほうが良さそうだね。

Function IsNone(hoge) As Boolean
  Select Case VarType(hoge)
    Case vbEmpty, vbNull
      IsNone = True
    Case vbObject
      If hoge Is Nothing Then IsNone = True
    Case vbString
      If Len(Trim(hoge)) = 0 Then IsNone = True
    Case Is >= vbArray
      If ArrayEmpty(hoge) Then IsNone = True
  End Select
End Function

Function ArrayEmpty(hoge) As Boolean
  美しいコード
End Function
2017/07/20(木) 01:50:57.43ID:IzREkzShr
>>384を使って、

Function ArrayEmpty(hoge) As Boolean
  If SafeUbound < SafeLBound Then ArrayEmpty = True
End Function

Function SafeUBound(hoge, Optional div As Long) As Long
On Error GoTo fin
If div = 0 Then div = 1
SafeUBound = -1
SafeUBound = UBound(hoge, div)
fin:
End Function

Function SafeLBound(hoge, Optional div As Long) As Long
On Error GoTo fin
If div = 0 Then div = 1
SafeLBound = 0
SafeLBound = LBound(hoge, div)
fin:
End Function

う〜〜ん、、、いまいち美しくない…orz
2017/07/20(木) 02:11:18.92ID:IzREkzShr
>>394
> 単に空チェックだけなら

Len(Trim(hoge)) = 0

で事足りてるような気はする。

イミディエイトウィンドウでテストしてみて。

? Len(Trim(InputBox("値を入力してね"))) = 0

[OK][キャンセル]どちらでも True が返る。
2017/07/20(木) 02:46:26.38ID:2lo8GEfG0
>>396
Function RBound(hoge, Optional div As Long) As Long
On Error Resume Next
If div = 0 Then div = 1
RBound = UBound(hoge, div) - LBound(hoge, div) + 1
End Function

あくまで配列要素数があるかどうかだけ判断したいなら、こういう関数でもいいと思うけど。
2017/07/20(木) 07:38:01.83ID:IzREkzShr
>>398
おおー、だいぶスッキリしたね。

ひとつ残念なのは、引数の次元指定が美しくないんだよなー。

つか、1次元の要素が空の配列なんて使う?
1次元が空かどうかだけ判定すればいいんじゃね?
2017/07/20(木) 08:01:18.50ID:fTGUueKRd
関係ないけど配列の次元を求めるWin32APIがあるのに、いつまでたってもVBAから使えないのは何なの?
2017/07/20(木) 08:08:10.03ID:izganQUxM
>>399
Optionalをわかってないのは美しい美しくないとか言う以前の問題。
2017/07/20(木) 08:34:30.46ID:fh0pKX4k0
その理屈だと、大抵の事はC++で出来るから他の言語は不要ということになるな
2017/07/20(木) 09:48:29.70ID:fTGUueKRd
>>402
VBAから使えるようになればC++の必要性が減る、と解釈するのが自然だと思うけどな?
2017/07/20(木) 12:39:43.62ID:qV+ymKYWM
>>393
速いとか読み易いの前に正しいコードを書きましょう
って話
動けばOkでいいじゃんと言うなら返す言葉はないけど
2017/07/20(木) 12:51:59.09ID:IzREkzShr
>>401
optionalはわかるよ。

仮に引数指定するとして、どの時点で指定するのかな、って。
2017/07/20(木) 12:55:10.23ID:IzREkzShr
>>404
つか、正しくないコードは動かないでしょ。
2017/07/20(木) 13:34:31.13ID:fTGUueKRd
>>398のは
配列要素数があるかどうか「だけ」判断するというのとOptional引数で
次元を指定させる点がちぐはぐなんだよね。
2017/07/20(木) 13:40:13.76ID:fTGUueKRd
それとも手持ちの関数をまんまコピペしたのかな?
2017/07/20(木) 18:17:53.32ID:IzREkzShr
ま、配列の空判定関数は各自で書くということでこの話題は完結かな。

ちなみに俺は、

Function ArrayEmpty(hoge) As Boolean
  On Error Resume Next
If UBound(hoge) - LBound(hoge) < 0 Then ArrayEmpty = True
End Function

って感じ。

空判定関数を書くというだけの話題だったけど、いろいろ勉強になったね。

おつかれさまー。ノシ
2017/07/20(木) 18:32:35.34ID:IzREkzShr
3行目は

If UBound(hoge) < LBound(hoge) Then ArrayEmpty = True

のほうが美しいな。
2017/07/20(木) 18:53:02.67ID:2lo8GEfG0
そしたら

ArrayEmpty = UBound(hoge) < LBound(hoge)

でもいける。
2017/07/20(木) 18:56:56.64ID:IzREkzShr
>>411
素晴らしい!!

頭が柔らかくて羨ましいよ。
2017/07/20(木) 19:42:53.19ID:0IwNCiVxd
完成した関数テンプレにのこしておいてよ
vbaの良質なコードはすごく希少だし
2017/07/20(木) 19:58:58.45ID:qV+ymKYWM
>>406
たまたま動いてるだけのコードも正しいと言い張るの?
2017/07/20(木) 20:06:31.90ID:IzREkzShr
>>414
つか、いったい何が悔しかったの?
君ほどの実力者が。
2017/07/20(木) 20:27:30.52ID:IzREkzShr
>>413
どこに残せばいいの?

完成品はこれでいいかな。

Function IsNone(hoge) As Boolean
  Select Case VarType(hoge)
    Case vbEmpty, vbNull
      IsNone = True
    Case vbObject
      IsNone = hoge Is Nothing
    Case vbString
      IsNone = Len(Trim(hoge)) = 0
    Case Is >= vbArray
      On Error Resume Next
      IsNone = UBound(hoge) < LBound(hoge)
  End Select
End Function

簡潔で美しいね。みんなの力の結晶だ。
2017/07/20(木) 22:00:04.12ID:4n7T5v3d0
>関数テンプレにのこしておいてよ

どこにあんだよ、そんなの
ここで知った人間で保存しておきたいって奴が保存しておけば良いだろ
2017/07/20(木) 23:07:38.62ID:2lo8GEfG0
スレッドのテンプレに残しておいてほしいって事なんじゃないの。
でも残し始めたら際限無くなるし、コピペで済ませずに理論と意図を理解して同じものを一から書けるようになってほしいなぁ。
2017/07/21(金) 05:39:07.68ID:qElIELIq0
>>415
えっ?
なにか悔しいことでもあったの? w
420デフォルトの名無しさん (オッペケ Sr1b-8ndb)
垢版 |
2017/07/21(金) 12:22:10.00ID:vdvVccQ6r
こんなコードテンプレに残したらますます初心者が初心者を惑わすスレに拍車がかかるなw
本当に仕事でエクセルマクロを必要としてる人には迷惑かけんなよw
2017/07/21(金) 12:42:41.45ID:omOOvC2LM
残せというやつがwikiでも立てて残していきなよ
2017/07/21(金) 14:22:43.43ID:WPcJx8Myr
> 初心者が初心者を惑わすスレ

言い得て妙だww

いいんだよ、それで。
VBA使いはエンジニアじゃないから。
2017/07/21(金) 14:37:29.87ID:Rk0p0Likx
>>422
さーせん
lsi engっす
2017/07/21(金) 14:46:06.01ID:+UMDimrcM
>>422
まだVBA使い≠エンジニアとか言ってるの?
エンジニアでもVBA使いは居るってのに
2017/07/21(金) 15:00:26.78ID:rDxvAnQTM
低スキルにありがちな下らないレッテル張り
2017/07/21(金) 15:28:32.09ID:4zV211iR0
どの言語の質問スレも初心者が初心者を惑わすスレ化してるのが悲しい。
「よくある質問と回答」レベルなら問題ないんだけど、ちょっと突っ込んだ質問になるととたんに雲行きが怪しくなる。

ある程度の実力を身につけたら2chじゃなくてちゃんとしたコミュニティか何かに参加するべきなんだろうけど、
だいたい見つからないし、見つけても2chほど気軽に質問投げられるような場所じゃなかったりするんだよな。
2017/07/21(金) 17:53:53.00ID:WPcJx8Myr
>>426
知恵袋とか、もっと酷いよ。
2017/07/21(金) 19:35:15.46ID:tSBq1lkVM
>>426
ネットの情報なんだから裏を取ればいいだけ
今時書いてあるキーワードでググれば調べるのもそんなに苦労しないしな
惑わされるより過疎化してまともな回答が少なくなってる方が問題だわ
2017/07/21(金) 19:48:27.62ID:xN3mSVPqr
>>424
エンジニアでもVBA使いは居るけど、
VBA使いになりたいエンジニアはいない。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況