1 名前:デフォルトの名無しさん mailto:sage [2020/03/17(火) 16:27:20.88 ID:hh8LiIgR0.net] ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part64 https://mevius.5ch.net/test/read.cgi/tech/1575297834/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
348 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 23:34:48.80 ID:xz8oNroja.net] 「列、又はセルに空白があった場合、それより前(左)にある全ての測定値を参考に」というのは? その例でいうと、 ・項目1のサンプル8、9、10が空欄なので、1から7の数値を元にして適当な数値で埋める。 ・残りの項目についても同様 ということですか?つまり上の数値を元にしてるけど。 処理自体は難しくないとは思います。
349 名前:デフォルトの名無しさん [2020/04/15(水) 23:57:01.64 ID:bRq9+Y6qM.net] >>346 その例でいうと、というか今の職場の手間になってる仕事がまさにその通りです 上の数値を元に残りの項目を誰かが埋めてます どんなアプローチで行ったらよさそうかアドバイスいただませんか Rnd関数Int関数、Loop、Offset 調べてもなかなかわからずです‥
350 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 23:58:14.63 ID:Ikiffowr0.net] >>345 数字を偽装するルールが人によって違うのはわかったけど、あなたはどういうルールでやりたいのか、もうちょっと厳密に書いて 「それまでの数値を参考に」という表現では曖昧すぎてプログラミングできない 例として、サンプルが7個しかなかった場合は、その7個の数字をどう使って30個に増やすのか?
351 名前:デフォルトの名無しさん [2020/04/16(木) 00:23:27.26 ID:WB3hiXkKM.net] >>348 数式と一覧を削りましたが普段はここの赤矢印に測定したデータのMax値とMin値を入れて EXCELの関数でこのような数式で乱数を 出しています 数年前に自力で作ったけどもはや覚えていないレベルです https://i.imgur.com/eglO3Ph.jpg
352 名前:デフォルトの名無しさん (ブーイモ MMcf-IW4T) [2020/04/16(Thu) 00:25:05 ID:WB3hiXkKM.net] あとスクショ取りたいが故に行数の抜けやズレが、、、すみません
353 名前:デフォルトの名無しさん (ワッチョイ 9f85-i57j) mailto:sage [2020/04/16(Thu) 00:30:19 ID:eKixqxFQ0.net] 最低値+rnd×最大最低の差で乱数になるよ
354 名前:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r) mailto:sage [2020/04/16(Thu) 00:35:38 ID:YY8HOOMA0.net] とりあえず行と列の位置は>>345の画像に合わせて作ったから、あとは適当に修正して Sub Macro1() For 項目 = 1 To 6 列 = 項目 + 2 最小 = Application.WorksheetFunction.Min(Cells(6, 列).Resize(30)) * 1000 最大 = Application.WorksheetFunction.Max(Cells(6, 列).Resize(30)) * 1000 For サンプル = 1 To 30 行 = サンプル + 5 If Cells(行, 列) = "" Then Cells(行, 列).NumberFormatLocal = "0.000" Cells(行, 列) = Application.WorksheetFunction.RandBetween(最小, 最大) / 1000 End If Next Next End Sub
355 名前:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r) mailto:sage [2020/04/16(Thu) 00:52:18 ID:YY8HOOMA0.net] >>351の方法を取り入れてみた Sub Macro1() For 項目 = 1 To 6 列 = 項目 + 2 最小 = WorksheetFunction.Min(Cells(6, 列).Resize(30)) 最大 = WorksheetFunction.Max(Cells(6, 列).Resize(30)) 幅 = 最大 - 最小 For サンプル = 1 To 30 行 = サンプル + 5 If Cells(行, 列) = "" Then Cells(行, 列).NumberFormatLocal = "0.000" Cells(行, 列) = Rnd() * 幅 + 最小 End If Next Next End Sub
356 名前:デフォルトの名無しさん (ブーイモ MMcf-IW4T) [2020/04/16(Thu) 01:25:57 ID:ltLJf2qHM.net] >>353 神様過ぎびっくりです。 セルをクリックすると.0754322457888とか小数点が残ってるのですがこれを EXCELのROUND関数みたいに四捨五入した状態でここに出力するようにできますか? 四捨五入で0.000の桁で出力できたらもう 職場の2人が失職してしまうレベルです
357 名前:デフォルトの名無しさん (ワッチョイ d7ac-DNPS) mailto:sage [2020/04/16(Thu) 01:33:01 ID:5emHbHZx0.net] それくらい調べたんかな
358 名前:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r) mailto:sage [2020/04/16(Thu) 01:41:31 ID:YY8HOOMA0.net] >>354 Cells(行, 列) = Round(Rnd() * 幅 + 最小, 3) 実際、ごく簡単なマクロで仕事を効率化したおかげで毎年たくさんの失業者が出てるからほどほどにな 経営側でなければ、サビ残がなくなるぐらいのところでやめとけよ
359 名前:デフォルトの名無しさん [2020/04/16(木) 01:59:01.29 ID:dFCopLc9M.net] >>356 神様ありがとう。涙出てきました。
360 名前:デフォルトの名無しさん [2020/04/16(木) 02:43:35.11 ID:Kf4avcM70.net] >>357 またこの間の馬鹿か
361 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 03:23:43.55 ID:KenjGRyod.net] 無意味なデータ入力に数百万の人件費を払う会社か すげーな マクロで解決するより、その作業をなくす方法を真剣に考えた方がいいんじゃないか?
362 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 08:08:02.24 ID:IIRVmVIhr.net] コード教えて君もいるし、PC博士気取れるから教えちゃうやつもいる
363 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 08:16:07.12 ID:Br0d9N6Q0.net] 一時しのぎにはなっても長い目で見れば迷惑にしかならない
364 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 10:34:35.59 ID:HIOPYfc5a.net] 自力でマクロも書けんやつが作ったマクロで会社の経理やるなんてブラック企業しかない
365 名前:デフォルトの名無しさん (スフッ Sdbf-xa8R) mailto:sage [2020/04/16(Thu) 11:54:49 ID:wE+PDO4Yd.net] 4月は零細の新入社員が単純作業をマクロでどうにかしようとがんばる時期
366 名前:デフォルトの名無しさん (ワッチョイ 7749-DNPS) mailto:sage [2020/04/16(Thu) 11:56:31 ID:RK65w6zF0.net] そして保守できずに五月病で辞める
367 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 12:13:47.85 ID:6vJJDJtDM.net] >>363 もともと99%はブラックだし 会社の規模とか無関係に
368 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 12:29:59.97 ID:mPB4Kayur.net] 初歩的な質問なんですけど、ロック付きのブックを編集してSaveAsやcloseで保存したときにロックなしのブックにしたいんですが、どうやればできますか?
369 名前:270 (ワントンキン MMcf-4RW9) mailto:sage [2020/04/16(Thu) 12:54:20 ID:cYWHpILcM.net] >>366 イベントプロシージャにロックを外す処理を書けばいい
370 名前:デフォルトの名無しさん (アウアウウー Sa1b-4fgg) mailto:sage [2020/04/16(Thu) 13:43:07 ID:pZjivNa8a.net] ロックかけた人に外してもらう
371 名前:デフォルトの名無しさん (アウアウウー Sa1b-4fgg) mailto:sage [2020/04/16(Thu) 13:47:25 ID:pZjivNa8a.net] 俺に会社の経理やらせてくれたら自分の口座に自動で入金する処理入れるよ
372 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 14:50:28.74 ID:xWZcVh5Wa.net] 画像フォルダのファイル名を取得→ファイル名と同じ文字列の入ったセルに画像を挿入→画像をセルのサイズに合わせるというサンプルコードを見つけたのですが 画像フォルダ内にファイル1〜5まであり、エクセル内にファイル1の文字列がない場合、「オブジェクト変数またはwithブロック変数が設定されていません。」のエラーが出ます おそらくIFでその場合の処理を設定すればよいのではと思うのですが、変数の設定の仕方が分からないです 昨日今日始めたネット聞きかじりの知識で申し訳ございませんがアドバイス頂けないでしょうか
373 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 15:01:25.35 ID:YY8HOOMA0.net] >>370 まずはうまく動かないコードをここに書いて
374 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 15:08:48.79 ID:RK65w6zF0.net] こらはまたコード出してくれるの待ってるクレクレ君
375 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 15:11:15.02 ID:xWZcVh5Wa.net] >>371 ネット丸パクリのコードだけど Sub sample04() Dim objShape As Object Dim strPath As String, strFileName As String Dim strImgName As String strPath = "c:¥temp¥" strFileName = Dir(strPath & "*.jpg") Do Until Len(strFileName) = 0 strImgName = Left(strFileName, Len(strFileName) - 4) Cells.Find(What:=strImgName).Activate ActiveCell.Offset(0, 1).Activate Set objShape = ActiveSheet.Shapes.AddPicture( _ Filename:=strPath & strFileName, _ LinkToFile:=False, _ SaveWithDocument:=True, _ Left:=ActiveCell.Left, _ Top:=ActiveCell.Top, _ Width:=ActiveCell.Width, _ Height:=ActiveCell.Height) strFileName = Dir() Loop End Sub
376 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 15:12:43.83 ID:xWZcVh5Wa.net] 最終的には画像1-4はシート1、5はシート2みたいな感じに貼りたいんだがとりあえず画像1の文字列ないとエラー起こすのを直したいです
377 名前:デフォルトの名無しさん (ワッチョイ ffcc-Ho7r) mailto:sage [2020/04/16(Thu) 16:37:22 ID:V7jYJHWg0.net] どこでエラーが起きてると思う? 検索して見つからなかったセルに対して何かをしようとしたから、何に対してやるんだよーってエラーが起きたんだよ コードを見ると、Findメソッドの戻り値に対して直接Activateしてるから、そこをばらす必要があるので、一旦戻り値を変数に受けるといい セルはRangeオブジェクトで、 Findメソッドは通常、Rangeオブジェクトを返す オブジェクトを変数に代入する場合は、 Set をつける 見つからなかった場合はFindメソッドはNothing を返す オブジェクトの比較には、Is を使う 例: If Not(r is Nothing) Then 〜 あとはがんばれ
378 名前:デフォルトの名無しさん (ワッチョイ ff8e-eUuY) [2020/04/16(Thu) 17:37:30 ID:Kf4avcM70.net] 馬鹿がコピペで作ったものは使い物にならない
379 名前:デフォルトの名無しさん (オッペケ Sr8b-LtOn) mailto:sage [2020/04/16(Thu) 18:14:58 ID:mPB4Kayur.net] >>367 ありがとうございます。やってみます
380 名前:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r) mailto:sage [2020/04/16(Thu) 18:19:31 ID:YY8HOOMA0.net] Sub sample04() Dim objShape As Object Dim strPath As String Dim strFileName As String Dim strImgName As String Dim rngStatus As Object strPath = "c:\temp\" strFileName = Dir(strPath & "*.jpg") Do Until
381 名前:strFileName = "" strImgName = Left(strFileName, Len(strFileName) - 4) Set rngStatus = Cells.Find(What:=strImgName) If Not (rngStatus Is Nothing) Then rngStatus.Offset(0, 1).Activate Set objShape = ActiveSheet.Shapes.AddPicture( _ Filename:=strPath & strFileName, _ LinkToFile:=False, _ SaveWithDocument:=True, _ Left:=ActiveCell.Left, _ Top:=ActiveCell.Top, _ Width:=ActiveCell.Width, _ Height:=ActiveCell.Height) End If strFileName = Dir() Loop End Sub [] [ここ壊れてます]
382 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 18:52:45.98 ID:Cbge2SK50.net] >>369 自動なのにトロイ処理とはこれいかに!
383 名前:デフォルトの名無しさん (ワッチョイ ff8f-Ho7r) mailto:sage [2020/04/16(Thu) 19:18:26 ID:np7lPiVv0.net] >>342 「それより前(左)にある全ての測定値を参考に」が仕様としては曖昧模糊としてる気がする。
384 名前:デフォルトの名無しさん (ワッチョイ 77da-o3Ob) mailto:sage [2020/04/16(Thu) 19:21:15 ID:XXRRqnVg0.net] >>375 >>378 ありがとうございます、動かしながら理解していこうと思います
385 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 20:15:43.63 ID:/BsiXYGwd.net] >>338 知らねーよ。 10年以上前の、他社から引き継いだ、正直全部書き直したいけど今動いてるからそっとしておいてるコードだよ。
386 名前:デフォルトの名無しさん (ワッチョイ 9f01-h94e) mailto:sage [2020/04/16(Thu) 21:03:51 ID:l2cOjNdn0.net] 指摘されたら他社とか言い出してて笑うわ
387 名前:デフォルトの名無しさん [2020/04/16(木) 21:21:39.75 ID:Gr+82O4W0.net] >>381 理解もできない代物を知らない誰かの作ったコードで動かそうという馬鹿
388 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 22:03:58.10 ID:5vefqm3N0.net] 理解してないコードを使う無能に仕事やらせるとかやっぱブラックだったか
389 名前:デフォルトの名無しさん (ワッチョイ ffe6-ycCE) mailto:sage [2020/04/16(Thu) 23:38:37 ID:NQ0wsZwj0.net] そもそもexcelVBAって素人が頑張って自動化してみましたってのが99%なんだから そういうのをメンテしなきゃならない羽目になったって話だろ プログラム板の中では異質なスレなんだと思う コードレビューとか言ってるやつは確実にアスペ、そういう事情が想像出来る脳みそが生まれつき備わってない 相手するだけ無駄
390 名前:デフォルトの名無しさん (ワッチョイ d7ac-DNPS) mailto:sage [2020/04/17(金) 00:46:06 ID:TM3fWeSx0.net] 他の誰かがってのは全部言い訳 仕事してメンテするなら自分自身が目の前の有りものを完全理解しないといけない 事情は関係ない 仕事としてやる以上自分の責任として取り組むべき それを怠って開き直るのは無責任であり無能でありいつまでも何も成せない 趣味ならしらん
391 名前:デフォルトの名無しさん (ワッチョイ 77da-Uqc8) mailto:sage [2020/04/17(金) 01:58:25 ID:d5pl8NtJ0.net] >>386 素人がつくろうが会社で使うんだろう
392 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 05:06:04.15 ID:K8Kq74SuM.net] >>386 > 今、他人のそういうコードで四苦八苦してる。 ↓ > 今動いてるからそっとしておいてるコードだよ。 言うことコロコロ変わりすぎw
393 名前:デフォルトの名無しさん (ワッチョイ 9fb5-5bTb) mailto:sage [2020/04/17(金) 17:04:26 ID:hqq8FpSv0.net] 散々ここで聞きまくって不快な思いをさせた物ですが完全に職場での運用に成功しました。 本当にみなさんのおかげというか頭良すぎですねここの人は… フォルダ内にあるtxt全ての任意の列行を片っ端からエクセルにコピーする 空白の部分は乱数で処理 この辺は無知にとってはえげつないです。 提案で出そうと思ったらもっと大きな発表テーマで使うぞと言われました。 100のワークの測定データを作るのに2日かかってたのが5分でテンプレートに出力完了…
394 名前:デフォルトの名無しさん (ワントンキン MM7f-tZ20) mailto:sage [2020/04/17(金) 18:42:59 ID:35vznKDBM.net] >>390 馬鹿は死ねよ
395 名前:デフォルトの名無しさん (ワッチョイ b7e6-R0o5) [2020/04/17(金) 18:48:40 ID:M4VM/pj30.net] せっかくtxtという利用しやすいデータ形式なのに わざわざxlsなんかにしちゃって トドメとばかりにゴミデータをインプラント 面白い人だな
396 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 19:49:43.28 ID:d0l4uzMSd.net] >>383 実際そうだし、というか、そんなの多いぞ。
397 名前:デフォルトの名無しさん (スプッッ Sdbf-N0vN) mailto:sage [2020/04/17(金) 19:52:36 ID:d0l4uzMSd.net] >>386 素人じゃないと思うよ。 形の上では。 お客は自ら作るという会社では無い。 作ったのは請け負っている会社だよ。 コメントに会社名らしきものが書かれてるし。
398 名前:デフォルトの名無しさん (スプッッ Sdbf-N0vN) mailto:sage [2020/04/17(金) 19:58:42 ID:d0l4uzMSd.net] >>389 あのね、客の要望は有るんだよ。 要望に答えるためには、今動いてるものも解析しないと答えられるわけが無い。 そのコ一ドが何やってるかわからずに機能追加なんてできるわけが無い。 というか、こんなのVBAに限らず開発やってる会社なら何処でもある話だけどな。 ここには開発専門で仕事したことのある奴が少ないということか。
399 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 20:10:16.78 ID:SpmVGRc5M.net] 他社が作ったコードを客の要望で機能追加 しかもVBA そんなズタボロの状態で開発専門とか大丈夫かよw
400 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 20:49:15.97 ID:d5pl8NtJ0.net] >>394 その会社名らしきところに使用料とか払った? それともその会社に無断で会社名入りのファイル使ってるの?
401 名前:デフォルトの名無しさん (ワッチョイ d7e5-sLxe) mailto:sage [2020/04/17(金) 21:12:50 ID:zPgoaBKN0.net] 自分で書いたコードでも嫌です
402 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 21:26:37.34 ID:d0l4uzMSd.net] >>396 今まで幾つかの開発会社で働いたが、どこでもある話。 VBAにも限らない。 まあ、日本語変数とか日本語関数はVBA以外では聞いたこと無いけどな。 前のコードが酷いので、書き直したらもっと酷くなったなんて、某SE本にも書いてあった。
403 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 21:28:25.17 ID:d0l4uzMSd.net] >>397 プログラムは客のもんなので、そんな話にゃならねーよ。 普通はそうなる。 客のもんになってない例もあるかもしれんが見たこと無い。
404 名前:デフォルトの名無しさん (スプッッ Sdbf-N0vN) mailto:sage [2020/04/17(金) 21:30:17 ID:d0l4uzMSd.net] >>397 これ、VBAの話ね。 コンパイルする言語の場合はそうでない例があったな。
405 名前:デフォルトの名無しさん (ドコグロ MMeb-h94e) mailto:sage [2020/04/17(金) 21:52:47 ID:z6C6Zgo5M.net] >>400 > プログラムは客のもんなので ↑ > 他社から引き継いだ ボロ出し過ぎw
406 名前:デフォルトの名無しさん (ワッチョイ ff8f-Ho7r) mailto:sage [2020/04/17(金) 22:02:00 ID:yYE4gKbd0.net] いい加減、他人の宿題とか仕事とかに安易に回答与えるのやめたほうが いいんじゃないかと。
407 名前:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r) mailto:sage [2020/04/17(金) 22:44:22 ID:j6CUwBsl0.net] 大手から零細まで、色々なところで仕事してきたけど、会社によっては日本語の関数とか変数は別に珍しくなかったな
408 名前:デフォルトの名無しさん (アウアウエー Sadf-Ho7r) mailto:sage [2020/04/17(金) 23:04:41 ID:tPgd0P7Wa.net] 現実問題として、VBAで複雑なマクロを書くと重くて動かないと思うんだけどな それでも我慢して使っているのかな?
409 名前:デフォルトの名無しさん (ワッチョイ ffda-Ho7r) mailto:sage [2020/04/18(土) 08:44:33 ID:FzSpO5p/0.net] Excelでポリゴンゲー作るとか、 相当極端なことをしない限り大丈夫。
410 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 09:44:05.01 ID:QhOAvRvA0.net] 複雑な処理だからって重くなることはないだろ 重い処理をするから重くなるのであって
411 名前:デフォルトの名無しさん (ワッチョイ 1791-N0vN) mailto:sage [2020/04/18(土) 12:59:54 ID:DE4BsnuO0.net] >>402 お前、事務員だろ。 自分のボロに気付いて無いw 開発会社で働いたことある奴ならすぐわかる。
412 名前:デフォルトの名無しさん (ワッチョイ 1791-N0vN) mailto:sage [2020/04/18(土) 13:06:18 ID:DE4BsnuO0.net] >>405 スキルの低い奴はそうなる。 もちろんVBAは遅いけど、VBAで実施するようなことで、どうしても遅くなると想定されるような処理は殆ど無い。 VBAで実施するようなことじゃなければ別だが、そういう話はあまりない。
413 名前:デフォルトの名無しさん (ワッチョイ 1791-N0vN) mailto:sage [2020/04/18(土) 13:08:05 ID:DE4BsnuO0.net] >>404 話には聞いたことがあるが、自分が目の当たりにしたのは今回が初めてだ。
414 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 13:16:31.33 ID:XwSVwu50d.net] 関数名だけ日本語ってルールにしてるところは見たことがある 意外と見づらくなかった
415 名前:デフォルトの名無しさん (ドコグロ MMbf-h94e) mailto:sage [2020/04/18(土) 13:29:04 ID:bylan2xBM.net] >>408 > 開発会社で働いたことある奴ならすぐわかる。 なら
416 名前:詳しく説明してみなよ 客のものを勝手に引き継ぐとか犯罪だぞw [] [ここ壊れてます]
417 名前:デフォルトの名無しさん (ドコグロ MMdf-h94e) mailto:sage [2020/04/18(土) 13:33:12 ID:jvR0dANmM.net] >>411 まあ、読むのは慣れだと思う 慣れればそんなに苦じゃないし意味不明な英訳調の関数名や変数名よりマシ ただ入力がかなり面倒
418 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 13:38:19.65 ID:DE4BsnuO0.net] >>412 ??? 日本語が理解出来ない人? 客が依頼していた開発会社を変えただけのことだろ。 10年前依頼されてた開発会社のコメントがソースにあったが、プログラムは客のもんだ。 今、依頼されてるうちの会社がどうして10年前に依頼されてた会社の了解を取る必要がある?
419 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 13:43:26.52 ID:DE4BsnuO0.net] >>412 というかね、こんなの普通によくあることだぞ。 別会社のコメントなんて何度も見たことある。 開発会社で働いたことあれば、そんな所に違和感なんて感じないだろ。
420 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 13:53:22.59 ID:oUZZgMAe0.net] ソースコードの著作権をどっちがもつかは契約によるぞ 著作権をシステム会社側がもってるのに違う会社に開示したらそれは違法行為 知らずにやってるってのは昔はよく聞いた 10年前に依頼されてた会社の了解を取る必要はないが 普通はソース開示受けるなら開示元に著作権の確認はする
421 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 14:00:07.44 ID:DE4BsnuO0.net] >>416 そんなの常識だろ。 だが、そこまで分かってるなら結論も容易に想定出来ると思うんだが。 VBAの開発ではExcelならブックそのものにソースが付いてくるし、実質派遣のような形態も多い。 つまり、契約上客のもんになってると想定するのが普通。
422 名前:デフォルトの名無しさん (ワッチョイ 1791-N0vN) mailto:sage [2020/04/18(土) 14:01:39 ID:DE4BsnuO0.net] ここで言ってる想定ってお前のことだからな。 そんな想定も出来ずにいちゃもん付ける奴に言ってる。
423 名前:デフォルトの名無しさん (ドコグロ MMdf-h94e) mailto:sage [2020/04/18(土) 14:04:14 ID:p9WER9c7M.net] >>414-415 > 客が依頼していた開発会社を変えただけのことだろ。 それ引き継ぐなんて言わんだろ お前の会社から見たら単に客から改修を依頼されただけ 元のソースを別会社が作ってたか客が作ってたかなんて関係ないし > 日本語が理解出来ない人? お前の日本語がおかしいだけ まあどんどん辻褄合わなくなってるだけとも言うがw
424 名前:デフォルトの名無しさん (ワッチョイ 1791-N0vN) mailto:sage [2020/04/18(土) 14:05:27 ID:DE4BsnuO0.net] >>419 ??? 言うだろw 日本語を理解出来なかった言い訳が見苦しいw
425 名前:デフォルトの名無しさん (ワッチョイ bf2f-8Jcx) mailto:sage [2020/04/18(土) 15:07:20 ID:oUZZgMAe0.net] >>419 日本語がおかしいというより、自分の脳内理解が共通認識だって信じて疑わない人だったようだぞ かまった俺も悪かったが、俺は今後スルーするからお前もそうしろ
426 名前:デフォルトの名無しさん (ワッチョイ d7ac-RTks) mailto:sage [2020/04/18(土) 15:20:13 ID:mWjkYk7T0.net] スレ違いになってきてるとは思うが。 最初のほうの386には 「そもそもexcelVBAって素人が頑張って自動化してみましたってのが99%なんだから そういうのをメンテしなきゃならない羽目になったって話だろ」 って書いてあって、 ここ数レスはプログラム(開発資産)として引き継いだ中のVBAソースコードに焦点が当たってるように見える まず引き受けた方がプロ(仕事としてVBAをやる)として、 前者ならドキュメントとかなくても(時間さえあれば)改修も簡単だろう。 後者ならドキュメント残してないやつ、もしくはそれを知らずにスキルもなく引き受けたやつが悪い。 まあこんな、前提とゴールをあやふやにして不毛で幼稚な言い合いをしたいなら別にスレを立ててろ
427 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 15:25:44.82 ID:R5ze2oyiM.net] >>420 > 言うだろw 言うのはお前だけなw >>421 知ったかが盛って語ったら引っ込みつかなくなったパターンだと思う
428 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 15:45:18.98 ID:DE4BsnuO0.net] >>422 開発やったこと無い奴だから簡単等と言えるw 確かにドキュメントは無いが、あっても他人のコード読むのは大変だぞ。
429 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 15:47:00.47 ID:DE4BsnuO0.net] >>423 引き継ぎって言葉分かってる? それに、想像力があれば一番最初の段階で想定できるような話なんだがw
430 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 15:51:30.21 ID:DE4BsnuO0.net] 引き継ぎ 開発でクグったら最初の3つとも他社からの引き継ぎのことが書いてあったわw 開発会社じゃ当たり前のことなんだけどなw
431 名前:デフォルトの名無しさん (ドコグロ MM5b-h94e) mailto:sage [2020/04/18(土) 15:56:09 ID:MLXwdj/hM.net] でもググったURL
432 名前:デフォルトの名無しさん (ドコグロ MM5b-h94e) mailto:sage [2020/04/18(土) 15:56:30 ID:MLXwdj/hM.net] は出せないw
433 名前:デフォルトの名無しさん (ワッチョイ 1791-N0vN) mailto:sage [2020/04/18(土) 15:59:10 ID:DE4BsnuO0.net] >>422 ああ、素人のコードを引き継いだとしたらの話か。 まあ、素人の短い簡単なコードならその通りだな。 まあ、>>394に書いた通り、形の上では開発会社らしき所のコードだし、コード量も多いからねえ。 VBAはそういうの多いんだよ。 形では仕事で受けてても素人のコードとか。
434 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 16:01:12.79 ID:DE4BsnuO0.net] >>427 出しても構わんがw マナー的に出してないだけでw というか、お前もググって見てから言えよ。 事務員の上にググることさえ出来ないのかよw
435 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 16:21:35.89 ID:N9jsIxO7M.net] 出しても構わんけど出せない うんうん、そうだろねw
436 名前:デフォルトの名無しさん (ワッチョイ 1791-N0vN) mailto:sage [2020/04/18(土) 16:40:22 ID:DE4BsnuO0.net] >>431 ググれないバカに出してやろうwww システムの保守ベンダー変更による引き継ぎ https://www.lanscope.jp/tips/8797/ 他社開発システム・アプリケーション保守引継ぎ https://www.stylez.co.jp/apmt/ 他社が開発したシステムを引き継ぎます https://www.tpc.jp/%E4%BB%96%E7%A4%BE%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E5%BC%95%E5%8F%97/ 他社が開発したシステムも開発を引き継ぎ保守します。 https://kusanagi.dht-jpn.co.jp/2019/04/yamahakusanagi/ 他会社が受託開発したPHPのWEBシステムを引き継ぎ運用し、その後の改修対応などを行うことがあります。 https://qiita.com/xylitol45@github/items/271f2b8e5de3e62d0840 そのWebサイト・システムの保守引き継ぎます。 https://www.accent.co.jp/lp_hosyu/
437 名前:デフォルトの名無しさん (ワッチョイ 1791-N0vN) mailto:sage [2020/04/18(土) 16:46:17 ID:DE4BsnuO0.net] >>423 な、お前のような素人だけだよw 客が依頼してた会社を変えて、引き受けたのを引き継ぎとは言わないのはwww
438 名前:デフォルトの名無しさん (ドコグロ MMdf-h94e) mailto:sage [2020/04/18(土) 17:45:11 ID:JSVuvQDyM.net] 必死にググったのは褒めてやるよw でも、それ運用とか保守の話だろ そりゃそう言うのは連続してるから引き継ぎって言うだろうけど、10年前の他社のコードの改修を引き継ぎとは言わんわな
439 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 17:51:35.98 ID:HTrBhqa/0.net] 微妙にニュアンスがずれてる気がするけど わざと?
440 名前:デフォルトの名無しさん (ワッチョイ 1702-nex3) mailto:sage [2020/04/18(土) 19:45:41 ID:SSjF6x8Y0.net] 他でやれ
441 名前:デフォルトの名無しさん (ワッチョイ 1791-N0vN) mailto:sage [2020/04/18(土) 22:46:28 ID:DE4BsnuO0.net] >>434 必死? 一発で出たぞwww またボロが出る。 開発は作って終わりだと思っているのか? 普通は保守へと継続していくもんなんだが。 何も知らんのなw
442 名前:デフォルトの名無しさん (ワッチョイ ff8f-Ho7r) mailto:sage [2020/04/18(土) 22:51:16 ID:Yw55XdRL0.net] >>410 ブラック・ショールズ式ってのが金融の世界にあるんだが、これをググって 初めて日本語の変数見て目が点になったw
443 名前:デフォルトの名無しさん (ワッチョイ 5701-7wDT) [2020/04/19(日) 05:44:09 ID:wxLF5u+B0.net] 質問していいのか? グラフの近似式をセルにコピペするマクロだ。
444 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 06:21:55.35 ID:fnnke5O7M.net] あらら、他社のコードの保守まで受託してるって話にするの? そういうケースだと普通はドキュメントも貰ってるはずだけどろくなドキュメントがないって話かな そんなハイリスキーな受託して>>325 みたいな愚痴こぼしてるなら知能の足りない会社と言われてもしょうがないじゃん まともな会社なら受ける時に調査費用と時間をもらってドキュメントを起こし直す でないと保守できないから >>437 は保守が何をするのかすらわかってなさそうw
445 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 06:29:22.92 ID:NooYP4/SM.net] >>439 コピペは難しい、普通にセルに直接ぶち込め って書かれてるぞ https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14139043119
446 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 08:34:09.85 ID:/XkpxjBrr.net] 近似式をテキストとしてセルに貼るとこまでできたが、そのテキストから係数を得る方法はないですか
447 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 08:38:32.44 ID:/XkpxjBrr.net] 近似式をセルに落とし、計算する作業が大量のあるためです
448 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 09:19:45.38 ID:BXvk/jUs0.net] >>440 プw 引き継ぎって知らんの? いい加減、恥を晒すだけだぞw というか、VBA案件だけの話だと思ってる? 爆笑もんだw 1つの客から1つの案件だけのわけね―だろ。 寧ろVBAの開発はメインじゃね―ぞ。 DBにAccessなんて普通は無いんだ。 バックエンドとか知らんの?
449 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 09:25:23.89 ID:BXvk/jUs0.net] >>440 あと、知らんのだろうけど、ドキュメント類についてはVBAの場合はそうならないことが多いんだよ。 今までいろんな案件で仕事したがドキュメント貰ったことなんて記憶に無いくらいだ。 で、ドキュメント作る時間も無いことも多い。 これはVBA案件の特殊性だろうな。 VBAが言語として糞呼ばわりされる原因の1つだろう。
450 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 09:40:28.30 ID:VbzAXKcO0.net] もうウザイから消えろ
451 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 09:44:05.10 ID:wN5KW3ZOM.net] >>446 無理にこのスレに居なくてもいいんですよ
452 名前:デフォルトの名無しさん (ワッチョイ 1701-ycCE) mailto:sage [2020/04/19(日) 10:45:28 ID:Shwu+G580.net] >>442 近似式a x + bからa とか bを切り出すってこと? VBA使わずともエクセル関数で出来るでしょ RIGHT、LEFT、MIDとか駆使しろ
453 名前:デフォルトの名無しさん (ドコグロ MMbf-h94e) mailto:sage [2020/04/19(日) 10:51:03 ID:ARSXQ48qM.net] >>444-445 今度はAccessガーとか言い出したのか まあ言い出すのがAccess止まりなのが物悲しいけどねw ドキュメントも作らずに何を保守するつもりなんだよ 言われたらその場であたふた調べてやっつけ仕事でテキトーに改修するのか? そう言うクズ会社なのはよくわかったよ
454 名前:デフォルトの名無しさん (アウアウエー Sadf-tHNm) mailto:sage [2020/04/19(日) 11:52:18 ID:olPCwpAZa.net] 自宅待機でストレス溜まってんだろなー
455 名前:デフォルトの名無しさん (ワッチョイ 1791-N0vN) mailto:sage [2020/04/19(日) 12:04:09 ID:BXvk/jUs0.net] >>449 バーカw 今度はじゃね―よw ある特定の案件だけと考えるバカに教えてやってるだけ。 客からの要望はたくさんある。 VBAなんてたくさんある中のごく一部なのがむしろ普通。 ドキュメント作らずってw それは最初に受けた会社に言えよwww 現実を知らないニートにゃ分からないんだろうなw
456 名前:デフォルトの名無しさん (ワッチョイ 1791-N0vN) mailto:sage [2020/04/19(日) 12:05:45 ID:BXvk/jUs0.net] 日本語が通じないんだよな。 ドキュメント残してないのがコッチにされてる。
457 名前:デフォルトの名無しさん (ワッチョイ 1791-N0vN) mailto:sage [2020/04/19(日) 12:08:31 ID:BXvk/jUs0.net] トヨタ並に名前が知られた客から提示されたのがプログラム本体だけで、それ以外何もありませんってことだって有るんだけどな。 結構昔の話だが。
458 名前:デフォルトの名無しさん (ドコグロ MMeb-h94e) mailto:sage [2020/04/19(日) 12:19:58 ID:FGXaOjnDM.net] 連投バカは日本語が理解できないらしい… まあ無職の脳内妄想の限界かなw > まともな会社なら受ける時に調査費用と時間をもらってドキュメントを起こし直す
459 名前:デフォルトの名無しさん (ワッチョイ 1701-xa8R) [2020/04/19(日) 22:09:40 ID:5r3nTnp70.net] 長文質問失礼いたします。 VBAを用いたAsc?コード129〜159、224〜252範囲の文字変換が上手くいきません。 環境:Windows10Pro excel2007 VB6.5 上記以外のアスキーコードでは、 ?[Chrを用いた、Asc?コード→文字への変換] → ?[Ascを用いた、文字→Asc?コードへの変換] の順序で2回変換すると最初と最後でコードが一致します。 しかし、129〜159、224〜252の範囲だと、 ?変換では「・」、?変換では「-32443」が出力されます。(129〜159、224〜252の範囲ですべて同じ結果) 変換に適した別のコマンドがある、そもそもこのVerでは動作しない等、アドバイスをよろしくお願いいたします。 ※大元の目的としては、オシロスコープから取り込んだ画像バイナリデータを画像データにするため、Asc?コード→文字への変換を行おうとしています。
460 名前:デフォルトの名無しさん (ワッチョイ bf2f-8Jcx) mailto:sage [2020/04/19(日) 22:31:33 ID:oozYSe6W0.net] 文字として表示って、その範囲をどんな文字で表示したいんだ? 画像バイナリデータを画像データって、普通画像データはバイナリなんだが 文字として表示しないならとりあえずAscBとChrB使えば一致するんじゃね
461 名前:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r) mailto:sage [2020/04/19(日) 22:31:47 ID:lQLRo24I0.net] >>455 アスキーはAsc?じゃなくてAsciiな あと、画像データはバイナリなのに、どうして文字に変換するのかもわからない 方法が間違ってないとして、どこかでデータが化けてる可能性があるけど、どこが悪いのかその文章だけではわからない まずは変数の型をチェックかな
462 名前:デフォルトの名無しさん (ブーイモ MMcf-csEB) mailto:sage [2020/04/19(日) 22:58:29 ID:BbIK31/CM.net] -32443は文字化けした時に表示される文字のコードだから、根本的にデータの受け渡し方法を間違えてる
463 名前:デフォルトの名無しさん (ワッチョイ 9fb5-5bTb) mailto:sage [2020/04/19(日) 23:08:35 ID:Dosl7noD0.net] 覚え初めてまだ三日だけどなかなかエクセル関数のように簡単にはいかんもんだね… 流石入門といえどプログラミング、敷居が高い (A1:B1)から羅列されてる数字を(C1:D1)に コピーしてABS関数で絶対数に変換 こんな事すらなかなか難しい
464 名前:デフォルトの名無しさん (ワッチョイ 57ad-LzhE) mailto:sage [2020/04/19(日) 23:11:40 ID:yAfHWdhM0.net] VBAは覚えることが多いだけで やってることは関数と大差ない
465 名前:デフォルトの名無しさん (ワッチョイ b77c-IHcq) mailto:sage [2020/04/19(日) 23:18:18 ID:xFnV3YLr0.net] 3日?勉強中とかいって1ヶ月近く経ってない?
466 名前:デフォルトの名無しさん (ワッチョイ 1701-xa8R) [2020/04/19(日) 23:20:42 ID:5r3nTnp70.net] >>456 >>457 長文の返答失礼します。 >>文字として表示って、その範囲をどんな文字で表示したいんだ? 10進数数字をASCii文字に変換しようとしています。 (66→B 77→M) >>画像バイナリデータを画像データって、普通画像データはバイナリなんだが 呼び方が不適切だったかもしれません ?画像データ:BM>・・・(Bitmapファイルをテキスト形式で表示したもの) ?画像バイナリデータ:66 77 62 150・・・(上記を10進数変更したもの。オシロスコープからはこの形式でデータを取り込んでいる) >>あと、画像データはバイナリなのに、どうして文字に変換するのかもわからない 取り込んだ?データを?データ(文字列)に変更、 得られた文字列をファイルに入力し、拡張子を変更して画像ファイルを作成する目的です。 >>文字として表示しないならとりあえずAscBとChrB使えば一致するんじゃね Chr、ChrB、ChrWでそれぞれ確認したところ、 ・Chr Chr→Asc変換前後で一部データ一致せず。正規データとは一部不一致あり。 ・ChrB ChrB→AscB変換前後で全データ一致。正規データとはほとんど不一致。 ・ChrW ChrW→AscW変換前後で全データ一致。正規データとは一部不一致あり(Chrと正規データの不一致位置と同じ位置)。 ※オシロの外付けFDで取り込んだ画像データを正規データ呼んでいます。 ※ChrとChrWでは129〜159、224〜252の範囲のデータのみが正規データと不一致だったが、ChrBでは確認した範囲ではすべてのデータが不一致 >>まずは変数の型をチェックかな オシロスコープから取り込んだ?データは配列のByte型、Chrで文字列に変換した?データはString型です。
467 名前:デフォルトの名無しさん (ワッチョイ 9fb5-5bTb) mailto:sage [2020/04/19(日) 23:33:41 ID:Dosl7noD0.net] >>461 やったというより訳も分からずここの人にただ完成させてもらっただけだから俺の本当のVBAの勉強はこれからという感じで おかげで肩の荷が降りて基礎から学べる幸運な情況ですね 変数の宣言やデータ型は何となく理解して こっから仕事で簡単に自分でやってけそうな関数をこなせるようにしていきたい ここの列が空白になるまで指定の列に四捨五入した数値を貼り付け とか絶対数を貼り付け あとは数値のバラし とか覚えていって自職場で簡単なVBAのテンプレート作って行けたらいいなと
468 名前:デフォルトの名無しさん (ワッチョイ 1701-xa8R) [2020/04/20(月) 00:04:39 ID:jmR48CvL0.net] >>458 アドバイスありがとうございます。 大部分(129〜159、224〜252以外)の文字変換は問題なかったですが、今一度変換方法を再確認いたします。
469 名前:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r) mailto:sage [2020/04/20(月) 00:13:41 ID:01IV/2aE0.net] >>462 もしかして、それって何も変換せずにそのままバイナリファイルに書き出せばいいのでは? テキストファイルとバイナリファイルの違いは、出力方法はわかってる?
470 名前:デフォルトの名無しさん mailto:sage [2020/04/20(月) 00:54:15.80 ID:3RmvNNii0.net] >>462 だから例えば130や250という数値をどういう文字にしたいんだ? >Bitmapファイルをテキスト形式で表示したもの 普通に言うビットマップファイルはバイナリだからテキスト形式で表示なんてできないが というか、たんにいわゆる.BMPのファイル作りたいって話じゃないのか お前がいってるBitmapファイルってどんなんだよ なんにせよ出力したいデータフォーマットちゃんと確認しろ
471 名前:デフォルトの名無しさん (ワッチョイ ff8e-eUuY) [2020/04/20(月) 01:18:49 ID:ayPjQ7gM0.net] なぜ次から次へと馬鹿が出てくるのか
472 名前:デフォルトの名無しさん (スプッッ Sddf-Ho7r) mailto:sage [2020/04/20(月) 01:59:49 ID:7tfcEhPrd.net] >>467 外出を自粛したり自宅で仕事する人が増えたから みんな体力とヒマを持て余してる
473 名前:デフォルトの名無しさん (スフッ Sdbf-Ho7r) mailto:sage [2020/04/20(月) 02:13:58 ID:ngLECqIpd.net] >>462 Asc?とかASCiiとか、なんでいちいち気持ち悪い書き方をするのか こんなん入力するのも面倒だろうに 正式には全部大文字でASCII、許容範囲で小文字ascii、賛否ありそうだけど頭だけ大文字Asciiもギリ許せる、どれかにしてくれ 1文字たりとも間違いを許さない厳密さがないとプログラミングは無理だぞ
474 名前:デフォルトの名無しさん mailto:sage [2020/04/20(月) 02:14:21.83 ID:ngLECqIpd.net] とにかく、説明がへたくそすぎて、何が悪いのかさっぱりわからん 動かない今のプログラムをここにそのまま書いてくれ たぶんそれ見た方が早い あとオシロスコープの機種名も
475 名前:デフォルトの名無しさん mailto:sage [2020/04/20(月) 03:07:35.60 ID:HepRq5En0.net] 勉強しても仕事より辛い
476 名前:デフォルトの名無しさん (スフッ Sdbf-csEB) mailto:sage [2020/04/20(月) 03:16:22 ID:0LewM/0Ud.net] たぶん、こうだな Open "オシロ画面.bmp" For Binary Access Write As #1 'ファイル名を指定 Put #1, , 変数名 'バイト配列をそのまま全部出力 Close #1 '終了
477 名前:デフォルトの名無しさん (ワッチョイ 77da-Ho7r) mailto:sage [2020/04/20(月) 06:02:11 ID:1SCvgf4l0.net] >>471 就職先間違えたんじゃね
478 名前:デフォルトの名無しさん mailto:sage [2020/04/20(月) 09:42:05.89 ID:kpWyfGjqd.net] >>454 日本語が理解出来て無いバカニートはお前だろw >要望に答えるためには、今動いてるものも解析しないと答えられるわけが無い。 >そのコ一ドが何やってるかわからずに機能追加なんてできるわけが無い。 だから>>325 で四苦八苦してるんだろ。 ついでに言うと、こっちはちゃんとドキュメント残してる。 でもな、VBAの場合で今まで見聞きした前任者、前任の会社は残して無いことが非常に多い。 開発やってればそういう話、よく聞く話なんだよ。
479 名前:デフォルトの名無しさん mailto:sage [2020/04/20(月) 09:53:56.27 ID:k6bRrEuIM.net] >>474 マジで日本語理解できないの? 時系列ってわかる? それとも無職の妄想だから同じ話を繰り返すしかなくなったのか?w > まともな会社なら受ける時に調査費用と時間をもらってドキュメントを起こし直す できてないから今アタフタしてるだけだろ
480 名前:デフォルトの名無しさん mailto:sage [2020/04/20(月) 10:02:13.61 ID:8H2k4fX/d.net] >>475 ??? 出来てるから今、四苦八苦してるんだが。 解析に苦労してると書いてるだろうがw
481 名前:デフォルトの名無しさん (スップ Sd3f-N0vN) mailto:sage [2020/04/20(月) 10:04:53 ID:8H2k4fX/d.net] ついでに言っとくと、正直に言えばたった今じゃねえ。 2週間程度前の話だ。 でも掲示板で、そんな説明することは無いだろ。 どーでも良い話だからな。
482 名前:デフォルトの名無しさん mailto:sage [2020/04/20(月) 10:07:15.13 ID:8H2k4fX/d.net] >>475 さらにいうと、お前の言うとおりなら、日本にはまともでない会社だらけになっちまうけどなw
483 名前:デフォルトの名無しさん (ドコグロ MM5b-h94e) mailto:sage [2020/04/20(月) 10:21:33 ID:RWBNH8g+M.net] >>476-477 できてるって何が出来てるんだ? どんどん話が壊れてるぞ >>478 他社コードの保守はリスク高いから基本受けないし受けるとしたらそれ相応の対価を要求するなんて常識だぞ 言いなりになってそういうのを受けないと死んじゃうクズ会社なら愚痴ってないでまともに働けよw
484 名前:デフォルトの名無しさん (ブーイモ MMcf-9YMR) mailto:sage [2020/04/20(月) 10:51:40 ID:Smt4njnQM.net] >>479 常識が通用しない現場なんていくらでもある お前の経験値が足りないのはよくわかったから、あと15年ぐらい、もっと修羅場を経験してから出直してこい
485 名前:デフォルトの名無しさん (ドコグロ MMdf-h94e) mailto:sage [2020/04/20(月) 12:53:38 ID:zSz1bMm9M.net] >>480 うん、常識の通じないクズ会社があることは知ってるよ それが当たり前とか思ってるのが痛々しい って話ねw
486 名前:デフォルトの名無しさん (アウアウエー Sadf-Ho7r) mailto:sage [2020/04/20(月) 13:20:10 ID:+VtGXs+Fa.net] >>480 結果的に0から作るのと見積額が変わらなくなることも 0から作った方が見積もりが安いこともよくあるw
487 名前:デフォルトの名無しさん (ブーイモ MMcf-IW4T) [2020/04/20(月) 17:29:22 ID:LK5TIQvQM.net] C5とD5の平方根をE5に入力する これをC列が空白になるで行う のシンプルなコード教えてくだせぇ
488 名前:デフォルトの名無しさん (ワッチョイ ff8e-eUuY) [2020/04/20(月) 17:33:09 ID:ayPjQ7gM0.net] なぜ次から次へと馬鹿が来るのか
489 名前:デフォルトの名無しさん (ワッチョイ ffcc-Ho7r) mailto:sage [2020/04/20(月) 17:47:32 ID:gp23hNl10.net] >>483 Columns("C:C").ClearContents
490 名前:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r) mailto:sage [2020/04/20(月) 17:58:37 ID:01IV/2aE0.net] >>483 意味不明 >>485 なるほど、うまいな
491 名前:デフォルトの名無しさん (ワッチョイ b77c-IHcq) mailto:sage [2020/04/20(月) 20:13:51 ID:Y6XPlQfH0.net] まともに勉強してないだけだと思う
492 名前:デフォルトの名無しさん (ワッチョイ d7ac-RTks) mailto:sage [2020/04/20(月) 20:20:08 ID:xfj95GQN0.net] sqr(sqrt)関数あるんだな
493 名前:デフォルトの名無しさん (ワッチョイ 5709-xa8R) mailto:sage [2020/04/20(月) 20:27:38 ID:326Vj6040.net] 皆様は、同一のブック内で複数のマクロがあり、それらの実行時に共通の処理を させたいとき(実行しますか?の確認メッセなど)どういうコードを 書いておりますでしょうか。 私は開発→挿入→ボタン(フォームコントロール)にそれぞれマクロを登録して 実行させており、これらのボタンclick時に共通イベントを設定しようと 考えているのですが。非効率的でしょうか。
494 名前:デフォルトの名無しさん (ワッチョイ 5709-xa8R) mailto:sage [2020/04/20(月) 20:30:00 ID:326Vj6040.net] 補足です。現在は共通処理sub作って、マクロごとにそれをcallしておりますが、 そのブックで日々マクロが増加してきており、そのcall一行すら面倒になってきました・・・
495 名前:デフォルトの名無しさん (ワッチョイ b77c-IHcq) mailto:sage [2020/04/20(月) 20:37:06 ID:Y6XPlQfH0.net] 辞書登録でもしておくとか
496 名前:デフォルトの名無しさん (オッペケ Sr8b-uk89) mailto:sage [2020/04/20(月) 20:57:06 ID:+CR9zmner.net] >>489 application.callerとselect caseかな
497 名前:デフォルトの名無しさん (ワッチョイ 5709-xa8R) mailto:sage [2020/04/20(月) 21:57:48 ID:326Vj6040.net] >>492 おお、vba実行時に処理できるメソッドがあったんですね! 自分の勉強不足でした、大変助かりました。使わせていただきます。
498 名前:デフォルトの名無しさん mailto:sage [2020/04/20(月) 23:00:14.60 ID:mqB9NHYzM.net] Sub 関数SQRT練習() 'B2とC2の0に対してのズレ量でD2で位置度を求めこれを16行までやる。 Dim SQRT練習 As String Dim Gyo As Long Dim Ans As Double Sqroot = ("SQRT練習") Sheets(Sqroot).Select For Gyo = 2 To 16 Cells(Gyo, 4) = Sqr(Cells(Gyo, 2), Cells(Gyo, 3)) * 2 Next End Sub 論
499 名前:外ですか?もちろんピコンピコンエラーまくりです。 B1とC1がもしそれぞれ1なら2.828 それぞれ2なら5.657と なってほしいのですがお手上げです [] [ここ壊れてます]
500 名前:デフォルトの名無しさん (ワッチョイ ff8e-eUuY) [2020/04/21(火) 00:41:08 ID:XAeWC18v0.net] なぜ次から次へと馬鹿が湧くのか
501 名前:デフォルトの名無しさん (ワッチョイ b7e6-R0o5) [2020/04/21(火) 01:54:12 ID:FdhLTsrP0.net] まさか足し算すら出来ないとは夢にも思わないじゃん
502 名前:デフォルトの名無しさん mailto:sage [2020/04/21(火) 04:14:58.32 ID:uRz5dWGWa.net] sqrt(4) って 2だよね
503 名前:デフォルトの名無しさん mailto:sage [2020/04/21(火) 04:17:02.05 ID:uRz5dWGWa.net] vbaではsqrか
504 名前:デフォルトの名無しさん mailto:sage [2020/04/21(火) 08:23:54.51 ID:1TfDEjo0d.net] >>479 あ〜あ。 素人丸わかりw SEとか、技術者の勉強してるニートかなw できてるってのは解析する時間もドキュメント残す時間も貰ってるということ。 ということは=それにかかる費用も貰ってるということだよ。 こんなことも理解出来ないのか? VBAの案件ってのは残念ながら能力の低い奴がやることも多く、常識が通じないことが多い。 なにしろ時給2000円とかでやってる奴も結構いるくらいだ。 俺の場合は時給換算じゃね―けど時給になおしたら最低でも1.5倍は貰わないとやってられねえ。
505 名前:デフォルトの名無しさん mailto:sage [2020/04/21(火) 08:50:35.54 ID:sDUb3bhdM.net] >>499 > できてるってのは解析する時間もドキュメント残す時間も貰ってるということ。 > ということは=それにかかる費用も貰ってるということだよ。 ↑ > 今、他人のそういうコードで四苦八苦してる。 > こんなことも理解出来ないのか? で、何を理解しろって? お前の頓珍漢さか? あと3,000円/hってドヤるほど高くないぞw
506 名前:デフォルトの名無しさん (ワッチョイ 77da-Ho7r) mailto:sage [2020/04/21(火) 10:52:51 ID:mWboXDgG0.net] excelの事務処理で時給3000円は高くね?
507 名前:デフォルトの名無しさん mailto:sage [2020/04/21(火) 11:40:05.07 ID:Jp/GQMh30.net] 何が分からんのか分からんから、とりあえず値2つの合計の平方根を求めるやつをかいた シート https://imgur.com/8uy5ETZ Sub main1() Dim StartRow As Long, EndRow As Long ' 処理開始行,処理最終行 Dim r As Long ' カウンタ Dim FirstValue As Long, SecondValue As Long, SumOfValue As Long ' 値1,値2,値の合計 Dim ValueOfSquareRoot As Double ' 値の合計の平方根 Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("SQRT練習") StartRow = 2 EndRow = 6 ' 指定行のみ計算。逐一セルに代入する。計算ステップは細かくしている。虚数となる場合は一律-1をセルに代入。 With ws For r = StartRow To EndRow FirstValue = .Cells(r, 2).Value SecondValue = .Cells(r, 3).Value SumOfValue = FirstValue + SecondValue If SumOfValue > 0 Then ValueOfSquareRoot = Sqr(SumOfValue) Else ValueOfSquareRoot = -1 End If .Cells(r, 4).Value = ValueOfSquareRoot Next End With End Sub
508 名前:502 mailto:sage [2020/04/21(火) 11:42:34.25 ID:Jp/GQMh30.net] ちょっとだけ汎用的にも書いた こっちはベテランの叩き台にしてほしい 長いしあんまり突っ込まれると恥ずかしいから画像 https://imgur.com/4pE5uE6
509 名前:デフォルトの名無しさん (スップ Sd3f-8lzQ) mailto:sage [2020/04/21(火) 12:31:16 ID:1TfDEjo0d.net] >>500 日本語がまともに出来ないアホには理解出来ないからお前には無理w 何を理解しろって、別にお前に対して理解しろなんて言ってないぞ。 理解出来ないアホさ加減を嗤ってるだけだw アホだから3,000円/hに突っ込むと思ったwww 最低でもと書いてるんだが。 そもそも、そこに突っ込むんじゃ無くて2000円/hに突っ込め。 そういう所はドキュメント無しで終わってもしようが無い。
510 名前:デフォルトの名無しさん (スップ Sd3f-8lzQ) mailto:sage [2020/04/21(火) 12:40:09 ID:1TfDEjo0d.net] >>501 派遣の場合は高い部類に入るだろうね。 力量があって派遣じゃなければVBAでも余裕で超える。 ExcelVBAでのセルとかシート操作の話では無くなるけど。
511 名前:デフォルトの名無しさん mailto:sage [2020/04/21(火) 12:52:51.59 ID:ADUc7MNZM.net] >>504 > 日本語がまともに出来ないアホには理解出来ないからお前には無理w 結局説明できなくなって理解力ガーとか低能が逃げる時によくやる手で笑うわ まあどう言い逃れしようとしても > 今、他人のそういうコードで四苦八苦してる。 って書いたのに突っ込まれたら何か知らんけどできてると言っちゃったアホがいた事実は消せないよw
512 名前:デフォルトの名無しさん (ドコグロ MM5b-Wm+M) mailto:sage [2020/04/21(火) 12:57:31 ID:zuguU9RsM.net] >>501, >>505 派遣で事務処理なら高いほうだと思うぞ まあ大前春子みたいな奴は知らんけどw ただ、>>499は > 俺の場合は時給換算じゃね―けど とか言ってるから正社員なんだろ ならわざわざドヤる程の額じゃねーよ ってこと
513 名前:デフォルトの名無しさん mailto:sage [2020/04/21(火) 14:56:45.54 ID:PwHPaaVD0.net] >>494 「ズレ量」「位置度」の意味がわからん 図を書いて、「ここがズレ量」とか専門用語を使わずに説明してくれ
514 名前:デフォルトの名無しさん (ワッチョイ ffcc-Ho7r) mailto:sage [2020/04/21(火) 15:08:54 ID:VOMv0cPL0.net] >>494 たぶん × Cells(Gyo, 4) = Sqr(Cells(Gyo, 2), Cells(Gyo, 3)) * 2 ○ Cells(Gyo, 4) = Sqr(Cells(Gyo, 2)^2 + Cells(Gyo, 3)^2) * 2
515 名前:デフォルトの名無しさん mailto:sage [2020/04/21(火) 20:34:28.31 ID:1TfDEjo0d.net] >>506 日本語、本当に分からないの? 四苦八苦してたのはその通りだが。 お前は、時間とお金を貰えば穴掘って埋めるだけの仕事でも喜んでやりそうだな。
516 名前:デフォルトの名無しさん mailto:sage [2020/04/21(火) 20:37:32.58 ID:1TfDEjo0d.net] >>507 正社員www あの書き方で正社員だと思うかね。 >>505 と併せて考えれば普通にフリーと分かりそうなもんだが。
517 名前:デフォルトの名無しさん (ドコグロ MMeb-Wm+M) mailto:sage [2020/04/21(火) 20:56:47 ID:PQUXM5VQM.net] >>510 で、何ができたんだ? 説明できないから穴掘りとかではぐらかそうとしてるのバレバレだよw >>511 えっ、フリーだと激安だろw なんでそんなの書いたんだ?
518 名前:デフォルトの名無しさん mailto:sage [2020/04/21(火) 22:37:42.12 ID:9g8Dif430.net] ブックをコピーするボタンを設置したくて 単純に ActiveSheet.copy msgbox "コピー完了" にしてあるのですが シートが6つある中で特定の2つのシートでそのボタンを選択すると このシートはコピー不可 みたいなダイアログだしてコピーをしない その他の4つのシートでは選択すると今まで通りにコピー みたいな設定って可能でしょうか すみません。
519 名前:デフォルトの名無しさん (スップ Sd3f-D5eO) mailto:sage [2020/04/21(火) 22:59:56 ID:bkj7Ha2sd.net] よろしくお願いします AというブックのA1セルの値を BというブックのリストというシートのA1からA500までで検索をし、 一致した値がある場合は同列のC〜F行の値を取得し 元のAブックのC1〜F1に貼り付けるVBAを ご教授ください
520 名前:デフォルトの名無しさん (ワッチョイ bf02-rm8A) mailto:sage [2020/04/21(火) 23:03:12 ID:HzeK5leR0.net] 今どこまで出来てるのかソース貼って それと1個見つかったら2個以上あっても処理終了?
521 名前:デフォルトの名無しさん (オッペケ Sr8b-uk89) mailto:sage [2020/04/21(火) 23:26:39 ID:RBZ7Rq7nr.net] >>513 activesheet.nameでシート名取得し条件分岐 またはボタンを消す
522 名前:デフォルトの名無しさん (ワッチョイ 77ce-Ho7r) mailto:sage [2020/04/21(火) 23:30:41 ID:PwHPaaVD0.net] >>513 s = ActiveSheet.Name Select Case s Case "Sheet3", "Sheet6" ' コピーできないシート名を並べる MsgBox "コピー不可" Case Else ActiveSheet.Copy MsgBox "コピー完了" End Select
523 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 00:16:20.28 ID:G7FFveIV0.net] >>513 そのシートのボタン消せばいいんじゃないのか
524 名前:デフォルトの名無しさん (ワッチョイ 7ab5-l81y) mailto:sage [2020/04/22(水) 01:31:05 ID:6f1TA8hd0.net] >>517 出来ました。本当にありがとうございます。
525 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 01:41:45.18 ID:tj5eX5rX0.net] いえいえ
526 名前:デフォルトの名無しさん (ワッチョイ 0791-N0F4) mailto:sage [2020/04/22(水) 11:01:53 ID:TBrfp0e60.net] >>512 本当に分かってないとはw 調査費用と時間貰ってドキュメント起こすことになっても四苦八苦は変わらん。 お前はバカだから金と時間そ貰えればただ穴を掘って、その場でその穴を埋めるだけの仕事やらされても喜ぶかもしれんが、金や時間貰っても糞コ一ド読まされるのは普通の奴にゃ苦痛なんだよ。
527 名前:デフォルトの名無しさん (ワッチョイ 0791-N0F4) mailto:sage [2020/04/22(水) 11:03:37 ID:TBrfp0e60.net] >>512 フリーだと激安だってwww 本当に何も分かって無いんだな。 VBAの場合は月70万も行けば良い方だ。
528 名前:デフォルトの名無しさん (ドコグロ MMa8-f1XF) mailto:sage [2020/04/22(水) 11:40:39 ID:yd/WL25UM.net] >>521 > 調査費用と時間貰ってドキュメント起こすことになっても四苦八苦は変わらん。 ゴメンな、糞会社はそうなんだろうなw >> まともな会社なら受ける時に調査費用と時間をもらってドキュメントを起こし直す まあ、そもそもまともな会社は >>522 >> 日本語の理解力がないのかな? >> 自慢にもならないことをいちいち書くとかバカじゃね? まさかと思うけど3,000円/h相当の俺スゲーとか思ってる?w
529 名前:デフォルトの名無しさん (ドコグロ MM85-f1XF) mailto:sage [2020/04/22(水) 11:48:33 ID:JonPflQBM.net] すまん途中で送信しちまった >>521 > 調査費用と時間貰ってドキュメント起こすことになっても四苦八苦は変わらん。 ゴメンな、糞会社はそうなんだろね お疲れ様 >> まともな会社なら受ける時に調査費用と時間をもらってドキュメントを起こし直す まあ、そもそもまともな会社は他社の糞コードの保守なんて滅多に受けないし で、何ができたんだ? >>510では過去形だけど>>325では今まさにやってることになってるけど、偶然この一週間で終わったのかな? ますます辻褄合わせが大変になってるぞw >>522 >> 日本語の理解力がないのかな? >> 自慢にもならないことをいちいち書くとかバカじゃね? まさかと思うけど3,000円/h相当の俺スゲーとか思ってる?
530 名前:デフォルトの名無しさん (ワッチョイ 6cac-xf6K) mailto:sage [2020/04/22(水) 12:11:09 ID:tj5eX5rX0.net] こういうのってこうやって段々長文になっていくよなw
531 名前:デフォルトの名無しさん (ブーイモ MMfd-1Gce) mailto:sage [2020/04/22(水) 12:39:44 ID:rSQQIqcfM.net] 客は選べない クソな仕事でも黙々とこなすやつが結局は上に上がってく 文句ばっかり言うやつはそこまでの人間
532 名前:デフォルトの名無しさん (ワッチョイ 0791-N0F4) mailto:sage [2020/04/22(水) 12:42:08 ID:TBrfp0e60.net] >>523 プw 他人の書いたプログラム見たことすら無いとはw まともに開発に絡んだことがあれば100人が100人他人のコードなんて読みたく無いんだよ。 引き継ぎという言葉も知らない、ググることも出来ない、保守という仕事が何をやるかも分からない。 二―トが背伸びは恥の元だぞ。
533 名前:デフォルトの名無しさん (ワッチョイ 0791-N0F4) mailto:sage [2020/04/22(水) 12:44:28 ID:TBrfp0e60.net] 3000円/hが自慢? 何を言ってるんだ? 3000円/hは最低限の話だが。 アホだからそこに反応する。 2000円/hが主題だと言ってるだろうに。
534 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 12:47:10.01 ID:TBrfp0e60.net] >>526 客は選べない。 クソな仕事でも黙々とこなすやつが結局は上に上がってく 文句は客のいない所で発散する。 当然だがね。
535 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 12:51:44.35 ID:M+DGBLrr0.net] 暇なのはわかるけど 何日ひっぱるつもりなん
536 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 12:58:15.17 ID:4ePZRvo/M.net] たびたび済みません 元のVBAのフォーマットから 新しいブックをコピーを教えて頂いたのですが コピーする度に1回目にコピーしたブック内のシートの右に足されていく みたいな設定は可能ですか? 具体的に言うと4月分をコピー その次に5月分、6月分とコピーすると 初回(4月分)にコピーしたブックのシート右に足されていく さらに欲張ると元のフォーマットで4月とか5月とか特定のセルに入力した文字がそのままシート名になってくれる すみませんがやり方ありましたら御教授を宜しくお願いします。
537 名前:デフォルトの名無しさん (ドコグロ MMa8-f1XF) mailto:sage [2020/04/22(水) 13:20:05 ID:RF8jAbo1M.net] >>527-529 指摘されて顔真っ赤になって3連投とかw > 3000円/hは最低限の話だが。 自ら最低限を認めるとか偉いやん で、なんでそんな恥ずかしい金額をいきなり出してきたんだ?w
538 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 14:11:10.05 ID:PH7WDass0.net] >>514 例えばA!A1にリンゴっていれると単価だか購入数だかをB!から拾ってきてA!C1〜F1に入れる感じの物? 多分VBAというよりエクセル関数VLOOKUPで済む話かと VLOOKUP(A!A1, B!A:F, 3)
539 名前:デフォルトの名無しさん (ワッチョイ 0101-g4zf) mailto:sage [2020/04/22(水) 14:31:43 ID:YnJWUcMz0.net] 社内システムで書類となったものの特定の場所の値とエクセルの上の特定の場所の値が合っているか照合したいです。 そういったマクロ組む場合 1. 書類をスキャナーでpdfにする。 2. pdfをocr機能使って照合に使うシートとは違うシートにデータ転記。 3. 2.でデータ転記したシートの値と確認元のシートの値を照合する。 というのがぼんやり浮かんでるんですが、1-3までの流れでよりスマートな方法があるなら上の流れをどう変えたらいいか教えていただけませんか? よろしくお願いいたします。
540 名前:デフォルトの名無しさん (ラクッペペ MM34-eHaU) [2020/04/22(水) 14:47:15 ID:lF2YSEgcM.net] マクロで何とかなるスキャナーやOCRならいいんじゃないの?
541 名前:デフォルトの名無しさん (ワッチョイ 0791-N0F4) mailto:sage [2020/04/22(水) 15:04:32 ID:TBrfp0e60.net] >>532 日本語、ダメ過ぎwww ここまで壊滅的に日本語出来ない奴は仕事も出来ないからニートになるw "引き継ぎ"で恥かいたからってむきになるなよw
542 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 15:26:26.42 ID:7QCXjzFAM.net] 今度はニートとか言い出したぞw 恥ずかしい奴 >> 結局説明できなくなって理解力ガーとか低能が逃げる時によくやる手で笑うわ
543 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 17:33:29.11 ID:jDnlGnaS0.net] >>534 OCR読み取りまでできるなら転記とかいらんけど 社内システムに、その数字をシステム的に参照できるAPIを準備してもらえよ
544 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 17:47:01.75 ID:YnJWUcMz0.net] >>535-538 csvファイル関連のapiもかなり時間かかったので開発をつついてみます。 ocr使ってデータ転記しないと私の能力と使えるソフトやapiでは座標指定ができないから回りくどいやり方するつもりです。 今のところGoogleクラウドのocrがapi公開してるからそれにしようかなとぼんやり思ってるとこです。 アドバイスありがとうございました。
545 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/22(水) 18:42:39 ID:TBrfp0e60.net] >>537 最低限ってのは俺が受けるとしたら最低限3000円/hは貰わないと受けないという話。 こんなの分からないのお前以外いない。 これまでのやり取りも酷いし、"引き継ぎ"についても分からない。 致命的だよ。
546 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/22(水) 18:50:25 ID:TBrfp0e60.net] >>537 あと、その変な引用とアンカ―どうにかならんのか?
547 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 19:58:37.32 ID:UdDG4RF8M.net] >>540 > 最低限ってのは俺が受けるとしたら最低限3000円/hは貰わないと受けないという話。 まじで言ってるのか? 勤め人ならそれでいいけどフリーだと税金や年金とかも自己負担だからやり始めた時ならともかく普通は5,000円/hでも不安だよ > これまでのやり取りも酷いし、"引き継ぎ"についても分からない。 そういう御託は… で、何ができたんだ? >>510 では過去形だけど>>325 では今まさにやってることになってるけど、偶然この一週間で終わったのかな? にまともなレスできるようになってからほざけよw >>541 どこにアンカーがあるんだよw あと>>の意味もわからんとか馬鹿すぎる
548 名前:デフォルトの名無しさん (ワッチョイ d4da-1Gce) mailto:sage [2020/04/22(水) 20:13:28 ID:bDGlwx+F0.net] おまえら能ある鷹は爪を隠すってことわざ知っているか?
549 名前:デフォルトの名無しさん (ワッチョイ acce-1Gce) mailto:sage [2020/04/22(水) 20:18:29 ID:Al75grru0.net] ここは質問スレ ルールを守らないやつには誰も仕事なんか頼まない
550 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 22:05:00.09 ID:M+DGBLrr0.net] 爪出してないしとか言いそう
551 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 22:35:47.35 ID:86ULQnrYa.net] そもそも爪がない
552 名前:デフォルトの名無しさん mailto:sage [2020/04/22(水) 23:56:54.01 ID:ioC/S0KO0.net] CSVはComma Separated Valueの略ですが、 Commaはわざわざ略さなくても、既に,があるんだから、そのまま,SVでいいと思うんですよ。
553 名前:デフォルトの名無しさん (ワッチョイ 7cda-1Gce) mailto:sage [2020/04/23(Thu) 00:04:13 ID:WrYMug8t0.net] で、VBAの質問なんですが、何にもないプロシージャって、何か使い道はありますか? 普通は全然意味ないと思うんですが、なんていうか0番スプライト的な感じで。 Sub Test() End Sub
554 名前:デフォルトの名無しさん (ワッチョイ 91ad-R0M4) mailto:sage [2020/04/23(Thu) 00:22:20 ID:IA7mxVD60.net] >>547 TXT,,SVより TXT,CSVの方が誤読しにくい
555 名前:デフォルトの名無しさん (ワッチョイ 7c7c-sVZV) mailto:sage [2020/04/23(Thu) 00:30:31 ID:/DzsyJb70.net] 誤読とか以前にわかりにくすぎるわ 一体何がいいのか
556 名前:デフォルトの名無しさん mailto:sage [2020/04/23(木) 01:00:46.60 ID:tvgCM2UH0.net] 今さらcsvの命名にケチつけるなんて、極論が好きな反抗期なんだろ 中身のないプロシージャの意味とか、それ質問する理由も書かないしな
557 名前:デフォルトの名無しさん (アウアウウー Saab-AGUX) mailto:sage [2020/04/23(Thu) 02:10:50 ID:q29uZhI+a.net] >>548 あるかないかならある
558 名前:デフォルトの名無しさん mailto:sage [2020/04/23(木) 02:29:45.14 ID:4BIs3zJP0.net] >>542 バーカw VBAで5000/hの仕事なんてあるわけ無いだろw ニートはこれだからw 御託? お前が"引き継ぎ"という言葉の使い方について反論出来なくなっているわけだがw 反論あるならどうぞw >>510 での過去形について、分からんのか? レスもまともに読めないのか。 >>477 を読めw 引用に>>使うアホはいない。
559 名前:デフォルトの名無しさん (スップ Sd9e-Op/G) mailto:sage [2020/04/23(Thu) 03:04:53 ID:Yau2aIj5d.net] 木曜日にワッチョイが切り替わるんだよなあ めんどくせえ
560 名前:デフォルトの名無しさん (ドコグロ MM46-f1XF) mailto:sage [2020/04/23(Thu) 05:14:45 ID:Bp33q84zM.net] > 今、他人のそういうコードで四苦八苦してる。 ↓ > ついでに言っとくと、正直に言えばたった今じゃねえ。 > 2週間程度前の話だ。 なんだそのバレバレな言い訳はw 流石に恥ずかしくないのか? そもそもそれが本当だったとしても>>476の > 出来てるから今、四苦八苦してるんだが。 が意味不明なのは変わらんし 何ができて、何に四苦八苦してるのか書いてみ > 引用に>>使うアホはいない。 まじでわかってないのかよ… 自分自身への引用を明示してるだけだぞ 馬鹿すぎるわ
561 名前:デフォルトの名無しさん (オッペケ Sr39-xf6K) mailto:sage [2020/04/23(Thu) 08:02:32 ID:WPkfNDtBr.net] VBA質問スレで必死になるのはちょっと恥ずかしいよなあw
562 名前:デフォルトの名無しさん mailto:sage [2020/04/23(木) 09:42:16.36 ID:4BIs3zJP0.net] >>555 日本語勉強しろw 言い訳? 何を言ってる? 何の言い訳だよw 四苦八苦してる(た)ことに何も変わりはないぞ。 これのどこが言い訳になるんだ? 2週間前に四苦八苦してたとしても、こういう掲示板で発言する時は今四苦八苦してると発言することは十分あり得ると>>477 で言ってる。 発言の主旨が変わらないからな。 そして、それがお前に何か指摘されたとか、自己弁護の為に言っているわけじゃないことは時系列から明白。 言い訳?
563 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/23(Thu) 09:51:26 ID:4BIs3zJP0.net] >>555 解析する時間もドキュメント作成する時間も費用も貰っているが他人のコード解析するのに四苦八苦してるんだがね。 これのどこが変なのかさっぱり分からん。 何ができて何に四苦八苦してるかの前に、お前は俺が何が出来てないと思ってるのか言えよ。 今までの話じゃ、お前の主張は解析する時間、ドキュメント作成する時間や費用を貰うと四苦八苦することが無くなるということのようだが、そんなこたあねえぞ。
564 名前:デフォルトの名無しさん (ドコグロ MMa8-f1XF) mailto:sage [2020/04/23(Thu) 09:51:33 ID:dNGhRpxuM.net] >>557 「何ができて」の説明が一切なくて失笑
565 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/23(Thu) 09:52:35 ID:4BIs3zJP0.net] 自分自身への引用でも>>なんて使わん。 >で十分だし、普通。
566 名前:デフォルトの名無しさん (ドコグロ MM46-f1XF) mailto:sage [2020/04/23(Thu) 09:55:24 ID:TqAmz8xEM.net] >>558 ドキュメント作成してるのに四苦八苦してるなら役に立たないドキュメントを作ったお前がアホなだけだけど? あと、せめてレスを1つにまとめろよ なぜかバカは同じ内容に複数レスで返すんだよな まあ低能にまとめる能力を期待しても無駄かなw
567 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/23(Thu) 09:55:54 ID:4BIs3zJP0.net] >>559 バーカw 先にお前が、俺の何が出来ていないと思ってるのか説明しろ。 お前が俺の話のどこが理解出来て無いのかはこっちにゃ分からんのだよ。
568 名前:デフォルトの名無しさん (ドコグロ MM36-f1XF) mailto:sage [2020/04/23(Thu) 09:56:33 ID:6OPJP51MM.net] >>560 自身のレスとお前のアホレスを混同されたくないだけw
569 名前:デフォルトの名無しさん (ワッチョイ 4642-PxOI) mailto:sage [2020/04/23(Thu) 09:57:01 ID:BmbwEUgo0.net] いつまで続くんだコレ
570 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/23(Thu) 09:57:12 ID:4BIs3zJP0.net] >>561 バカ? 本当にバカ? 解析してドキュメント作るんだよ。 解析に四苦八苦してるんだぞ。 嗤えるわw
571 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/23(Thu) 09:58:37 ID:4BIs3zJP0.net] >>563 そんなもんは内容でわかる。 というか、むしろ邪魔で分かりにくいから>>541で指摘してるんだが。
572 名前:デフォルトの名無しさん (ドコグロ MM40-f1XF) mailto:sage [2020/04/23(Thu) 10:00:29 ID:80sunLmwM.net] >>562 アホなの? >>476の「できてるから」の説明しろって話 自分で書いたことも理解してないのかよw
573 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/23(Thu) 10:03:00 ID:4BIs3zJP0.net] >>567 だから、金と時間を貰ってるというのが出来てると言ってる。 やり取り理解出来てる? お前の指摘はまともな会社なら金と時間を貰ってるというものだった筈だが。
574 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/23(Thu) 10:09:52 ID:4BIs3zJP0.net] 最低限、やり取りから解析に四苦八苦してるというのはまともな奴なら分かる筈なんだが。 とすれば、お前の言う金と時間を貰って、今まさにドキュメント起こす為の解析中(だった)なのが分かる筈。 これが前提なんだからドキュメントが既に出来上がってるなんてアホな誤解してたことは無いと信じたい。
575 名前:デフォルトの名無しさん (オッペケ Srea-xf6K) mailto:sage [2020/04/23(Thu) 10:18:34 ID:pyQ+IxFJr.net] 関係ない人はこいつらをNGにすればいいで
576 名前:デフォルトの名無しさん (アウアウエー Sa6a-BE4G) mailto:sage [2020/04/23(Thu) 10:24:08 ID:EgVweMy+a.net] まだやってるのか 完全に自粛ストレスだろうな
577 名前:デフォルトの名無しさん (ドコグロ MM46-f1XF) mailto:sage [2020/04/23(Thu) 10:29:06 ID:TPtGWxWfM.net] >>566 専ブラで引用の引用したことないのか? まあその手の文句は専ブラの作者に言ってくれ >>568-569 > だから、金と時間を貰ってるというのが出来てると言ってる。 あれ? > 調査費用と時間貰ってドキュメント起こすことになっても四苦八苦は変わらん。 って糞ドキュメントしか作成できないアホって自白してますけど? 発注した客可哀想 まあ脳内だろうから問題ないか… > やり取り理解出来てる? うん、どんどんボロが出てるねw
578 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/23(Thu) 11:08:06 ID:4BIs3zJP0.net] >>572 ??? ドキュメント作るための解析に四苦八苦してるのと、出来たドキュメントの出来に何の関係が? お前がドキュメント作ったこと無いのがこれでバレたw
579 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/23(Thu) 11:11:09 ID:4BIs3zJP0.net] 何か、お金と時間貰うとロボットが勝手に解析してドキュメント作ってくれると思ってるアホがいるようだ。
580 名前:デフォルトの名無しさん mailto:sage [2020/04/23(木) 11:14:19.21 ID:4BIs3zJP0.net] というか、解析に苦労しないんだったら、糞コードなんて言葉は無い筈なんだ。 どんなコードでも誰にでも理解出来て楽に読めるんだったら、綺麗なコードを心がけるというモチベーションすら起こらない。
581 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/23(Thu) 11:21:51 ID:4BIs3zJP0.net] >>572 あと自白っていうのがこれまたおかしい。 最初の主張通り、何ら矛盾が無いんだから自白じゃ無いだろ。 それとも、まだ理解出来て無い?
582 名前:デフォルトの名無しさん (ドコグロ MM40-f1XF) mailto:sage [2020/04/23(Thu) 11:24:06 ID:5d1aUYQtM.net] >>573-574 え゛っ、まじでドキュメント作成で四苦八苦してるって事で誤魔化せるとか思ってるの? > 調査費用と時間貰ってドキュメント起こすことになっても四苦八苦は変わらん。 そうすると何が何と変わらんのか説明できないだろw
583 名前:デフォルトの名無しさん (ドコグロ MM02-f1XF) mailto:sage [2020/04/23(Thu) 11:25:47 ID:RuZIZsvvM.net] >>575-576 レスをまとめることもできない無能 しかも内容スカスカw
584 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/23(Thu) 11:32:54 ID:4BIs3zJP0.net] >>577 えっ? 何度も言ってるのにまだ分からない? 「解析に四苦八苦するのは、時間とお金を貰っても変わらない」という日本語が分からない? 時間と金を貰って無くても、貰ってても、どっちでも四苦八苦はするという意味が理解出来て無かった? 日本人ですか?
585 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/23(Thu) 11:35:35 ID:4BIs3zJP0.net] 日本語が通用しない程だから始末に負えない。 "引き継ぎ"も碌に理解してないぐらいだからな。
586 名前:デフォルトの名無しさん [2020/04/23(木) 12:11:20.51 ID:NJImmJ6MM.net] >>564 これから2週間が山場
587 名前:デフォルトの名無しさん (ワッチョイ 7349-xf6K) mailto:sage [2020/04/23(Thu) 13:25:04 ID:UY53iXGX0.net] うまい
588 名前:デフォルトの名無しさん (ブーイモ MM5e-l81y) mailto:sage [2020/04/23(Thu) 18:35:48 ID:9EduGPIyM.net] レベルの高すぎる人同士での口論はとてももったいない 俺はIf Then ElseとFor nextは辛うじて理解できそうなレベル Do untillとかNextとかloopとか使いこなしたい条件が山ほどあって泣きそうだけど ここの上級者たちは独学で覚えた? 同じ事やろうと調べでもどのサイトもいろんなやり方でどれが良いかも分からない ここで聞くとさらりと答えだしてくれる人ってどういう頭の良さしてんだろ
589 名前:デフォルトの名無しさん (ワッチョイ 0a2f-Hty+) mailto:sage [2020/04/23(Thu) 18:56:32 ID:9prkr8SY0.net] 基本的には場数 よい文章を書くには良い文章をたくさん読め 良いプログラムを書くためには良いプログラムをたくさん読めば良いんだが まあ、よいプログラムをたくさん提供してくれる場がなぁ
590 名前:デフォルトの名無しさん (ブーイモ MMed-l81y) mailto:sage [2020/04/23(Thu) 19:20:59 ID:R7RBEdEaM.net] >>584 ここ見てけばまぁ覚えやすいとか無難で間違いないとかそういったサイトありますか? 広告たくさんのサイトだろうが藁にもすがりたいほど身につけたくて…ノイローゼ気味 俺の業務に絞った時にVBAで何でもやらせようと無理せずに関数はエクセルである程度制御した方が後々メンテが楽なのがわかったので 恐らくloopの使い方を理解しないと絶対に乗り越えられない大きな壁が。。 それを作れたら後は数値の変更や応用でいけそうだけど脳が焼き付いてる
591 名前:デフォルトの名無しさん (スップ Sd9e-Op/G) mailto:sage [2020/04/23(Thu) 20:03:22 ID:6e93QXlJd.net] >>583 本当にレベルが高い人は口論なんかしないんだよ スレを荒らすのはだいたい無職
592 名前:デフォルトの名無しさん (ワッチョイ acce-1Gce) mailto:sage [2020/04/23(Thu) 20:05:39 ID:weP1rIDx0.net] >>585 まずはここにあるサンプルを、コピペせずに自分でキーボードから入力してみ excelvba.pc-users.net/fol6/6_4.html
593 名前:デフォルトの名無しさん (ワッチョイ 0a2f-Hty+) mailto:sage [2020/04/23(Thu) 20:07:24 ID:9prkr8SY0.net] >>585 本買え 初心者むけのをまず数冊 昔はプログラム系の雑誌結構あったんだがなぁ
594 名前:デフォルトの名無しさん (ワッチョイ 91ad-R0M4) mailto:sage [2020/04/23(Thu) 20:16:07 ID:IA7mxVD60.net] >>583 VBAの本って多いから学習しやすいはず プログラマなら他言語の経験から 基本的な制御構文くらいは自然と分かる VBAはプログラム言語としてはやさしい方
595 名前:デフォルトの名無しさん (アウアウエー Sa6a-e618) mailto:sage [2020/04/23(Thu) 21:01:06 ID:72/Ynz/da.net] まずは何をしたいか、エクセルでこんな便利なのを作りたいとか、ヴィジョンをもてれば上達は早いと思う
596 名前:デフォルトの名無しさん mailto:sage [2020/04/23(木) 21:28:22.57 ID:IA7mxVD60.net] そうだね エクセルは小物ツール作りやすいから 実益を兼ねた練習を積めば上達するな
597 名前:デフォルトの名無しさん mailto:sage [2020/04/23(木) 22:53:32.79 ID:nGyVitY00.net] VBAなんて本腰入れてテキストで勉強するにはコスパ悪すぎる言語だと思うが・・・ 「VBA」にやりたいことを付けてググったソースをコピペした方が早くないか?
598 名前:デフォルトの名無しさん (スプッッ Sd7e-1Gce) mailto:sage [2020/04/23(Thu) 23:13:30 ID:/AKn5LJ4d.net] 本を見てプログラミングを勉強する時代は終わりだと思ってる 紙の方が読みやすいと思う人が多いだろうけど、本格的にやろうとしたらオンラインのドキュメントは必須だし、 画面上で文字を読む訓練をして慣れていかないと、いつまでも能率が上がらない
599 名前:デフォルトの名無しさん (ワッチョイ 0a2f-Hty+) mailto:sage [2020/04/24(金) 00:05:26 ID:4FfGWszI0.net] >>592 とりあえず動くものが作れればいいというなら、まあそうだな >>593 学習リソースとしては、本かWEBかに本質的な差はないと思うが 中身の問題で、WEBは本ほど系統立てて編集されていないところが多いと思う 辞書だけで外国語マスターできるような人ならWEBだけでもいいけどな
600 名前:デフォルトの名無しさん (ワッチョイ 91ad-R0M4) mailto:sage [2020/04/24(金) 00:19:26 ID:aTlSrVmc0.net] >>592 >>593 書籍の学習は今でも必要だと 思うしさらにVBAだけでなく 他言語の経験があるといいな VBAのスレで言うのも何だが VBAプロパーのプログラムは 垢抜けない泥臭いのが多くて その辺PHPと同じ感触がする
601 名前:デフォルトの名無しさん (ワッチョイ 7ab5-l81y) mailto:sage [2020/04/24(金) 02:40:01 ID:vJ3u9sjq0.net] >>531 どなたか…四苦八苦して終わりません、、 お時間ある方がいましたらお助けを
602 名前:デフォルトの名無しさん mailto:sage [2020/04/24(金) 03:41:33.98 ID:zeBff4Qi0.net] >>596 そうだな、取りあえず質問する時に相手に伝わるか考えながら質問した方が良いかな。 >元のVBAのフォーマット ??? これは何のこと? 何を言ってるの? シートのコピーで書式だけコピーしたいということ? だったらそんな機能は無いと思うから、あとは工夫でどうにかする。 Rangeの書式だけコピーはあるから、シートの追加と書式だけコピーの複合にするか、俺ならそもそもコピー元の書式を全部コードで実現してシ一トの追加とその書式を実現するコ一ドでやる。 右に追加というのが特定のシート(4月)の右というならコピーだろうがシートの追加だろうがそのものずばりの引数がある。 WorkSheets.Copy、WorkSheets.AddでクグるとMSのぺージが見つかるから、そこにサンプルもある。 一番右に追加していくというなら、上の特定のシートの部分に最後のシートを指定すれば良い。 最後のシートってのはシートの指定方法は名前と番号の2通り有るので、今回は番号で最後を表現する。 最後ってのはシート数が7個あれば7番目になる。 この場合の7個ってのはシートの個数。 シートの個数はこれまたそのものずばりのプロパティがある。 (これも上のページのサンプルそのもの。)
603 名前:デフォルトの名無しさん mailto:sage [2020/04/24(金) 04:14:59.23 ID:zODr3mBK0.net] >>531 5回読んだけど理解不能 画像や絵使って説明してほしいわ
604 名前:デフォルトの名無しさん (ワッチョイ 2e9a-2b7E) mailto:sage [2020/04/24(金) 09:43:49 ID:5xvA7bcI0.net] >>583 いつも同じこと感じています
605 名前:デフォルトの名無しさん mailto:sage [2020/04/24(金) 12:06:13.25 ID:EzpkTm1A0.net] 他の人は知らんが俺は独学でコマンドマニュアル見たり参考書買ったりしてた 例えば数値でも加算を繰り返してどこでエラーがでるかとかを 実際にサンプル作って実行することをひたすら満足いくまで繰り返したりしたな 学校の勉強と並行してやってたからいつも寝不足だったし
606 名前:デフォルトの名無しさん (ワッチョイ b701-Bsub) mailto:sage [2020/04/24(金) 16:20:00 ID:Enw/zcBV0.net] >>594 学習するのに何が効率いいかっていうよりも、 VBAを学習すること自体に対するリターンって意味でコスパが悪いと言いたかった 特にオフィス製品上でしか実行できない、やりたいことは単純な事が多いっていう特性上、 学習することでググったソースのコピペ以上に得られる物はあるのか?と。 内容を理解することでちゃんとしたコードが書けるってメリットはあるかもしれないが、 VBAで綺麗なコードを書けてもねぇ・・・ VBAのコードを拘るリソースは他に回すべきだ
607 名前:デフォルトの名無しさん mailto:sage [2020/04/24(金) 17:35:34.28 ID:vJ3u9sjq0.net] Sub Macro1() ChDir "c:\tmp" f = Dir("*.txt") c = 1 Do While f <> "" Open f For Input As #1 For r = 1 To 6 Line Input #1, s Cells(r, c) = Split(s, vbTab)(2) Next Close #1 f = Dir c = c + 1 Loop End Sub ここで↑の 「指定した場所に入ってる全てのテキストのエクセル化した時の特定の列と行をエクセルシートに一気に読み込む」 という神の様なコードを教わったものです。 列と行の開始はこのままでいいのですが、テキストの行が空白になるまでエクセルに読み込む というやり方に変える事は可能でしょうか。 これが職場の環境を大きく変えすぎて2人、本当に課からいなくなって現場に飛びました。 効率化しすぎて他でも応用できるようにしろと皆の前で大声で怒鳴られ泣けても知恵が出てこない ゆっくり本読んで覚えていきたいにもまず最優先で作れと室内であんなに大声で怒られて ネットで調べても調べ方すらわかっていなく 異動したい、何卒すみません
608 名前:デフォルトの名無しさん (ラクッペペ MM34-eHaU) [2020/04/24(金) 18:38:54 ID:GFko4FvkM.net] >>601 普段の仕事がExcelならコスパいいだろ
609 名前:デフォルトの名無しさん (ワッチョイ ae01-NnsP) mailto:sage [2020/04/24(金) 18:40:11 ID:zODr3mBK0.net] 一から十まですべて教わらないとできないような人はやめたほうがいいわ 実力以上のコードを教わったところで何も応用できず周囲の期待には応えられない 5chで教えてもらって作りました これ以上は分かりませんって正直に言えばいい
610 名前:デフォルトの名無しさん (ワッチョイ 0a2f-Hty+) mailto:sage [2020/04/24(金) 18:49:29 ID:4FfGWszI0.net] ForをDoにして、NextをLoop Until S=""かな つか、二人分の人件費が浮くような作業なら、ちゃんとした会社にシステム化たのめよ
611 名前:デフォルトの名無しさん (ワッチョイ 0a2f-Hty+) mailto:sage [2020/04/24(金) 18:51:14 ID:4FfGWszI0.net] まあこれで動いたら>>602がさらなるドツボにはまるのをニヤニヤしようぜ
612 名前:デフォルトの名無しさん (オッペケ Sr5f-iTDC) mailto:sage [2020/04/24(金) 18:53:25 ID:K658YEair.net] 効率化して上司から怒鳴られるってどんな職場だ 上司がクソすぎ
613 名前:デフォルトの名無しさん (ワッチョイ 91ad-R0M4) mailto:sage [2020/04/24(金) 19:12:23 ID:aTlSrVmc0.net] 背伸びしても上手くいかないもんだね?
614 名前:デフォルトの名無しさん (ワッチョイ acce-1Gce) mailto:sage [2020/04/24(金) 19:16:29 ID:sF/e/OCE0.net] >>602 ここに解決方法が書いてある https://www.manpowergroup.jp/column/tenshoku/phrases-and-writing-of-change-wish.html
615 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 00:00:18.00 ID:/63/MmUO0.net] コードくれくれ君
616 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 00:25:36.55 ID:gc0CgTOT0.net] 画像上部の21〜20日間隔の日付のセルの塗り潰しを下の1〜30日間隔の日付に塗り潰し変えたいんですがどうしたらいいですか? ・上部をforで2行目の最終列までループ ・ifで塗り潰し判定がTrue ・??? ・??? ・下部をforで2行目の最終列までループ ・ifで対象年月日間隔だったら塗り潰す と、こんなイメージなのかなと思ってはいるんですが、??らへんの処理がわかりません。 https://i.imgur.com/I6hiP5r.png
617 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 00:30:28.43 ID:XJisoOEM0.net] 次から次へと馬鹿が出てくるのはなぜ?
618 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 00:36:47.04 ID:8o24J96M0.net] Functionの任意引数(Optional)なのですが、初期値はstringかlong型のみだけしかダメなのでしょうか? シート名objectの引数で、省略したときにActivesheetを返したいのですが、「定数式が〜」のエラーが出てしまいます。 やはり、IFとIsMissingを使うしかないでしょうか。 Function test(Optional objシート名 As Worksheet = ActiveSheet) End Function
619 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 00:42:53.79 ID:l10aoXHL0.net] そもそも引数とか型の意味理解してる?
620 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 00:44:19.85 ID:7EOq2zNJ0.net] >>613 規定値に使えるのは定数値だけ 変数、プロパティ、関数などは使えない だからActiveSheetも対象外
621 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 00:50:04.58 ID:7EOq2zNJ0.net] >>611 その画像で説明すると、D3:K3をコピーしてC10:J10に書式貼り付けするだけでは
622 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 00:52:04.34 ID:lAut8yEK0.net] >>611 D2からK3をコピーしてC9に貼り付けて C2をK9に貼り付けるだけじゃないの? VBA使わない方が早そうなんだけど
623 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 00:53:34.41 ID:bDeh6DKGd.net] >>611 塗りつぶす条件がわからなければわからない
624 名前:デフォルトの名無しさん (ワッチョイ 4c2c-Hty+) mailto:sage [2020/04/25(土) 00:58:07 ID:a/EKdpBi0.net] >>602 Ruby なら、row.empty? で空行かどうか、判別できるけど require 'csv' CSV.foreach( "input.csv" ) do | row | # 1行ずつ処理 break if row.empty? # 空行なら、終了 puts "#{ row[ 0 ] } : #{ row[ 1 ] }" end 入力ファイル・input.csv あ,いう a,bc 1,23 出力 あ : いう a : bc
625 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 01:41:16.85 ID:7EOq2zNJ0.net] >>602 読み込みを止める条件が空行とEOFの2つになると、とたんに処理が面倒になるんだよな こういう時はLine Inputを別Functionに飛ばすとすっきりするんだけど、とりあえず汚い方法で書いてみた Sub Macro1() ChDir "c:\tmp" f = Dir("*.txt") c = 1 Do While f <> "" Open f For Input As #1 s = "s" r = 1 Do While Not EOF(1) And s <> "" Line Input #1, s If s <> "" Then Cells(r, c) = Split(s, vbTab)(2) r = r + 1 Loop Close #1 f = Dir c = c + 1 Loop End Sub
626 名前:デフォルトの名無しさん (ワッチョイ 1e09-w2of) mailto:sage [2020/04/25(土) 02:03:19 ID:8o24J96M0.net] >>615 そうなのですね、ありがとうございました。
627 名前:デフォルトの名無しさん (ドコグロ MM46-f1XF) mailto:sage [2020/04/25(土) 05:53:44 ID:SWq+pauNM.net] >>613 If 文使うしかないのはその通りだけど IsMissing() は引数の型を Variant にする必要があるのであまり良くない Function test(Optional objシート名 As Worksheet = Nothing) ' Nothing は既定値なので指定しなくてもいい If objシート名 Is Nothing Then Set objシート名 = ActiveSheet End Function ってやるのが定番 ググると同じことをやってる人がいる akashi-keirin.hatenablog.com/entry/2018/03/01/081945
628 名前:デフォルトの名無しさん (ワッチョイ 211f-unif) mailto:sage [2020/04/25(土) 13:56:29 ID:gc0CgTOT0.net] >>616 >>617 名前は下にたくさん羅列してるし、日付も右にもっとずっとあるからVBでやりたい。 日付間隔が上下で違うからどうやったらいいかと思って。 for 上部名前シートループ for 下部名前シートループ if 名前同一 for 上部名前年月日列ループ if 塗り潰し ※下部シート塗り潰し end if next end if next next ※の部分がどう書くのかがわかりません。 >>618 塗り潰す条件は同じ名前の人に対して同じ日付の所へ塗り潰す。
629 名前:デフォルトの名無しさん (オッペケ Sr5f-iTDC) mailto:sage [2020/04/25(土) 14:00:26 ID:jVtajgfWr.net] >>623 元データのc列を消せば良いのでは
630 名前:デフォルトの名無しさん (スフッ Sd94-S0vp) mailto:sage [2020/04/25(土) 14:21:24 ID:y/AcnKi/d.net] >>623 上部のD列から見ていって塗ってあったら下部の一つ左の列を塗る
631 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 20:10:34.52 ID:Z1BPhcf20.net] 下記のコードで出力範囲1と2をまとめるにはどうすればいいでしょうか Set OutputRange = Worksheets("Sheet1").Range("B2:C10") For i = 1 To 9 For j = 1 To 2 For k = 2 To 3 OutputRange(i, j) = WorksheetFunction.VLookup(SerchKey(i, 1), SerchRange, k, False) だとB,C列ともに列番号3をの値になる、というか列番号2で処理した後列番号3でもう一度処理を しているため、すべて列番号3の値になるんじゃないかとは思うのですが、具体的にどう直せば いいか教えていただけるとありがたいです Sub Test() Dim SerchKey As Range '検索値 Dim SerchRange As Range '検索範囲 Dim OutputRange1 As Range '出力範囲1 B列 Dim OutputRange2 As Range '出力範囲2 C列 Dim i As Long Set SerchKey = Worksheets("Sheet1").Range("A2:A10") Set SerchRange = Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A2:C10") Set OutputRange1 = Worksheets("Sheet1").Range("B2:B10") Set OutputRange2 = Worksheets("Sheet1").Range("C2:C10") For i = 1 To 9 OutputRange1(i, 1) = WorksheetFunction.VLookup(SerchKey(i, 1), SerchRange, 2, False) OutputRange2(i, 1) = WorksheetFunction.VLookup(SerchKey(i, 1), SerchRange, 3, False) Next i End Sub
632 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 20:18:25.81 ID:/63/MmUO0.net] このスレにくる質問見ると、俺に読解力がないのかなといつも思ってしまう
633 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 21:06:29.21 ID:OxGSjC7Q0.net] >>626 VLOOKUPは答えを複数返す関数じゃない
634 名前:デフォルトの名無しさん (ワッチョイ 7c7c-sVZV) mailto:sage [2020/04/25(土) 21:14:48 ID:OxGSjC7Q0.net] あ、質問の意味が今わかったわ 入れるセル変えずに関数の列番だけ変えてたらそりゃ同じ値しか入らない 中身がどうなってるか想像じゃなくて実際に確認すればどう直せばいいかわかるだろう
635 名前:デフォルトの名無しさん (ワッチョイ bb5e-1Gce) mailto:sage [2020/04/25(土) 22:19:20 ID:Z1BPhcf20.net] 質問が説明不足だったようで失礼しました 出力範囲が複数列ある場合にそれぞれの列を「出力範囲1」「出力範囲2」と設定していけばいいという ところまではわかったのですが、検索範囲が100列、出力範囲が99列、というように数が多くなった場合、 出力範囲のB列には検索範囲の列番号2 OutputRange1(i, 1)…… SerchRange, 2 出力範囲のC列には検索範囲の列番号3 OutputRange2(i, 1)…… SerchRange, 3 出力範囲のD列には検索範囲の列番号4 OutputRange3(i, 1)…… SerchRange, 4 ・ ・ ・ という処理を99行書かずに変数で処理できないでしょうか、というのが質問の意図です
636 名前:デフォルトの名無しさん (ワッチョイ 38ef-1Gce) mailto:sage [2020/04/25(土) 22:58:11 ID:u3Cmop/t0.net] j の役割って何だろう?
637 名前:デフォルトの名無しさん (ワッチョイ 7c7c-sVZV) mailto:sage [2020/04/25(土) 23:00:40 ID:OxGSjC7Q0.net] だから>>626のループの中身がどうなってるか見て順番考えたらいいんじゃないの
638 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 00:49:06.95 ID:1a87l4R/0.net] >>630 同じような処理を繰り返したい時は配列を使う Dim OutputRange(10) As Range '出力範囲 Dim i As Integer For i = 2 To 3 Set OutputRange(i) = Worksheets("Sheet1").Range(Cells(i, 2), Cells(i, 10)) Next みたいな感じで、変数を使えば、何十個あっても簡単にまとめられる
639 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 02:34:49.27 ID:LqR8iAxp0.net] なぜ馬鹿ばっかり来るのか
640 名前:デフォルトの名無しさん [2020/04/26(日) 03:25:04.50 ID:3JmljcZq5] 東大院生と本気数学トーク!!【数学ボーイZ 数学野郎さんコラボ】 https://www.youtube.com/watch?v=787N_AlSI0I 中3で数V先取り!? 京大数学系YouTuber古賀さんに開成中高時代を聞く! https://www.youtube.com/watch?v=npswPUea1-M 開成から京大理学部に進学した理由とは?古賀さんに京大の実態を聞く! https://www.youtube.com/watch?v=I8nWEHhgzxI 高校数学と何が違うの?大学数学でつまずかないためのアドバイス![大学数学準備講座1/4] https://www.youtube.com/watch?v=duXZGbRviG4 数学は「定義」にかえることが大事! https://www.youtube.com/watch?v=yhrUT4bLm7Q 数を創る話〜自然数から複素数への構成〜 https://www.youtube.com/watch?v=dQ2nFUTNchU 高校生でも雰囲気だけ分かるガロア理論 https://www.youtube.com/watch?v=LiPv0VuSvaE 高校生でも雰囲気だけ分かるゼータ関数とリーマン予想 https://www.youtube.com/watch?v=MaerL2XLaqk 【高校生でもわかる】いろいろな積分 リーマン,ルベーグ... https://www.youtube.com/watch?v=jzfaFCDn5JY 大学で本気で学問をしたい人へのアドバイス https://www.youtube.com/watch?v=7G7XbRSdk9k
641 名前:デフォルトの名無しさん (ワッチョイ d4da-1Gce) mailto:sage [2020/04/26(日) 06:16:38 ID:+0ojgInc0.net] 馬鹿ばっかり来るところにいるからじゃね ってか自力でできるやつは質問なんかしないだろ
642 名前:デフォルトの名無しさん (ワッチョイ 9602-TRCj) mailto:sage [2020/04/26(日) 09:08:46 ID:rBKIu5KT0.net] >>636 それググレカスキッズだと思う >>612
643 名前:デフォルトの名無しさん (ワッチョイ 2c7f-KNAb) mailto:sage [2020/04/26(日) 10:18:45 ID:LS9zyJ5J0.net] 複数あるコマンドボタンをどれを押しても一つの処理に入り、押されたボタンを取得して、ボタンごとに判断処理ってできないのでしょうか。(activeXです) 具体的にはシリアルポートの処理で以下のことをやりたいです。 コマンドボタンが機器名、その機器ごとに存在する複数のコンボボックスにポート名やボーレートを設定。 あるコマンドボタンを押したら、対応するコンボボックス郡の設定を取得してポートを開く。(ポートオープンはモジュールに記述したWritefileでやってます) ポートオープンで返ってきたハンドラが例外でなければ、押されたコマンドボタンの色を変更し、名前を"機器名+接続中"に変更。 また、コマンドボタンを押した時点で対応ポートのハンドラが存在すれば、そのポートを閉じて(ハンドラも初期化)、押されたコマンドボタンの色を戻す。 現在はボタンごとのプロージャを作成し、同じような処理を逐一書いてますが、機器が複数あって大変見にくいのと、記述が大変なのでまとめたいです。
644 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 10:39:23.22 ID:oDDaXD960.net] >>638 それ、まともにやろうとするとかなり上級レベル。 上級者を自認する人でも出来ない人が結構いる。
645 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 10:39:50.30 ID:1a87l4R/0.net] >>638 「コントロール配列」でぐぐれ www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_100_040.html
646 名前:デフォルトの名無しさん (ワッチョイ acce-1Gce) mailto:sage [2020/04/26(日) 10:44:46 ID:1a87l4R/0.net] >>638 同じような処理なら、ボタンクリックのイベントの中で変数にボタン名を設定してから、別に用意した共通部分のSubを呼び出せばいい ヒント woodbook.kir.jp/excel/vba/button_row.html
647 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 10:46:58.47 ID:oDDaXD960.net] おっ、それを貼るとは。 じゃあ、俺も。 以下の一連を全て理解し、使いこなせれば大分変わる。 addinbox.sakura.ne.jp/Breakthrough_P-Ctrl_Arrays.htm
648 名前:デフォルトの名無しさん (ワッチョイ 2c7f-KNAb) mailto:sage [2020/04/26(日) 11:53:55 ID:LS9zyJ5J0.net] ありがとうございました 手っ取り早くやれそうな感じではなさそうです
649 名前:デフォルトの名無しさん (ワッチョイ 3563-Btmo) mailto:sage [2020/04/26(日) 12:03:24 ID:3XXXGp1c0.net] >>640 懐かしいなコントロール配列 昔はよく使ったが最近使ってないな
650 名前:デフォルトの名無しさん (ワッチョイ 0791-2b7E) mailto:sage [2020/04/26(日) 12:07:36 ID:oDDaXD960.net] >>643 一応言っておくと、途中迄なら出来るかもしれないし(それで十分かも)、読み物としても読んどくと良いと思う。
651 名前:デフォルトの名無しさん (ワッチョイ 2c7f-KNAb) mailto:sage [2020/04/26(日) 14:41:44 ID:LS9zyJ5J0.net] >>643 紹介頂いたサイトの大元になるmougを参考にして押したボタンの色変えぐらいまでしかできません この処理にシート画面上のコンボボックスの値を関連付けて取得する仕掛を入れたいのですが検討つかず
652 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 15:58:20.12 ID:io10sll9a.net] 各ボタン押した最初の処理だけわけて 引数つけて共通処理に飛ばせばよくね
653 名前:デフォルトの名無しさん (ワッチョイ 7ab5-l81y) mailto:sage [2020/04/26(日) 18:40:06 ID:IAQJrydO0.net] 全部ここの人達のおかげで完全に憑き物が取れて教えて貰ったURLと持ってる本を参考にひたすら初歩のルールから愚直に 打っては実行を繰り返し練習してます Do loop For next 特にこれの破壊力は凄いですね これだけの為に覚える価値すらあると感じました あとはmsgboxの使い方の面白さ 感謝しかないです Do loopでwhileとuntilがあるけどよほど複雑でない場合 書き方変えるだけで同じ処理させられる感じですが 基本どっちかでで使い方覚えていったほうがいいものですかね 質問というよりただただ楽しくここの上級者たちにも癖だったり自分ルールがあるのかなと ああ楽しい
654 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 19:35:22.95 ID:1a87l4R/0.net] >>648 繰り返す条件が明確な場合はwhile、終了条件に着目した方が処理の流れがわかりやすい場合はuntil 適切に使い分けると、プログラム全体が読みやすくなって間違いが減る
655 名前:デフォルトの名無しさん (ワッチョイ acce-1Gce) mailto:sage [2020/04/26(日) 19:37:28 ID:1a87l4R/0.net] よくない例 While Not 終了条件 適切な例 Until 終了条件
656 名前:デフォルトの名無しさん (ワッチョイ 7ab5-l81y) mailto:sage [2020/04/26(日) 20:25:45 ID:IAQJrydO0.net] >>650 Sub ループwhile() Dim i As Long i = 1 Do While Cells(i, 1) <> "" Cells(i, 3) = Cells(i, 1) + 10 i = i + 1 Loop MsgBox i & "回whileでループ" End Sub Sub ループuntil() Dim i As Long i = 1 Do Until Cells(i, 1) = "" Cells(i, 3) = Cells(i, 1) + 10 i = i + 1 Loop MsgBox i & "回untilでループ" End Sub なるほど、空白になるまでループってのを練習してました 後者の方が一般的ですかね 勉強になります。
657 名前:デフォルトの名無しさん [2020/04/26(日) 21:08:58.39 ID:RAbG8RW6a.net] 僕は wihle しか使わない 理由は c言語にないから あと、なんとなくだけど、wihle と until は混ぜて使わない方がよい気がする いや、混在する人がいても文句は言わないと思うけど
658 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 21:11:31.65 ID:RAbG8RW6a.net] >>652 651 ですが、 理由は until はc言語にないから です すみません
659 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 21:21:03.37 ID:wya5Zv+N0.net] ド・モルガンの法則なんてのを知ってるとループ条件が 劇的に易しく書けるようになったりするよ
660 名前: mailto:sage [2020/04/26(日) 21:43:11.03 ID:Whjp3eXS0.net] >>654 ドモルガンは法則ではなくて公理すなわち前提条件なのでは?
661 名前:デフォルトの名無しさん (ワッチョイ acce-1Gce) mailto:sage [2020/04/26(日) 22:54:36 ID:1a87l4R/0.net] Not Is Nothing 英語の否定文って日本語とロジックが違うから直感的にわかりにくい
662 名前:デフォルトの名無しさん (アウアウエー Sa6a-1Gce) mailto:sage [2020/04/26(日) 23:37:47 ID:x2OEBIkDa.net] 少なくとも一回実行する必要があるとき until 一回も実行しないかもしれないとき while
663 名前:デフォルトの名無しさん (ワッチョイ b05c-QpYc) mailto:sage [2020/04/27(月) 00:02:16 ID:i1fhLCEO0.net] まぁ大事なのは自分の中でしっかりルールを固めておくこと なんとなくで使い分けてると100%デスマに陥る
664 名前:デフォルトの名無しさん (ワッチョイ 0a2f-Hty+) mailto:sage [2020/04/27(月) 00:02:40 ID:pzY5bj450.net] >>657 VBAでは、それはDo側に書くかLoop側に書くか WhileかUntilかはその条件の意味的なもので使い分けるのが本筋だろうけど 書くときの話ならどちらかに統一するルールでも良いと思う
665 名前:デフォルトの名無しさん (ワッチョイ ca56-nG0h) mailto:sage [2020/04/27(月) 00:32:05 ID:7P4A4QOo0.net] シート1のA1セルにx1、x2、x3と設定し、このx1〜x3をそれぞれx1をB1セルに設定されている値、x2をC2セルに設定されている値に置換するにはどのようにすればよいのでしょうか Replaceでは検索文字列および置換文字列を一つずつ指定できないため、検索したい文字列が増えるたびに処理が無駄に増えてしまうように思うため効率的なやり方を教えていただきたいです
666 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 03:31:04.69 ID:Rq5FZkLb0.net] もっとわかるように説明してもらわんと
667 名前:デフォルトの名無しさん (ワッチョイ ae63-V/Lh) [2020/04/27(月) 04:12:22 ID:NMjdVbpJ0.net] 置換と言ってるからセル参照ではない事だけわかった
668 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 04:51:42.68 ID:o+TU1QYP0.net] 学習能力のないひとがやってきて 説明能力の貧弱さを露呈する場所か・・・
669 名前:デフォルトの名無しさん (ワッチョイ 91ad-R0M4) mailto:sage [2020/04/27(月) 05:03:04 ID:Nsh172gi0.net] >>648 IF文、For文と配列で簡単な処理はこなせる 上級者はまた別のパラダイムで書いているが 先走る必要もなく基礎を確実に身につけよう >>655 ド・モルガンは定理になることが多いが そうなるのは公理系しだいだから 名前がおかしいと感じたことはない
670 名前:デフォルトの名無しさん [2020/04/27(月) 06:05:48.59 ID:XYadQOO00.net] >>660 非効率なコードを上げてくれ
671 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 06:24:43.93 ID:3fBcsBz5r.net] >>660 select case
672 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 08:38:39.18 ID:MOHWKMXM0.net] >>660 x3をd3に入れる 置換にこだわらず、代入しなおす
673 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 09:24:40.63 ID:JVYKLC34M.net] ワークシート名をsheet(i)みたいな感じで配列に格納して、 for i=i to X sheet(i).cell(row,col) = data next の様な、ループで各シートのセルに値を代入する方法を教えていただけないでしょうか。
674 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 10:44:49.67 ID:p6J78QU70.net] >>668 実際の要件知らんが、普通はもっといい方法があると思うが、質問通りに。 https://i.imgur.com/SdMgpZq.png
675 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 10:47:33.37 ID:o+TU1QYP0.net] Dim i As Integer For i = 1 To 3 ThisWorkbook.Worksheets(i).Cells(1, 1) = 1 Next i で済むようなものだと予想
676 名前:デフォルトの名無しさん (ワッチョイ 0101-K+B8) mailto:sage [2020/04/27(月) 13:38:56 ID:JH5ykH9R0.net] ・ツールの作成 ・バク対応、修正業務 ・各種テスト VBAを用いて上記の業務を行う場合、皆さん(自分の取り巻く環境以外)の現場で求められる頻度や重要度が高いスキルや業務を伺いたいです。 よろしくお願いします。
677 名前:デフォルトの名無しさん [2020/04/27(月) 15:07:52.31 ID:VtI6ihiD0.net] >>671 馬鹿は死ね
678 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 15:33:05.22 ID:uroKfm2Gd.net] >>668 何でシート名で配列なの? 既にシートオブジェクトの配列として使えるのに。
679 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 15:35:59.76 ID:MOHWKMXM0.net] >>668 シート名は普通に列挙したいんだと思った コード内に記述したいのか: sheet=Array("hoge","fuga","piyo","puyo") セル内に記述したいのか: sheet=WorksheetFunction.Transpose(WorkSheets("hoge").Range("a1:a4")) どうか、わかんないけど
680 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 15:36:24.43 ID:uroKfm2Gd.net] >>671 そいつは現場次第だよねえ。 現場に併せて何でも出来るってことかな。 AccessならSQLは必須だと思うけど。
681 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 16:19:32.17 ID:JH5ykH9R0.net] >>672 生きる!!! >>675 自分の周り以外だとどんなことにVBA使ってるか気になりましてね。他意はマジでなくて、単純な興味として質問してみますた。
682 名前:デフォルトの名無しさん (JP 0H34-GHE+) mailto:sage [2020/04/27(月) 17:19:41 ID:H2efCY7TH.net] 既存のVBAをどうしてもメンテせざるを得ないときに使う 新規に使うことはない
683 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 18:02:05.74 ID:fDdETITO0.net] ちょっとデータを加工したい時、軽い処理とか1回限りの計算はVBAでやってる VisualStudioはその場限りの捨てコードを書くには大げさすぎる
684 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 18:06:27.58 ID:JnEQ074MM.net] >>678 そんな貴方にPowershellオススメ
685 名前:デフォルトの名無しさん (ワッチョイ 0101-K+B8) mailto:sage [2020/04/27(月) 18:40:53 ID:JH5ykH9R0.net] >>677 >>678 レスありがとうございました。 ちょっとした作業を手軽に(環境構築とかなしで)効率化するときに使ってるってのが分かりました。 何気なく使ってるから頻度も重要度もクソもないと
686 名前:デフォルトの名無しさん [2020/04/27(月) 19:15:08.58 ID:XYadQOO00.net] 昔は「値で貼り付け」とかキー割り当てしてたけど最近のは割と便利になったから使ってないな 他には初回印刷日の挿入とか ファイルプロパティにタイトルの設定とかかな
687 名前:デフォルトの名無しさん (ブーイモ MMfd-enkp) [2020/04/27(月) 20:04:15 ID:GiQWIPCuM.net] 「値で貼り付け」に関して最近のはどう便利になってるの?
688 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 20:24:28.01 ID:Jy0k1GG60.net] VBAでの開発依頼がしょっちゅう来る…
689 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 20:30:04.12 ID:XYadQOO00.net] >>682 https://i.imgur.com/xIc2Szq.jpg
690 名前:デフォルトの名無しさん [2020/04/27(月) 20:34:34.60 ID:z3LiCQZGM.net] 配列を使った方が良い場合ってどんな時?
691 名前:デフォルトの名無しさん mailto:sage [2020/04/27(月) 20:48:23.14 ID:XYadQOO00.net] >>685 相手は誰だ? ワークシート? Dictionary? CSV文字列?
692 名前:デフォルトの名無しさん (ワッチョイ 0101-K+B8) mailto:sage [2020/04/27(月) 23:24:48 ID:JH5ykH9R0.net] >>681 自分の素朴な疑問に答えてもらってありがとうございます。
693 名前:デフォルトの名無しさん (ワッチョイ 7a4b-R0M4) mailto:sage [2020/04/27(月) 23:26:56 ID:g7wz6Zov0.net] ここの人ら凄い、 いつも感心しながら読んでるけど本当に勉強になる。 これだけ知識や経験あるならユーチューバ―とかになって上手くやれば副業も出来そう
694 名前:デフォルトの名無しさん (ワッチョイ acce-1Gce) mailto:sage [2020/04/27(月) 23:27:29 ID:fDdETITO0.net] >>685 処理したい変数がたくさんあって繰り返し同じことをする時 処理したいセルがたくさんあって繰り返し同じことをする時
695 名前:デフォルトの名無しさん (ワッチョイ acce-1Gce) mailto:sage [2020/04/27(月) 23:28:15 ID:fDdETITO0.net] office田中もいつのまにかyoutuberになってたけど、こんなおじいちゃんだとは思わなかった
696 名前:デフォルトの名無しさん (ワッチョイ 64ad-Btmo) [2020/04/27(月) 23:42:25 ID:RTbdScdC0.net] VBAを本を読んだりググったりして勉強中です。 他社システムからいただくCSVファイルをExcelに取り込んで編集する必要があります。 頭にゼロが付いて、長さが不定の数字のフィールドがあるので、そこは文字列で 扱わなくてはならず、そのままExcelで開けません。 querytables.add でインポートしてみたところ、セル内改行の含まれる列があるため、 1行であるべきデータが2行になってしまいます。 POWERQueryを使えば回避できる、という情報にに突き当たり、とりあえずマクロの 記録をしてみて、使えるように変えられないか、と思いましたが行き詰っています。 「ソース = Csv.Document(File.Contents(””CSVのパス””),… 」 のCSVのパスの部分を変数にしたいのですが、変数にすると 「 .Refresh BackgroundQuery:=False」のところで [Expression error] インポート 変数 がエクスポートと一致しません。モジュールの参照が漏れていませんか?」 と親しげだけど、冷たく突き放されます。 知識が足りなさすぎるのですが、データをきれいにして早く次の処理を作らなくては いけなくて焦っています。 先輩たちはテレワークで、あまり質問もできず困っております。 どうぞよろしくお願いいたします。
697 名前:デフォルトの名無しさん (オッペケ Sr5f-HrHD) mailto:sage [2020/04/27(月) 23:45:46 ID:3fBcsBz5r.net] >>690 再生数少ないけど分かりやすいから初心者は見るべきだと思う schooのは微妙だけど
698 名前:デフォルトの名無しさん (ワッチョイ 4c2c-iUOt) mailto:sage [2020/04/28(火) 01:18:35 ID:7QVY/xgO0.net] >>691 Ruby なら、以下をscript.rb に書いて、 CSV データを、input.csv に書いてある時、 ruby script.rb input.csv と、シェルで実行すると、 require 'csv' file_path = ARGV[ 0 ] # 引数には、CSVファイルパスを渡す。input.csv # CSV ファイルを、1行ずつ処理する CSV.foreach( file_path ) do |row| puts "#{ row[ 0 ] } : #{ row[ 1 ] }" end 入力・input.csv あ,いう a,bc 出力 あ : いう a : bc
699 名前:デフォルトの名無しさん (ワッチョイ 7ab5-l81y) mailto:sage [2020/04/28(火) 02:18:31 ID:wtscQEd50.net] Sub ループuntil() Dim g As Long g = 3 Do Until Cells(g, 2) = "" Cells(g, 6) = Cells(g, 2) + Cells(g, 3) * 10 g = g + 1 Loop Dim ms As String ms = MsgBox(g & "回ループ", vbYesNo, "どうやら") If ms = vbYes Then MsgBox "更に練習", vbYesonly, "じゃあ" Else MsgBox "論外", vbYesonly, "てめーは" End If End Sub 何とか練習しつつ ここにきてデータ型が逆に混乱してきましたわ バリアントでごまかそうかな おやすみなさい
700 名前:デフォルトの名無しさん (ワッチョイ d98e-A1EL) mailto:sage [2020/04/28(火) 02:51:59 ID:ro9Vnp/Q0.net] >>691 こんな馬鹿に仕事をさせるのが間違い
701 名前:デフォルトの名無しさん (ワッチョイ acce-1Gce) mailto:sage [2020/04/28(火) 03:02:31 ID:OG4s1hHd0.net] >>694 これ、そこらの入門書にはなかなか書いてないんだけど、MsgBoxの結果はVbMsgBoxResultという特殊な型なので、変数msはこう宣言するのが正解 Dim ms As VbMsgBoxResult この宣言を書いてからコードを書くと、 If ms = ここまで入力すると自動的に、vbYesとかvbNoなどの選択肢が出てくる
702 名前:デフォルトの名無しさん (ワッチョイ 66e6-iUOt) mailto:sage [2020/04/28(火) 04:56:00 ID:Ok+k67Xa0.net] Select Case "CSVファイルをExcelに取り込む" Case "直接開く" MsgBox "0 padding" Case "querytables" MsgBox "inline CR" Case "POWERQuery" MsgBox "Syntax Error" Case "先輩たち" MsgBox "テレワーク" Case "2ch" MsgBox "ググレカス" Case "自分" MsgBox "勉強中" End Select
703 名前:デフォルトの名無しさん (ワッチョイ 91ad-R0M4) mailto:sage [2020/04/28(火) 05:30:30 ID:CHpsAleC0.net] >>690 VBAは年齢層高いだろ? Pythonとかより
704 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 06:23:10.14 ID:fDIatR4a0.net] 最近csvを開くのがはやってるみたいだけど、拡張子をtxtに変えて開き直すといいよ
705 名前:デフォルトの名無しさん (ワッチョイ 048f-1Gce) mailto:sage [2020/04/28(火) 08:10:33 ID:uR1kyCkX0.net] >>671 ぜ・ん・ぶ
706 名前:デフォルトの名無しさん (スッップ Sd70-bbQE) mailto:sage [2020/04/28(火) 08:27:27 ID:F6rfqhbJd.net] >>685 速度アップの為にあえて使うのはVariant配列。 配列にすることに全く違和感が無いので、"あえて"使うことが少ない。 配列にするのに自然なことがたくさんあるし、普通に使ってる。
707 名前:667 (ワッチョイ 2c7f-So6t) mailto:sage [2020/04/28(火) 13:36:09 ID:1XDByXps0.net] ありがとうございました。 できました。
708 名前:デフォルトの名無しさん (ワッチョイ 7349-xf6K) mailto:sage [2020/04/28(火) 13:57:24 ID:0tfnjkqK0.net] いえいえ
709 名前:デフォルトの名無しさん (ブーイモ MM5e-43Dx) mailto:sage [2020/04/28(火) 17:53:56 ID:YPs9lugpM.net] Sub テキスト抽出() ChDir "c:\tmp" f = Dir("*.txt") c = 1 Do While f <> "" Open f For Input As #1 Line Input As #1,s s = "s" r = 1 Do While Not EOF(1) And s <> "" Line Input #1, s If s <> "" Then Cells(r, c) = Split(s, vbTab)(5) r = r + 1 Loop Close #1 f = Dir c = c + 1 Loop End Sub
710 名前:デフォルトの名無しさん (ブーイモ MM5e-43Dx) mailto:sage [2020/04/28(火) 18:04:37 ID:YPs9lugpM.net] ここで教えて頂いた>>704の「指定Path内の全txtデータのF列2行目から下に数値が続く限りシートに全部抽出する」コードのお陰で憑き物が取れて運用してるのですが たまに画像の様な他の列に行がはみ出したデータがあると 実行時エラー'9': インデックスが有効範囲にありません で止まりますが これを「他の列がどうだろうがtxt内のF2から下に数値が続く限り抽出」 に改良するのは難易度高いですか? というかコードで可能でしょうか 入門編の本には載って無く数字変えたりwhileの位置変えたりしてますが簡単にいくはずもなく 参考になるサイトなどありましたら教えて頂けませんでしょうか ↓こんなデータが混じってるとエラーで止まります https://i.imgur.com/194ePDL.jpg
711 名前:デフォルトの名無しさん (アウアウウー Saab-/zYc) mailto:sage [2020/04/28(火) 18:19:12 ID:uYkVg/g/a.net] >>704 まんなかへんのdo while の後ろはかっこをつけたほうがいいよ 判定の対応がわかりにくいので
712 名前:デフォルトの名無しさん (ワッチョイ 7a4b-R0M4) mailto:sage [2020/04/28(火) 18:35:05 ID:yXtY+D7s0.net] >>690 元々有名な人なんだね。 投稿動画多くてあれこれクリックしてるうちにどんどん登録者数が伸びてったからビックリした。 最初見た時は5000ぐらいだったのに、さてどこまで伸びるかな。
713 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 19:06:29.99 ID:fDIatR4a0.net] >>705 >If s <> "" Then Cells(r, c) = Split(s, vbTab)(5) この行、最後に(5)ってついてるでしょ 読み込んだデータに5+1番目(0スタートだから+1)の要素が無かったら、どうなると思う? ここは、splitの結果を一旦配列変数に受けて、配列の大きさを確認する判定をいれるといいよ 実を言えば、s<>"" の判定も不要だったりもする
714 名前:デフォルトの名無しさん (ワッチョイ 048f-1Gce) mailto:sage [2020/04/28(火) 19:48:07 ID:uR1kyCkX0.net] 都道府県別の7日移動平均線を出すグラフ組めないかなあと 思って、
715 名前:「都道府県別の日々新規感染者数」を探したけど見つからん…。 なんで役人は pdf にしたがるんだろう。 [] [ここ壊れてます]
716 名前:デフォルトの名無しさん (ブーイモ MMed-43Dx) mailto:sage [2020/04/28(火) 20:13:54 ID:ZPYYxv13M.net] >>708 正直ほとんどさっぱりわからないです。 が、ありがとうございます。そこらへんをいじればなんとかしろなりそうってことですかね。 まだ変数の使い方もよくわかってないのでsplit関数で検索して集中的に勉強していじれるようにがんばります。
717 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 21:00:00.12 ID:CHpsAleC0.net] >>707 VBAはハードル低くて エクセルが実用的だから ユーザが多いんだろう
718 名前:デフォルトの名無しさん (ワッチョイ 4c2c-iUOt) mailto:sage [2020/04/28(火) 22:51:18 ID:7QVY/xgO0.net] データは、PDF じゃなくて、アプリで処理しやすいように、 同じ場所に、CSV ファイルも置いておくのが基本! 役人は、データ処理の素人w
719 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 23:02:38.82 ID:IT0hJXXxM.net] EOF関数? なんじゃこりゃ
720 名前:デフォルトの名無しさん [2020/04/28(火) 23:21:24.84 ID:7mVXavmj0.net] >>709 各都道府県毎にオープンデータでCSV配布してるのに何言ってんだ?
721 名前:デフォルトの名無しさん (ワッチョイ e709-LlFz) mailto:sage [2020/04/29(水) 01:03:36 ID:j7HdUAEO0.net] VBAから参照設定をせずにoutlookを操作しようとしていますが、 「Set mailItemObj = oApp.CreateItem(oApp.olMailItem)」のところで、 「オブジェクトは、このプロパティまたはメソッドをサポートしていません。」と エラーが出てしまいます。どうすれば解決できますでしょうか。。。 Sub sendmail_sample1() Dim oApp 'As NEW Outlook.Application OutlookのApplication Dim myNameSpace 'As Outlook.NameSpace Dim myFolder Set oApp = CreateObject("Outlook.Application") 'VBAで参照設定をした場合は不要 Set myNameSpace = oApp.GetNamespace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(9) '---コード1|outlookを起動する Dim toaddress As String '変数設定:To宛先 Dim subject As String '変数設定:件名 Dim mailItemObj 'Outlookで使用するオブジェクト生成 '---コード2|差出人、本文、署名を取得する--- toaddress = Range("B2").Value 'To宛先 subject = Range("B5").Value '件名 '---コード3|メールを作成して、差出人、本文、署名を入れ込む--- Set mailItemObj = oApp.CreateItem(oApp.olMailItem) '★★★ここでエラー mailItemObj.BodyFormat = 3 'リッチテキストに変更 mailItemObj.To = toaddress 'to宛先をセット mailItemObj.subject = subject '件名をセット '---コード7|outlookを閉じる(オブジェクトの解放)--- Set oApp = Nothing Set mailItemObj = Nothing End Sub
722 名前:デフォルトの名無しさん (ワッチョイ c7ce-ts7H) mailto:sage [2020/04/29(水) 01:10:43 ID:ICnUrfUx0.net] >>715 こうかな? Set mailItemObj = oApp.CreateItem(olMailItem)
723 名前:デフォルトの名無しさん (ブーイモ MM2b-EVni) mailto:sage [2020/04/29(水) 01:34:35 ID:L1oMckOiM.net] 配列変数難しすぎて笑える
724 名前:デフォルトの名無しさん (ワッチョイ e709-LlFz) mailto:sage [2020/04/29(水) 01:35:24 ID:j7HdUAEO0.net] >>716 レスありがとうございます。 「変数が定義されていません」エラーが出てしまいます・・・
725 名前:デフォルトの名無しさん (ワッチョイ e709-LlFz) [2020/04/29(水) 01:40:00 ID:j7HdUAEO0.net] >>715です。自己解決いたしました。 olMailItemを値指定でゼロ(0)にしたらできました。。。 謎ですが。。。ありがとうございました。。。
726 名前:デフォルトの名無しさん (ワッチョイ bff7-INiV) mailto:sage [2020/04/29(水) 09:03:38 ID:osglNTbf0.net] 定数ってoutlook.olMailItemみたいに書くんじゃなかったっけCreateObjectで別定義する必要があったはず Excel上だとリファレンス入れないと>>716は機能しない
727 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 09:13:47.90 ID:EmE7DP7rx.net] ただのパラメータ定数参照だから普通に数字を入れればいいだけ olMailItemは0だったかな
728 名前:690 (ワッチョイ a7ad-LlFz) [2020/04/29(水) 09:22:41 ID:sSCyRYOw0.net] >>691です。 みなさんありがとうございました。 もっと勉強します。 >>69
729 名前:7 ちょっと楽しい気持ちになりました。恩に着ます。 [] [ここ壊れてます]
730 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 18:51:15.87 ID:IoQm9XvmM.net] msgboxの使い方 inputboxの使い方 Do loop For next if then else 初歩だけどここらを色々繰り返し勉強してると楽しい msgboxは使い方もっと応用していきたい 楽しみながら勉強するといいですね 他にもっとお勧めの処理ありますかね。 あとさらに低レベルな疑問なんですが vbYesNo vbOkCancel ↑ これってみんな細かに使い分けます? タイトルとメッセージで誘導してあげて elseで何もしないにするとほぼ通じちゃいますよね これも使い分け必須だったりするのでしょうか
731 名前:デフォルトの名無しさん (アウアウウー Saab-NLJ6) mailto:sage [2020/04/29(水) 20:00:57 ID:ZY0E7GgZa.net] やってみればわかると思うが
732 名前:デフォルトの名無しさん (ワッチョイ a75f-rvxR) mailto:sage [2020/04/29(水) 22:30:45 ID:sZxShGZL0.net] メッセージBOXが出ている状態でESCキーを押された時の挙動が違う。
733 名前:デフォルトの名無しさん (ワッチョイ a78e-DBwA) [2020/04/29(水) 23:54:48 ID:GcIsSLnW0.net] >>723 そろそろ馬鹿は死ね
734 名前:デフォルトの名無しさん (ワッチョイ 67ac-fZS3) mailto:sage [2020/04/30(Thu) 00:04:19 ID:UCocORui0.net] vbaって必要に迫られてやることが圧倒的な気がする だからおすすめの処理とか言われてもな
735 名前:デフォルトの名無しさん (JP 0H8f-sYkk) mailto:sage [2020/04/30(Thu) 02:12:11 ID:e+nUl/nvH.net] 同意 VBAは使わなくていいなら使わない方が望ましいわけで、 おすすめと言われると「まずはVBAを使わなくてよい方法を考えること」としか言いようがない
736 名前:デフォルトの名無しさん (ワッチョイ c7ce-ts7H) mailto:sage [2020/04/30(Thu) 03:10:10 ID:mLi4d9n50.net] 道具なんて使う人次第 手作業とワークシート(数式)とVBAと別アプリと、何でやれば一番楽で間違いが起きにくいか比較検討して使い分けるのが理想
737 名前:デフォルトの名無しさん (ワッチョイ c7da-ts7H) mailto:sage [2020/04/30(Thu) 03:36:49 ID:gai1ourp0.net] >>723 きびしめの意見が続いてかわいそうになったので めげずにがんがれ
738 名前:デフォルトの名無しさん (ワッチョイ df01-lZTE) mailto:sage [2020/04/30(Thu) 03:50:06 ID:HupizHgZ0.net] 数式だとすぐぶっ壊されてその修正に手間がかかるのでVBA使うのが好き 仕方なく数式に頼ったとしても、数式を一括修正できるボタンとかVBAで作っちゃってる 数式入ってるセルに保護かければいいじゃんって思うだろ・・・・ そうするとな、なんでここには入力できないんだよ!ってクレームがな、 いや、そこはここのシートのこの値が転記されるようになってて・・・とかいう説明を聞き入れる輩じゃないんだ
739 名前:デフォルトの名無しさん mailto:sage [2020/04/30(木) 04:08:29.30 ID:mLi4d9n50.net] 人に渡すブックなら、VBAは消してシートはバックアップを取っておく 何やったっていじるやつはいじるし文句を言うから、結果だけを渡すようにしとかないと
740 名前:デフォルトの名無しさん (ワッチョイ e7ad-GPK9) mailto:sage [2020/04/30(Thu) 04:41:41 ID:HvDy85U60.net] >>723 >お勧めの処理 VBAが初心者でも簡単に扱えるのは エクセルというGUIがついてるから だけど普通のCUIプログラミングも できると技術的に幅が広がるだろう たとえばPythonとかRubyとかでね
741 名前:デフォルトの名無しさん (ワッチョイ e7ad-GPK9) mailto:sage [2020/04/30(Thu) 04:48:14 ID:HvDy85U60.net] >>731 >>732 複数人利用で関数メインだと すぐぶっ壊されるのは分かる あと壊れなくても長期的には VBAの方が修正が楽だよな? 関数は処理の全体像が不透明
742 名前:デフォルトの名無しさん (ワッチョイ c763-+JA7) [2020/04/30(Thu) 06:40:13 ID:PqPYAyi70.net] まぁ関数でできる処理は関数でした方が処理自体速いんだけどな 悩ましいけどセル保護だけじゃなく列や行を隠しとかもするけど、いじる人は何しようと結局いじるからね… VBAと関数で使い分けしないとVBAはどんだけCPUのコア数あっても1コアでしか動作しないから、重たい処理になると頭打ちになる
743 名前:デフォルトの名無しさん (アークセー Sx5b-apiA) mailto:sage [2020/04/30(Thu) 07:48:59 ID:OrbFqVlKx.net] ワークシート関数が処理の全体像が不明っていってる奴はたぶん関数がセル内できるのを知らないとか、テーブル機能を知らないとか、たぶんそんな感じだろう ワークシート関数もVBAも下手くそに作ればカオスになる
744 名前:デフォルトの名無しさん (ブーイモ MMcf-EVni) mailto:sage [2020/04/30(Thu) 08:27:32 ID:/wWgOKjWM.net] なるべく関数はエクセル内で完結させてる 何かの呼び出しや処理のみにVBAにやらせてる マスター版を個人で持っておく いじられてもよほどのことが無い限り知らんふり
745 名前:デフォルトの名無しさん mailto:sage [2020/04/30(木) 08:46:50.92 ID:HvDy85U60.net] 一年後に処理の内容全部忘れてから もう一回見てご覧? 関数よりVBAの方が分かりやすいから
746 名前:デフォルトの名無しさん (アークセー Sx5b-apiA) mailto:sage [2020/04/30(Thu) 09:38:23 ID:OrbFqVlKx.net] ワークシート関数の見通しが悪いのはシートの使い方や関数の書き方が悪いから テーブルで構造化参照させる 多重ネストをしないように作業列を積極的に使う 多重ネストが避けられない場合ははセル内改行する 静的変数として固定セルを参照する場合は名前付きセルにする こういう配慮をしているかどうかが大切 可読性はVBAと大差ない VBAだって下手に書くと二度とメンテナンス出来なくなる
747 名前:デフォルトの名無しさん (JP 0H8f-sYkk) mailto:sage [2020/04/30(Thu) 10:14:10 ID:dUO320lFH.net] >>738 VBAだけ見りゃ理解できるように書いてあるんならいいさ ハイスキルな君の書くVBAもきっとそうなのだろう ただ、世の中のほとんどのVBAマクロはワークシートのレイアウトに激しく依存しており、 シートと見比べないと意味不明だし簡単に壊れる
748 名前:デフォルトの名無しさん mailto:sage [2020/04/30(木) 10:50:37.55 ID:KvTMWgJl0.net] >>714 そうなの?じゃあ俺の検索力不足だ。 教えてもらえるとありがたい
749 名前:デフォルトの名無しさん (ワッチョイ bff7-INiV) mailto:sage [2020/04/30(Thu) 11:52:42 ID:RI8oXcu50.net] シート連結部分はクラスにしようぜ
750 名前:デフォルトの名無しさん mailto:sage [2020/04/30(木) 18:07:04.25 ID:R8msXZW7a.net] クラスターつくるのか
751 名前:デフォルトの名無しさん (ワッチョイ 2701-F4ic) mailto:sage [2020/04/30(Thu) 20:10:03 ID:6PshQwim0.net] >>738 これは分からんでもないわ
752 名前:デフォルトの名無しさん (ワッチョイ 671d-sUpK) [2020/04/30(Thu) 23:50:21 ID:b9TIw4B40.net] 実務経験1年で月収80万稼げるエンジニアになった理由 https://www.youtube.com/watch?v=DrbbyGsHQic 意識が低いエンジニアこそフリーランスになれ https://www.youtube.com/watch?v=nSEaAJlgjbQ フリーランスエンジニアの週3労働ってどんな感じ? https://www.youtube.com/watch?v=8yjoDCdbzMc ぼくがスキルのない社畜ならこうやって脱する https://www.youtube.com/watch?v=aae8xxbUlMM 初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話 https://www.youtube.com/watch?v=U0OCGRVLFsM プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説 https://www.youtube.com/watch?v=iBOeiSKBIW8 貧乏人こそ社会不適合者 https://www.youtube.com/watch?v=O3BT72BIBJI 元ド貧乏が教える】貧乏を抜け出すための2つの考え方 https://www.youtube.com/watch?v=IRrCgTy3ckc より良いオファー貰ってるのに転職しないとか何考えてるの? https://www.youtube.com/watch?v=i0J6uRhlj7o
753 名前:デフォルトの名無しさん [2020/05/01(金) 00:54:45.32 ID:+DHzH5tv0.net] >>745 この人タイでエッチするため在宅プログラマーになったって言ってるけど うらやましいな
754 名前:デフォルトの名無しさん (ワッチョイ 67ac-fZS3) mailto:sage [2020/05/01(金) 09:08:51 ID:GU+C/Jnt0.net] はいつぎの方
755 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 10:00:32.66 ID:6b7IUzcd0.net] Sub Sample2() Dim Date1 As Date Dim Date2 As Date Dim i As Long Date1 = "2018/1/1" Date2 = "2018/4/30" For i = 0 To DateDiff("d", Date1, Date2) Cells(i + 1, 1) = DateAdd("d", i, Date1) Exit For Next i End Sub VBA初心者です 上記を実行すると強制終了してしまいます どうしてなんでしょうか?
756 名前:デフォルトの名無しさん (ワッチョイ c7ce-ts7H) mailto:sage [2020/05/01(金) 10:50:57 ID:eM3SnLnx0.net] >>748 Exit Forを消す あと、自分のミスで思った通りにならない時は強制終了とは言わない
757 名前:デフォルトの名無しさん (ワッチョイ bff7-INiV) mailto:sage [2020/05/01(金) 12:14:21 ID:gUWwrcBK0.net] "4/30/2018"
758 名前:デフォルトの名無しさん (アウアウエー Sa9f-kSwD) [2020/05/01(金) 13:10:21 ID:n1w4ahs6a.net] #で括ってみては
759 名前:デフォルトの名無しさん (JP 0H9f-r+sk) [2020/05/01(金) 14:08:14 ID:Lu25V/ckH.net] 学術巨大掲示板群: アルファ・ラボ ttp://x0000.net 物理学 化学 数学 生物学 天文学 地理地学 IT 電子 工学 国語 方言 言語学 など PS 連続と離散を統一した! ttp://x0000.net/topic.aspx?id=3709-0
760 名前:デフォルトの名無しさん (ワッチョイ 67ac-fZS3) mailto:sage [2020/05/01(金) 14:08:57 ID:GU+C/Jnt0.net] >>748 回答としては748の通り なぜこうなるのかわからない場合 ・ブレークポイントを使ってどういうふうに処理が進んでいるか確認してみ? ・気になる行をコメントアウトをしてみる などをするがよろし
761 名前:デフォルトの名無しさん [2020/05/01(金) 15:46:49.34 ID:O26w7br10.net] どうして馬鹿ばかり来るのか
762 名前:デフォルトの名無しさん [2020/05/01(金) 15:48:19.31 ID:e9rmxAXgM.net] >>754 ようこそ!
763 名前: mailto:sage [2020/05/01(金) 16:42:17.98 ID:w4TGDP35H.net] >>754 Welcome to the real world !!
764 名前:デフォルトの名無しさん (ワッチョイ e7ad-GPK9) mailto:sage [2020/05/01(金) 17:52:33 ID:XmUvZ7vC0.net] >>748 単純にすべての単語の意味を 把握したらそれだけで分かるよ? 最初の内は意味が分からないまま コピペプログラミングだろうけど ずっとそのままだと上達しない
765 名前:デフォルトの名無しさん (ワッチョイ dff0-h83k) mailto:sage [2020/05/02(土) 03:52:34 ID:gsxD2EFS0.net] 皆さんありがとうございます。 初心者から脱出できるように勉強します
766 名前:デフォルトの名無しさん (ワッチョイ df01-lZTE) mailto:sage [2020/05/02(土) 04:16:39 ID:WlPNyw+i0.net] がんばれ
767 名前:デフォルトの名無しさん (ワッチョイ 67ac-fZS3) mailto:sage [2020/05/02(土) 07:47:42 ID:8I2uZvpu0.net] 会社が休みに入って書き込みが減ったな
768 名前:デフォルトの名無しさん (ワッチョイ a78f-h83k) mailto:sage [2020/05/02(土) 09:40:27 ID:7uDOF2SH0.net] IE自動操作のマクロで 今まで動いていたが動かなくなる ↓ コードに変化を加えると動く (スペースでも改行でもコメントでも、プロシージャに変化があると動くようになる) これはどういうあれなんや
769 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 10:47:09.64 ID:8Sc54whm0.net] 全角のスペースとかキーワード途中での改行とか 無意識にやらかしたんでないの
770 名前:デフォルトの名無しさん (ワッチョイ a7ad-ur4w) [2020/05/02(土) 11:30:23 ID:Z+zF8E0a0.net] PowerQueryをVBAで使いたい初心者 >>691です。 変数に入れるファイルパスを、テーブルにしておかないと PowerQueryは読んでくれないんだ。そのテーブル名とか列名も 指定するんだ、へ~、という現状からこの連休中に抜け出したいです。 テレワークからの連休突入前に先輩たちに投げた質問の答えは 「zoom飲み会やるから、入れとけよ。」でした。
771 名前:デフォルトの名無しさん (ワッチョイ dfb5-EVni) mailto:sage [2020/05/02(土) 11:33:04 ID:qrZctUhv0.net] VBAむずいが努力だわ 昇級幅が大きい時代の残りカスの50代の職場のおっさん達が給料ばっかり高くて ExcelのSUM関数すらわからないレベルで 電卓で計算してテンキーで手打ち そんな信じられない存在がいる職場 「俺のやり方があるんだよ!」 とか、心の底から腹が立つ 大手で組合もあるからリストラはされないんだが そんなやつを駆逐したい エクセル関数は職場で使うものはだいたい使っておっさん共の10倍は早くやってきたが 更なる憎しみだけが俺のVBA勉強へのモチベーションになってる
772 名前:デフォルトの名無しさん (ワッチョイ 2791-x7Cl) mailto:sage [2020/05/02(土) 11:34:32 ID:jcfx6zQ80.net] >>761 そもそも、どう動かなくなるんだ? エラーが出るのか? Excel再起動で動くようになるか? PC再起動で動くようになるか? 昔よくあったのがデバックやStopのように勝手に途中で止まるという奴。 F5で続行出来るんだけどまた途中で止まる。 Excelの再起動では治らんがPC再起動で治る。
773 名前:デフォルトの名無しさん (ワッチョイ c7ce-ts7H) mailto:sage [2020/05/02(土) 11:44:58 ID:u3ozWGyy0.net] >>761 Win10ではIEの動作が変わったのでVBAからコントロールするのがかなり大変になった うまく動かない時は、ブラウザのキャッシュとかクッキーとか、WEBサーバの応答のタイミングとか調べる 変更しなくても時間を置けば動かないか、Excelを再起動したらどうか、パケットモニターとか調べた?
774 名前:デフォルトの名無しさん (アウアウカー Sa3b-QanA) [2020/05/02(土) 11:52:59 ID:be7YjfFea.net] 初めてのマクロでやりたいことはほぼ出来たのですが、新規ブックをコピー元のマクロごとコピーする方法が分かりません xlsmで保存することは出来るのですが、どうもマクロの参照先がコピー元になっているらしく、新規ブックからマクロを実行するとコピー元のファイルをわざわざ開く形になってしまっています マクロごとコピーする方法があればご教示ください
775 名前:デフォルトの名無しさん (ワッチョイ 2791-x7Cl) mailto:sage [2020/05/02(土) 11:53:28 ID:jcfx6zQ80.net] >>763 初心者がPowerQuery使うの? その前にやることがあると思うんだが。 まず、テキストファイルを扱えるようになりなよ。 自在にテキストファイルを扱えるようになれば、どんな形式のCSVでも関係無い。 セル内改行も、そのCSVのフォーマットが分かってないのが原因。 普通はデ−タに改行が入ってるならレコード間の改行と区別する何かがある筈。 1レコードの項目数が必ず決まっている(1レコードのカンマの数が決まっている)とか、そのテキストデ―タは必ずダブルクォーテーションで挟まれており、データ内の改行はダブルクォーテーションのInとOutの間のどこかにあるとか。 もちろんPowerQueryでも良いんだけど、それでたまたま解決出来そうだから飛び付くのは良くない。 こんなもの基本的な処理の組み合わせで出来るんだから、PowerQueryで有利な何かも無いのに無理矢理使おうとしてるように見える。
776 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 12:25:11.14 ID:E33c3GVR0.net] >>767 自分ではやったことないけどモジュールをそのままコピーするなら officetanaka.net/excel/vba/vbe/07.htm#sample04 こういう方法じゃないかな 自分でやったことがあるのは https://oshiete.goo.ne.jp/qa/756026.html こちらの方法で、コードを一行ずつ書いていくことになります ほんとにまるごとコピーでいいなら上の方法でしょうけど、thisworkbookとか activeworkbookとか場合によって挙動が変わるような内容なら下の方法 じゃないかな
777 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 12:32:45.18 ID:u3ozWGyy0.net] >>767 モジュールのエクスポートとインポートでやってみるとか https://jizilog.com/vba-modadd
778 名前:デフォルトの名無しさん (アウアウカー Sa3b-QanA) [2020/05/02(土) 13:09:24 ID:me7NM96ka.net] >>769 >>770 ありがとうございます お恥ずかしながら、今更ながらアドインと個人用マクロブックの存在を知りました マクロの数も多いので、毎回記述する方法は重くなりそうですし、インポートも考えたのですが、管理するのが大変そうだと躊躇していました とりあえず、個人用マクロブックで一括管理してやってみようと思います
779 名前:デフォルトの名無しさん (スッップ Sdff-x7Cl) mailto:sage [2020/05/02(土) 15:03:15 ID:fjHWXn6td.net] >>769 これは、セキュリティ上の危険を承知するなら良いんだけどね。 今のExcelはデフォルトで動かないように設定されてるよ。 動作原理はマクロウィルスと全く同じなんで。
780 名前:デフォルトの名無しさん (ワッチョイ dfea-9YRN) mailto:sage [2020/05/02(土) 15:03:21 ID:HkfyT0U40.net] >>771 マクロブックだと、最後の1ファイルを閉じてもアプリ画面が残っちゃう。 アドインだとこれを回避できる。
781 名前:デフォルトの名無しさん (ワッチョイ dfea-9YRN) mailto:sage [2020/05/02(土) 15:06:50 ID:HkfyT0U40.net] >>772 そそ。D&Dでパワポにノートを読み上げるマクロをぶっ込めるvbs作ったんだけど、よく考えるとちょつと怖くなった。
782 名前:デフォルトの名無しさん [2020/05/02(土) 15:24:24.68 ID:Z+zF8E0a0.net] >>768 あ、ありがとうございます。 テキストファイルから…。 連休の課題にします!
783 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 15:37:35.14 ID:lt4kIJ5o0.net] >>768 VBAのスレで言うのもなんだが PowerQueryの前にやることがVBAなのかと
784 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 15:54:13.09 ID:WuBkO5o5x.net] >>763 テーブルとしての構造化参照が不要なら別にテーブルにしなくても「空のクエリ」でリテラル定数を返す接続クエリを作るなり、パラメータを登録するなりすれば良い 詳細エディタに = "テーブル名" って一行書けば"テーブル名"を返す定数クエリが出来上がる あと、Letの前行に (path as text, table_name as text, column_name as text)=> とか追加すれば、path とtable_nameとcolumn_nameという三つのtext型の引数をダイアログ入力でクエリに渡せるようになるので、クエリ式の側をソース=Csv.Document(File.Contents(path))みたいに書けば良い。 どうしてもVBAからPower Queryをいじりたいなら Workbook.Queries(Index).Formulaでクエリの式が読み書きできるので、Replaceを使うなりして好きにいじったらいいんじゃないの
785 名前:デフォルトの名無しさん (アウアウカー Sa3b-QanA) [2020/05/02(土) 16:19:14 ID:be7YjfFea.net] >>773 なるほど、それはちょっと嫌かも この際だからアドインも試してみることにします
786 名前:デフォルトの名無しさん [2020/05/02(土) 17:01:28.47 ID:be7YjfFea.net] 何度もすみません アドインを通常のマクロのように、図形などで作ったボタンに割り当てることはできないのでしょうか?
787 名前:デフォルトの名無しさん (ワッチョイ 677f-v3HX) mailto:sage [2020/05/02(土) 19:33:07 ID:I/r+DzJx0.net] デバッグ中からリセットをかける際に特定の処理をさせるようなイベントプロシージャって無いでしょうか
788 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 21:25:13.04 ID:fjHWXn6td.net] >>780 それは俺も知りたいね。 リセットすると確実にExcelが落ちるプログラムを安全に終了したい。
789 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 21:28:27.20 ID:fjHWXn6td.net] >>779 アドインの場合、メインは別のブックになるわけだからアドインのシートとかは表示されないという基本は分かってる? それが分かっていれば図形等で作ったボタンを配置する場所もないと分かる筈。 普通はメニュー(リボン)に作る。
790 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 22:09:54.71 ID:7uDOF2SH0.net] >>765 >>766 数か月前の事なので返ってくるエラーは忘れたけど どこかの部分で止まるのではなく、開始時に起きるエラーだったと思う そのファイルを複数のPCで試したけど全てで同じ現象が起こる で、subプロシージャのコードを一部変更して実行すると動く コードの変更は何でも良くて 改行、何も書いていない行にスペース追加、コメント追加、コードを消して同じコードを書く とにかく変化があれば再起動も何も必要なく正常に動く 変更後上書き保存してからは同じエラーは起こっていない 今は問題なく動いてるから困っては無いんだけど あれは何だったのかなと思った
791 名前:デフォルトの名無しさん (ワッチョイ 67ac-fZS3) mailto:sage [2020/05/02(土) 22:19:21 ID:8I2uZvpu0.net] はあ、そうですか。しらんがな
792 名前:デフォルトの名無しさん (ワッチョイ 7fda-ts7H) mailto:sage [2020/05/02(土) 22:37:34 ID:zUyEitTf0.net] >>761 俺もさんざん悩まされたが、ByVal/ByRef問わず、関数にオブジェクト渡すのやめたら改善したわ。 何でもかんでもパブリックにすんなアホって言われてたから、パブリックという発想が中々でなかったが。 >>765 俺の場合は何の音沙汰もなく強制終了だな。 エラーが出ないし、PCによっては動くし、改行いれるだけで変わることもあるから、 どこがおかしいのか全然わからんかった。 互換表示とか保護モードの有無も関係ないし。
793 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 22:45:55.01 ID:zUyEitTf0.net] 多分、 Readystateコンプしてるのにエラーでるな〜 ↓こうしちゃえ On Error Resume Next Do IEにカキコ Sleep 1000 Loop While なんとか On Error Goto 0 長くて面倒くせえなぁ〜 関数化しちゃえ で、オブジェクトを関数に渡して嵌る罠なんだと思う。
794 名前:デフォルトの名無しさん (アメ MM6b-p7s+) mailto:sage [2020/05/02(土) 23:09:24 ID:FzDABaHmM.net] >>783 それ、IEと関係なく、Excelの更新が原因でvba関係にエラー起きてるやつでは? ファイル開くときに「エラーがあります、可能な範囲で修正しますか」みたいなアラートがでて、はいを押すとコードが全削除される。
795 名前:デフォルトの名無しさん (ワッチョイ dfb5-EVni) mailto:sage [2020/05/02(土) 23:36:58 ID:qrZctUhv0.net] 教えてくださいまし。。 画像のように日によって参加人数も競技した数も違うものを 受付した人と競技の範囲の値のみ 隣のシートに貼り付けるようにしたいですが エクセル関数のエラーや未計算が都合上どうしても残ってしまい残ってうまく行かず… https://i.imgur.com/Sd2Afas.jpg https://i.imgur.com/MfnIQSU.jpg https://i.imgur.com/lEQTEIe.jpg 受付した人の数字が空白になるまでは空白になるまで、競技も空白になるまで その範囲のみをコピーというか可能でしょうか
796 名前:デフォルトの名無しさん (ワッチョイ dfb5-EVni) mailto:sage [2020/05/02(土) 23:39:12 ID:qrZctUhv0.net] Sub 貼り付け() Dim gy As Long Dim re As Long Dim Dim Tensu As String Dim Kekka As String Sheets(Tensu) = "点数" Sheets() = "結果シート" Sheets(Tensu).Select With Range("C5") gy = .End(xlDown).Row If .Offset(1).Value = "" Then gy = .Row re = .End(xlToRight).Column If .Offset(, 1).Value = "" Then re = .Column With .Resize(gy - .Row + 1, re - .Column + 1) Sheets(Tensu).Select Range("H8").Resize(.Rows.Count, .Columns.Count).Value = .Value End With End With End Sub これで作ってみたのですがやはり関数エラーが 邪魔してエラーになります 行も列も両方を空白までループして貼り付け むずぃす
797 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 23:46:04.45 ID:zUyEitTf0.net] 画像から式を逆算するクイズみたいになっとる。
798 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 23:48:07.49 ID:TR3WF5Jt0.net] 人、それをデバッグと呼ぶ
799 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 23:48:58.13 ID:zUyEitTf0.net] エラーってそっちのエラーかい! If IsError(セルの値) = False Then の時だけ実行とか。
800 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 23:51:07.35 ID:zUyEitTf0.net] それか、ValueじゃなくてTextでエラー回避。
801 名前:デフォルトの名無しさん (ワッチョイ c7ce-ts7H) mailto:sage [2020/05/03(日) 00:01:44 ID:fR4zqWYb0.net] >>789 全体的にめちゃくちゃで、それじゃ関数エラー以前にまったく動かないはずなんだけど、本当にそれで途中までは動いてるの? スマホでポチポチ書き写すんじゃなくて、できるだけPCでそのままコピペしてくれない?
802 名前:デフォルトの名無しさん (ワッチョイ dfb5-EVni) mailto:sage [2020/05/03(日) 00:26:05 ID:EGR1WLcw0.net] >>794 Sub test() Dim gy As Long, re As Long With Range("C5") gy = .End(xlDown).Row If .Offset(1).Value = "" Then gy = .Row cl = .End(xlToRight).Column If .Offset(, 1).Value = "" Then re = .Column With .Resize(gy - .Row + 1, re - .Column + 1) Range("AA5").Resize(.Rows.Count, .Columns.Count).Value = .Value End With End With End Sub 元々作これで動いたのを確認しやしたが 無力過ぎて悔しいっす そもそもエクセル関数の方のエラーが出ないようにif関数で空白の場合はセルも空白にしようかと思ったけどそもそも他部署の管轄 俺の圧倒的力の無さですわこりゃ
803 名前:デフォルトの名無しさん (ワッチョイ dfb5-EVni) mailto:sage [2020/05/03(日) 00:31:44 ID:EGR1WLcw0.net] というか完全に圧倒的勘違いでした 動いたと思っていざ使おうとしたら 他部署からのデータが画像のように 参加してない選手のところにセルにエラーがついてくる仕様なのに気付いて動かなかった これが正解です 頭おかしくなってますわ
804 名前:デフォルトの名無しさん (ワッチョイ c7ce-ts7H) mailto:sage [2020/05/03(日) 00:38:44 ID:fR4zqWYb0.net] >>795 ワークシートの数式を消しちゃっていいんなら、エラーの出てるセルを全部空白にするのは簡単 Sub エラー全部消す() Dim c As Range For Each c In ActiveSheet.UsedRange If IsError(c.Value) Then c = "" Next End Sub
805 名前:デフォルトの名無しさん (ワッチョイ c7ce-ts7H) mailto:sage [2020/05/03(日) 01:01:50 ID:fR4zqWYb0.net] >>796 コピーしたいのは、赤枠の範囲でいいの? https://i.imgur.com/hJcIMrT.jpg
806 名前:デフォルトの名無しさん (ワッチョイ c7ce-ts7H) mailto:sage [2020/05/03(日) 01:03:01 ID:fR4zqWYb0.net] それとも選手名も必要?
807 名前:デフォルトの名無しさん (ワッチョイ dfb5-EVni) mailto:sage [2020/05/03(日) 01:37:52 ID:EGR1WLcw0.net] >>797 教えてくれてありがとうございやす ただシート内の別のところにも数式待ちのエラーのセルがあって俺の管轄じゃないので全てのエラーを消すわけにはいかず…範囲指定するスキルもなく… >>798 >>799 完全にその赤枠のところの「値」のみをコピーしたいです それが毎回、選手の数と競技の数が違う という感じです 選手Cが空白なのに選手Dは数値が入る ということはないので 受付の列が空白になるまでコピーを ループ?とか考えながら挫折してます
808 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 01:46:13.78 ID:EGR1WLcw0.net] 受付の行が空白のセルになるまでループしつつ 競技の列が空白になるまでループ?? んん?違うか GWになのにExcel開いてずっとマクロで悩むとは…とんだステイホームですわ
809 名前:デフォルトの名無しさん (ワッチョイ 877c-mIzA) mailto:sage [2020/05/03(日) 01:55:50 ID:yO9oP2CW0.net] ここに書かずなぜ動かして試さない…
810 名前:デフォルトの名無しさん (ワッチョイ c7ce-ts7H) mailto:sage [2020/05/03(日) 02:10:58 ID:fR4zqWYb0.net] >>800 はい、できたよ Sub 数字だけコピー() Dim rr As Long Dim cc As Long Dim dat As Variant rr = Cells(Rows.Count, 3).End(xlUp).Row - 4 '高さを求める cc = Cells(5, Columns.Count).End(xlToLeft).Column - 2 '幅を求める dat = Range("C5").Resize(rr, cc).Value 'データを変数に入れる Range("AA5").Resize(rr, cc).Value = dat 'コピーする End Sub
811 名前:デフォルトの名無しさん (ワッチョイ c7ce-ts7H) mailto:sage [2020/05/03(日) 02:15:53 ID:fR4zqWYb0.net] ごめん ちょっとだけ修正させて Sub 数字だけコピー() Dim rr As Long Dim cc As Long Dim dat As Variant rr = Range("C4").End(xlDown).Row - 4 '高さを求める cc = Range("B5").End(xlToRight).Column - 2 '幅を求める dat = Range("C5").Resize(rr, cc).Value 'データを変数に入れる Range("AA5").Resize(rr, cc).Value = dat 'コピーする End Sub
812 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 03:59:51.25 ID:PK0PPm520.net] この程度のものを人に聞かなきゃできないようじゃ先が思いやられる これで職場の50代批判できるのかと・・・・ しかも最初のこれ>>788 もう少し日本語の説明能力上げたほうがいいんじゃないか 君何度もここでいろんな質問してるよね?質問の仕方からして酷すぎる 説明の例1: この画像で言えばC5からE13の範囲を別シートにコピーしたいです https://i.imgur.com/Sd2Afas.jpg コピーしたい範囲は変化します。例えばこの場合はC5からI9までをコピーしたいです i.imgur.com/MfnIQSU.jpg 説明の例2: こういう画像をペイントで作る https://i.imgur.com/u9Vhnj1.jpg はぁ・・・おれ深夜に何やってんだか・・・
813 名前:デフォルトの名無しさん (ワッチョイ a7ad-ur4w) [2020/05/03(日) 09:15:39 ID:iPr/hZRI0.net] >>777 ご助言ありがとうございます! 教えていたことの意味を調べながら勉強します。 ちなみにうちの職場では55歳のオバハンが独学で書いてるVBA が一番「きれい」だそうで。教科書通りで、整理整頓されてる感じで 非エンジニアには優しいんです。(簡単なものしか作らない人ですけど。) でも「リーダブルコード」とか「VBA実践のためのなんちゃら」とか 読んで勉強してるの見かけたので、心がけは見習いたいです。
814 名前:デフォルトの名無しさん (ワッチョイ 87e6-ts7H) mailto:sage [2020/05/03(日) 09:19:57 ID:6v/wuiGx0.net] > Sheets(Tensu) = "点数" > Sheets() = "結果シート" きれいだとか汚いとかいう以前に読む気が失せるな 入門書買ったとか言ってなかったっけ?
815 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 09:20:36.28 ID:2hdRjZho0.net] >>806 >独学で書いてるVBAが一番「きれい」 >教科書通りで、整理整頓 それはあるかもな プログラマだとなまじ他言語の知識があるために トリッキーなことやりだす奴が一定数いるからな 効率が良い面もあるだろうが他人が理解しにくい
816 名前:デフォルトの名無しさん (ワッチョイ 87e6-ts7H) mailto:sage [2020/05/03(日) 09:35:40 ID:6v/wuiGx0.net] >>804 生血プログラマーなら1行にするべきである
817 名前:デフォルトの名無しさん (ワッチョイ 7fda-ts7H) mailto:sage [2020/05/03(日) 10:26:05 ID:9LS/Ekj10.net] ああ、 If a = True Then a = False ElseIf a = False Then a = True End If みたいなやつか。 大っ嫌いだけどな。
818 名前:デフォルトの名無しさん (ワッチョイ c7da-ts7H) mailto:sage [2020/05/03(日) 13:07:08 ID:T/wh1/tE0.net] a = Not(a) でいいんじゃね
819 名前:デフォルトの名無しさん (ワッチョイ 67ac-fZS3) mailto:sage [2020/05/03(日) 13:43:00 ID:AWBCl49n0.net] エスパースレと化してる
820 名前:デフォルトの名無しさん (ワッチョイ bf2f-WRor) mailto:sage [2020/05/03(日) 14:21:40 ID:jHKSsTzt0.net] >>811 そもそも>>810が何を言いたかったのかわからんが それaがBooleanじゃないと同じじゃないからな
821 名前:デフォルトの名無しさん (ワッチョイ a778-NLJ6) mailto:sage [2020/05/03(日) 16:23:21 ID:7ZZm2K4r0.net] たしかにそうだ
822 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 18:57:16.84 ID:hVYH2JxT0.net] うん、>>810 が何を言いたいのか不明瞭だな。 あのIf文も自分は嫌いじゃ無い。 見てすぐ分かるんで。 長くても短くてもすぐ分かれば問題なし。 a=not aでも別に良い。
823 名前:デフォルトの名無しさん (ドコグロ MM9f-4Orb) mailto:sage [2020/05/03(日) 20:02:39 ID:GBCMW2mVM.net] If a = True Then の時点で嫌い
824 名前:デフォルトの名無しさん (ワッチョイ a75f-rvxR) mailto:sage [2020/05/03(日) 20:33:25 ID:INbjbW0w0.net] If a Then は気持ち悪いわ
825 名前:デフォルトの名無しさん (ワッチョイ 7fda-ts7H) mailto:sage [2020/05/03(日) 20:35:39 ID:9LS/Ekj10.net] >>815 オバハンが独学で書いてる綺麗なコードって、 a=not aを>>810みたいに書いてるやつかなと思って。
826 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 20:41:41.89 ID:jHKSsTzt0.net] 俺はBooleanにたいして= Trueは大概は冗長に感じるけどな VBAは型がゆるいからなぁ If a Then は気持ち悪いが、これは変数名が悪い
827 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 22:08:11.47 ID:dDcWYHiB0.net] >>808 perl で組んだテトリスだったかな。あれ見たときはぶったまげた。 元々ワンライナーをやりやすい言語とは言え、あれはもう 何が何やらわからない世界だった。どんだけ頭いいんだよと。 でも、「こんなの理解できないの?ふ〜ん(にやにや)」みたいな のは生産性的には駄目だよね。 美しさをトリッキーさに見出すか可読性に見出すかは人それぞれ だけど、自分よりスキルが下の他人に保守させるとか、未来の自 分が保守しないといけないかもとかなら冗長性持ってるほうがいい かも。 いちばん大事なのは懇切丁寧なコメントだろうけど。
828 名前:デフォルトの名無しさん (ワッチョイ 878f-ts7H) mailto:sage [2020/05/03(日) 22:21:26 ID:dDcWYHiB0.net] >>806 > ちなみにうちの職場では55歳のオバハンが独学で書いてるVBA > が一番「きれい」だそうで。教科書通りで、整理整頓されてる感じで > 非エンジニアには優しいんです。(簡単なものしか作らない人ですけど。) > でも「リーダブルコード」とか「VBA実践のためのなんちゃら」とか > 読んで勉強してるの見かけたので、心がけは見習いたいです。 あえて長文引用させてもらったけど、あんた程度の人間がなんで その55歳の女性を貶めてるの?
829 名前:デフォルトの名無しさん (ワッチョイ 2791-x7Cl) mailto:sage [2020/05/03(日) 22:55:28 ID:hVYH2JxT0.net] >>818 いや、想像はついてた。 大嫌いというのが分からんかった。
830 名前:デフォルトの名無しさん (JP 0H8f-Ng5p) mailto:sage [2020/05/03(日) 22:57:44 ID:8sSb2t20H.net] まともなプログラマなら周りのレベルに合わせて読みやすいコードを書けるよ VBAの仕事なんかやってる時点でその程度のレベルなんだから仕方ない
831 名前:デフォルトの名無しさん (ワッチョイ 2791-x7Cl) mailto:sage [2020/05/03(日) 22:58:39 ID:hVYH2JxT0.net] >>820 コメントもたくさんあれば良いというもんじゃない。 Dim blFlg AsBoolean 'フラグ こんなコメントはアホ。 フラグかどうかは名前と型で分かってる。 残すべきはどういうフラグかだ。
832 名前:デフォルトの名無しさん (ワッチョイ 878f-ts7H) mailto:sage [2020/05/03(日) 23:00:42 ID:dDcWYHiB0.net] >>824 それは確かにコメントっつうより、「ノイズ」だなw
833 名前:デフォルトの名無しさん (ワッチョイ 2791-x7Cl) mailto:sage [2020/05/03(日) 23:03:28 ID:hVYH2JxT0.net] >>823 まともなプログラマなら周りのレベルにあわせて読みやすいコードをかける。 お前とは違ってなw
834 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 23:06:45.24 ID:oMB0K2Jka.net] >>824 こんな奴いるのw
835 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 23:07:47.50 ID:hVYH2JxT0.net] >>825 意外に近いのはある。 コメントより元々の変数名を伝わるものにするのが第一義。 それで伝わりにくい時にコメントで補足する。
836 名前:デフォルトの名無しさん (ワッチョイ 878f-ts7H) mailto:sage [2020/05/03(日) 23:13:29 ID:dDcWYHiB0.net] ただ、伝わりやすい変数名ってのが読む方の英語の素養に 大きく左右されちゃう不幸が。 TOEICで600くらい(英語の得意な高校生あたり)を想定するのが いいかなあ。
837 名前:デフォルトの名無しさん (ワッチョイ 2791-x7Cl) mailto:sage [2020/05/03(日) 23:19:40 ID:hVYH2JxT0.net] Cプログラミング診断室の第三章の中盤に出てくるフラグの所に似たようなのが出てくる。 言語は違うが読んどくと良い。 www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.3.7.html
838 名前:デフォルトの名無しさん (ワッチョイ df02-mIzA) mailto:sage [2020/05/04(月) 01:56:50 ID:6MBl5GGH0.net] ここのスレ見てると、共同で保守してるのに細かい仕様書作ってない感じ VBA使いって連携取るの苦手だろ
839 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 02:26:38.20 ID:5comiU6qd.net] 自分だけ楽するために片手間に作ったやつがいつのまにか広まって、ドキュメントなんかもちろん作ってなくて、最初に作った人は異動しちゃって、みたいなことVBAではよくある
840 名前:デフォルトの名無しさん (ワッチョイ e794-C/EQ) [2020/05/04(月) 04:29:56 ID:eaaQNpcs0.net] VBAは事務員のオバさんが作る程度のオモチャ 仕様書とか本気で言ってんの? キモいわ
841 名前:デフォルトの名無しさん (ワッチョイ bf12-h83k) mailto:sage [2020/05/04(月) 06:18:26 ID:XD3JqXFe0.net] 仕様書を書くような立場で仕事をしたことない人は黙ってな
842 名前:デフォルトの名無しさん (ワッチョイ c7da-ts7H) mailto:sage [2020/05/04(月) 08:36:53 ID:NmZgEDtP0.net] 会社のファイルで仕様書作ってあげてもいいんだけど今の職場では上司が理解できないからあえて作らないでいる
843 名前:デフォルトの名無しさん (ワッチョイ c7da-ts7H) mailto:sage [2020/05/04(月) 08:37:36 ID:NmZgEDtP0.net] 俺は832ではない
844 名前:デフォルトの名無しさん (ドコグロ MM9f-4Orb) mailto:sage [2020/05/04(月) 09:29:50 ID:eyf9VoYQM.net] 全社に配布するようなものは仕様書も作るしテストもやるけど、自分とか課内で使うようなツールだと作りっぱだな 別に他の言語でも変わらんと思うが
845 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 09:55:22.79 ID:oqIKeiQj0.net] 最近よく来る馬鹿どもが仕様書作れると思うのか?
846 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 10:02:07.63 ID:cVQIuVcH0.net] 共同開発やドキュメントが必要になるレベルのプロジェクトには別の言語を使うのが普通 VBAスレで仕様書の話題はスレ違い
847 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 10:28:02.39 ID:ESbXk+mE0.net] はいつぎの方
848 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 10:39:56.70 ID:EYE1xMNJ0.net] うちの職場じゃボタン押すことぐらいしか出来ないような連中ばかりだから 仕様書どころかマニュアル作っても1割ぐらいしか理解してもらえないだろうな 目の前で説明しても少し込み入った設定になると覚える気一切ないしな 俺がいなくなったら終わりと思ってる コメントすら残してない
849 名前:デフォルトの名無しさん (ワッチョイ a7ad-ur4w) [2020/05/04(月) 11:03:15 ID:mKy38ERH0.net] こんにちは。 このスレを見て勉強しようと思って色々読んでは、たいてい なんの話をしているのかもわからない、プログラマではない層の者です。 上の方で、 >>810 If a = True Then a = False ElseIf a = False Then a = True End If みたいな書き方っていやだね。 >>811 a = Not(a) でいいんじゃ? という会話があったのですが、>>810 って どんな時に使うのかさっぱり???でした。 どなたか暇つぶしにでもご教示いただけませんでしょうか。
850 名前:デフォルトの名無しさん (ワッチョイ a78e-MvRk) mailto:sage [2020/05/04(月) 11:58:39 ID:oqIKeiQj0.net] >>842 死ね
851 名前:デフォルトの名無しさん (ワッチョイ 877c-mIzA) mailto:sage [2020/05/04(月) 11:59:42 ID:zFV2kJYS0.net] ドキュメントが必要かどうかに言語は関係ない プロジェクトの内容次第
852 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 12:35:48.74 ID:NmZgEDtP0.net] >>842 例えばテレビのリモコンの電源ボタンとか消音ボタンのような使い方をするイメージ
853 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 12:43:46.28 ID:RsDc9cGOM.net] >>839 お前の所の普通が世間一般の普通じゃないだけが
854 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 12:48:54.23 ID:cVQIuVcH0.net] >>842 誰も使わない悪い例を書いただけ
855 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 13:16:33.95 ID:c8yfA7Q3M.net] >>846 お前いつも質問スレに無関係な書き込みばっかだな どうせPC-VANやってた老害だろ
856 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 13:17:26.32 ID:n6lRLUl70.net] If a = True Then 誰にでもわかる書き方でとても良いと思う 今VBAを勉強する人は本職プログラマではなく 別に仕事があって、その効率化の為に学んでる人が主でしょう そしてそれを非プログラマ同士で共有するのなら どの本にでも書いてある書き方の方が望ましい 匿名の名人様の言葉に右往左往する必要はないよ
857 名前:デフォルトの名無しさん (ワッチョイ df01-4Orb) mailto:sage [2020/05/04(月) 13:43:10 ID:/ITc8kQd0.net] >>848 自己紹介かよww
858 名前:デフォルトの名無しさん (ワッチョイ 7fda-ts7H) mailto:sage [2020/05/04(月) 14:09:51 ID:9S16/cFq0.net] Debug.Print xml.getElementsByTagName("タグ名").Item(0).Text Microsoft XML, v3.0 参照 → OK Microsoft XML, v6.0 参照 → エラー 何でやねん。
859 名前:デフォルトの名無しさん (ワッチョイ 2791-x7Cl) mailto:sage [2020/05/04(月) 14:14:20 ID:r232eNWS0.net] >>842 卜グルボタンとかチェックボックスのようなオンオフするようなものを変数で管理しようとした時に、変数がTrueならFalseに設定し、FalseならTrueに設定する処理を書いている。 最初のIf文の方は英文が分かれば簡単に理解出来る。 Notを使う方はTrue/Falseだから変数を変数自身と反対にすることで実現してる。
860 名前:デフォルトの名無しさん (ワッチョイ 7fdd-ts7H) mailto:sage [2020/05/04(月) 14:35:44 ID:m3H0OQVZ0.net] 検索Dialogの検索場所(WithIn)をVBAから切り替えるアイデアをお持ちの方いたら教えていただけないでしょうか。 全シートから検索するのが目的ではなく、ブック全体検索後に何気に範囲指定置換を実施して引き起こされる惨状を回避したく。 (または別視点による工夫でもOKです) 詳しい方、よろしくお願いします。
861 名前:デフォルトの名無しさん (ワッチョイ 67ac-fZS3) mailto:sage [2020/05/04(月) 15:43:06 ID:ESbXk+mE0.net] >>853 意味不明な点が多すぎる。 >ブック全体検索後に何気に範囲指定置換を実施して 検索と置換ダイアログでは検索、置換は違うタブだから操作ミスは起きずらいが、 そこまでしなきゃならないのか >引き起こされる惨状を回避したく。 惨状って具体的になにか そもそも惨状とやらが起きるのは、GUIの話なのかVBAの話なのか
862 名前:デフォルトの名無しさん (スップ Sd7f-C/EQ) [2020/05/04(月) 15:44:13 ID:gO9XNStOd.net] 今からVBAなんて覚える必要は全くない
863 名前:デフォルトの名無しさん (ワッチョイ a7ad-ur4w) [2020/05/04(月) 18:17:24 ID:mKy38ERH0.net] 841です。 丁寧な解説、みなさんありがとうございました。 勉強になりました。
864 名前:デフォルトの名無しさん (ワッチョイ 67f9-qVEi) [2020/05/04(月) 19:20:35 ID:V2+TGFiQ0.net] >>856 アンカーも書けず全角で数字を書くよな馬鹿は死ね
865 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 19:40:04.11 ID:m3H0OQVZ0.net] >>854 説明が不足していました。 検索と置換のタブはパラメータ設定の記憶が共通となっております。 ブック全体検索を行った後に範囲を選択して範囲内置換を実施しようとCtrl+Hを押します。 すると前回検索時の "検索場所=ブック"が活きている状態になっております。 気づかずに実施すると全シートの指定文字列が置換されてデータが破壊されてしまいます。 コロン ":" でも削除置換しようものなら全ての時刻書式が破壊されます。 お試しください。 これを防ぐには、ブック内検索を実施した際は引き続きシート内検索を実施して設定を戻しておく必要があります。 普段ブック内検索ってあまり使わないのでこんな時に限って忘れてしまいます。 VBAはどうなっているかというと、.Find .Replace共に、WithInパラメータが存在しないため引数指定できず、直前のUI操作依存となるわけです。 自動化された置換処理があったりすると、事故が起こるわけです。 本件、GGってよく捜してみたら同様の悩みに対するQAありました。 Range("A1").Find("*") この1行を実施するだけで検索場所をシートに戻せるようです。 逆に検索場所をブックにする方法を探しているところです。 ご存じの方おられましたら教えてください。
866 名前:デフォルトの名無しさん (ワッチョイ 6741-eET6) mailto:sage [2020/05/04(月) 20:21:19 ID:2XIJsT+F0.net] .OpenTextで開いたテキストファイルを操作したいのですがやり方がわからなくて困っています。 拡張子CSVなら通常のエクセルワークシートと同様に扱えますが、テキストファイルは無理なのでしょうか? Workbooks.Countは開いたテキストファイルの分増えているようですが… ご教示お願いいたします。
867 名前:デフォルトの名無しさん (スフッ Sdff-rvxR) mailto:sage [2020/05/04(月) 20:24:42 ID:mUlUr63md.net] テキストファイルの中身はどのようなフォーマットで、どう操作したいのですか?
868 名前:デフォルトの名無しさん (ワッチョイ 87e6-aR2J) [2020/05/04(月) 20:40:40 ID:c199Arvf0.net] 1セルに1文字づつならExcelチックに楽しめそうだな 知らんけど
869 名前:デフォルトの名無しさん [2020/05/04(月) 20:56:39.11 ID:oqIKeiQj0.net] 次から次へと馬鹿が来る
870 名前:853 (ワッチョイ 67ac-ts7H) mailto:sage [2020/05/04(月) 21:05:25 ID:ESbXk+mE0.net] >>858 まず、問題としてる事象は提示している方法で解決するんだよね そのブック開いたときとか操作したときに実行すればいい >「ブック全体検索を行った後」に「範囲を選択」して「範囲内置換を実施」(ブック全体と指定しているオプションを開いたまま) → その悪意に満ちた行為のみを想定するの? 検索ダイアログのオプション設定は起動中のExcelアプリ(プロセス)に記憶されるから、 Excelアプリを開いたまま同じPCで同様の操作をしないと再現しないはず >気づかずに実施すると全シートの指定文字列が置換されてデータが破壊されてしまいます。 → さっきの操作をすると検索オプションは開いてるはずだけど、 それでも気付かずファイル保存するっていう悪意ry GUI操作->GUI操作で出る問題なら、運用で禁止するか保護するか、影響に基づいて運用システム自体を見直す >逆に検索場所をブックにする方法を探しているところです。 → 問題としてる事象の解決は自分で提示しているようだけど、 逆に引き起こしたいってことは、単にやりたいから? VBAで置換するなら別に全シートをReplace擦ればいいだけだし GUIでブックにしたいならそう操作すればいいけど、何が必要なの 検索と置換ダイアログの操作はCommandBars.dialogsとかExecuteMsoとかで表示は出来る ウィンドウ操作にしても他のダイアログ操作と似たようなもんだろう(APIが多分必要) GUIとVBAをごっちゃに対応するから要らない悩みを抱える 運用やコストを考えない妄想の機能なら、それこそ趣味でアドインでも作ればいい
871 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 21:24:09.39 ID:2XIJsT+F0.net] 説明足らずで申し訳ありません。 カンマ区切りのテキストファイルに対してOpenTextを使います。これでカンマごとにセルに値が分けらたエクセルブックが開きます。 このブックのシートを通常のエクセルシートと同様に、例えばRange("A1").Activateとしたいのですが、ブックをどうやって指定すればいいのでしょうか? 以下の方法を試しましたがうまくいきません。 元々開いているブックが一つのとき、テキストファイルはWorkbooks.CountWorkbook=2として開かれることを確認。このときWorkbooks(2)をVariant型の変数に代入しようとしました。 Set myBook = Workbooks(2) ウォッチ式でmyBookの値を確認すると 型 Variant/Object 値 <変数なし> となり値が取得できません。 テキストファイルの拡張子をCSVに変更すると問題なく値が取得できます。 すみませんがよろしくお願いいたします。
872 名前:デフォルトの名無しさん (ワッチョイ 7fdd-ts7H) mailto:sage [2020/05/04(月) 21:39:32 ID:m3H0OQVZ0.net] >>863 ご回答ありがとうございます。 >オプションを開いたまま これの意味がわからないですが、ダイアログを開いたままという意味なら、閉じても記憶は維持します。 全体検索実施と範囲選択実施は一連の動作じゃないです。 例えば複数のファイルを開いて作業していて、全体検索を実施したファイルは既に1時間前に閉じていたとしても設定は維持されます。 これを悪意と言われましても、、 まあ、この点は前述のコードをシートイベント等に挟むことで防げそうです。 (設置Bookに限られるかな?まあ、良い方法を考えてみます) >それでも気づかずに キーボード主体でマウスはほぼ使わない派なので、範囲選択→ダイアログ開く→検索語、置換語入力→Enterの動作は 一連の操作で、ガッ、ガガガッで感じでやっちゃうのでダイアログのパラメータいちいち確認しないんですよね。 ちょっと落ち着けよって話なんでしょうけど。 >問題としている事象の解決は自分で提示しているようだけど、 最初に掲げた命題が "VBAで検索場所(WithIn)を切り替えたい" だったので逆の操作もできれば知りたいという程度です。 破壊リスクは回避できそうですが、例えば範囲が”シート"の状態からVBAで"ブック"に変更して全置換も可能なのかな、という疑問です。 結論としては通常の方法では出来なそうですね。 Worksheets.Select: Cells.Select を実行すれば、シートをForで回さなくても Selection.Replace できることもわかりましたのでこれで解決としたいと思います。 >GUIとVBAをごっちゃに対応するから要らない悩みを抱える GUIの設定がVBA操作にも影響を与えてしまうから制御できないかなと思った次第です。 お付き合いいただきありがとうございます。
873 名前:デフォルトの名無しさん (ワッチョイ df02-mIzA) mailto:sage [2020/05/04(月) 21:50:38 ID:6MBl5GGH0.net] >>864 txtファイル開いた時点で何かしらのファイル名が付いてるでしょ
874 名前:デフォルトの名無しさん (ワッチョイ a764-7mTq) mailto:sage [2020/05/04(月) 22:13:52 ID:HiZbEqQh0.net] 特に目的があるわけではないけど、興味があってVBAを勉強しようと思ってます。 皆さんどんな勉強法しましたか?おすすめの本とか有りましたら知りたいです
875 名前:853 (ワッチョイ 67ac-ts7H) mailto:sage [2020/05/04(月) 22:16:36 ID:ESbXk+mE0.net] >>865 まあ終わってるからいいけど・・ >>オプションを開いたまま >これの意味がわからないですが、ダイアログを開いたままという意味なら、閉じても記憶は維持します。 →これは、「検索と置換」ダイアログの 「検索場所」ドロップダウンはGUIだと「オプション>>」ボタンで開かれる拡張エリアにのみ表示されて、 「ブック全体を選択した」=「オプションを展開表示している」から、GUIなら気付かないわけがない。 ということ。 ダイアログ内の設定値同様、オプション展開状況もExcelプロセスで共有してるから、 他のファイルで展開してるなら違うブックでも展開されたままダイアログ表示される。 >GUIの設定がVBA操作にも影響を与えてしまうから制御できないかなと思った次第です。 VBAもGUIで行った設定の影響を受けないような、Rangeを指定する記述を普通は心掛けるべきだな
876 名前:デフォルトの名無しさん (ワッチョイ e709-ur4w) mailto:sage [2020/05/04(月) 23:21:11 ID:igVQrW+K0.net] 今までそーいうものだと思い込ませて放置していたことなのですが、 引数を使うのにカッコつけなきゃいけないメソッドと、使わなくてもいい メソッドって、なにが違うんでしょうか?なにか理由があるのでしょうか。 Dim a As Range: Set a = Cells.Find(What:="test") ThisWorkbook.ActiveSheet.PrintOut copies:=1 それに付け加えて、findした結果をcolllectionに格納する際、 カッコをつけるとdouble型、つけないとrange型となりました。 検索結果を格納するcollection.Add 検索range 検索結果を格納するcollection.Add (検索range) ご教授何卒宜しくお願いいたします。
877 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 23:58:21.23 ID:m3H0OQVZ0.net] >>868 オプションが開かれてるという意味でしたか。 なるほどですね。 呼吸レベルでキーコンビネーションで通り過ぎちゃうので、、しっかり見るべきだと。 >VBAもGUIで行った設定の影響を受けないような ごもっともです。 普段は .Find系は滅多に使わないのですが、あるとき大被害にあって、、、 どちらかというとGUI操作のほうが悩ましかったので、、、 API制御の方法にも辿り着けて、各Controlの制御もわかりました。 一瞬表示されてしまうのが難点ですが。良い情報をいただきました。 ご助言感謝します。
878 名前:デフォルトの名無しさん (ワッチョイ 877c-mIzA) mailto:sage [2020/05/05(火) 01:19:15 ID:nv2gdYIy0.net] >>869 とりあえず戻り値があるかないかの違いとでも思っとけばよい
879 名前:デフォルトの名無しさん (ワッチョイ e7ad-HyhH) mailto:sage [2020/05/05(火) 03:17:48 ID:SDhPW+o/0.net] 12121212111211121112みたいな数列で、 1212..と続くものにはA、 11121112..と続くものにはBと置き換え、 AABBBのような文字列を作成することはできますか?
880 名前:デフォルトの名無しさん (ワッチョイ 2701-3faj) mailto:sage [2020/05/05(火) 04:45:25 ID:a+XprBAt0.net] その数列を文字列に直しておく これをReplace関数で 1212 → AA A12 → AA に置換する 同様に 1112 についても行う
881 名前:デフォルトの名無しさん (バットンキン MM4b-+Mqj) mailto:sage [2020/05/05(火) 12:25:05 ID:hJBFA35lM.net] >>871 868です。ありがとうございました。
882 名前:デフォルトの名無しさん (ワッチョイ e709-ur4w) mailto:sage [2020/05/05(火) 21:19:05 ID:lsW1yIjx0.net] vbaのエディタの話なのですが、皆様はコードの複数行を選択したいとき ショートカットかなにか使っているのでしょうか? たとえば、一部のコードが不要になって削除や切り取りしたいときに、 ちゃんと行頭から行末までしっかり選択しないとtabやスペースが残ってしまい、 その後コードがズレたり色々と不都合が生じています。 現在は、Homeで行頭、Shift+下矢印で選択しています。 マウスで左端をドラッグすれば選択できるのは知っていますが、これの キーボードショートカットとかないんですかね・・・
883 名前:デフォルトの名無しさん (ワッチョイ bf2f-WRor) mailto:sage [2020/05/05(火) 21:34:38 ID:wmeBDlBR0.net] 行選択は知らんが、行削除ならCTRL-Yでよくね
884 名前:デフォルトの名無しさん mailto:sage [2020/05/05(火) 21:52:41.57 ID:PgjsbAaO0.net] 検索すれば出てくるよな、俺は shift+上/下 をよく使うけど https://excel-ubara.com/excelvba1/EXCELVBA485.html
885 名前:デフォルトの名無しさん mailto:sage [2020/05/05(火) 22:03:15.71 ID:lsW1yIjx0.net] >>877 web拝見しましたが、「複数選択→tabで行範囲が作成される」という部分 でしょうか?確かに、削除ならこれでいけそうです。 (コピーや切り取りのときにはtab→shift+tabで元通りにしなきゃならないかもですが) 私はずっとvbaを使わずエクセル本体の操作に慣れていたのですが、よく使っているのが 適当な複数のセル範囲を作成⇒それらをshift+spaceで行範囲化 という動作だったので、ここにいる方たちはvbaではどんな操作を しているのか気になって質問いたしました。ありがとうございました。
886 名前:デフォルトの名無しさん mailto:sage [2020/05/05(火) 22:06:50.95 ID:PgjsbAaO0.net] ちがうだろ
887 名前:デフォルトの名無しさん [2020/05/05(火) 22:11:42.93 ID:NpEa/agLM.net] このハゲー
888 名前:デフォルトの名無しさん (ワッチョイ e709-ur4w) mailto:sage [2020/05/05(火) 22:30:50 ID:lsW1yIjx0.net] >>879 すみません、何回webを読み返しても分かりません… 自分でショートカットを作れる(ユーザ設定のコマンド)という部分 かなとも思ったのですが…
889 名前:デフォルトの名無しさん (ワッチョイ 738e-jYUs) [2020/05/06(水) 00:51:48 ID:Kd1uYxyM0.net] >>881 馬鹿は死ね
890 名前:デフォルトの名無しさん (ワッチョイ 7364-JVfZ) mailto:sage [2020/05/06(水) 00:55:04 ID:zRh9yAG10.net] >>882 酷いこと言うね
891 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/06(水) 01:03:21 ID:6rAOvRF50.net] コメントアウトだけはctrl+/でデフォルトでできるようにアプデして欲しいわ。。 設定もボタンクリックもめんどい
892 名前:デフォルトの名無しさん (ワッチョイ 5b09-jgrQ) mailto:sage [2020/05/06(水) 08:05:52 ID:p05hHIhJ0.net] うーむ…どういじっても分からない… Ctrl+Yは現在の行だけしか削除されないし、そもそも選択範囲は 作成されないし… おっさんになった私の限界ですかね汗
893 名前:デフォルトの名無しさん (ワッチョイ 17da-oySJ) mailto:sage [2020/05/06(水) 09:03:13 ID:1Pr5leMy0.net] >>885 やろうとしていることに何の意味がある?
894 名前:デフォルトの名無しさん (ワッチョイ 6602-uk0G) mailto:sage [2020/05/06(水) 09:22:21 ID:iCjbaALk0.net] 意味のある事しかしなかったら進化しない
895 名前:デフォルトの名無しさん mailto:sage [2020/05/06(水) 10:57:23.06 ID:6rAOvRF50.net] くっそどうでもいいことに時間かけてるな
896 名前:デフォルトの名無しさん (ブーイモ MMd6-sgQa) mailto:sage [2020/05/06(水) 12:16:06 ID:j2svN8neM.net] クラスに対してモジュールという概念がよくわかりません。Cで言うところ外部ヘッダファイルとソースみたいなものでしょうか。クラスを使ってたら基本的に出番がない?
897 名前:デフォルトの名無しさん mailto:sage [2020/05/06(水) 12:56:23.88 ID:Z893TlLs0.net] クラスはOOPに出てくるクラス newする必要がないならモジュール
898 名前:デフォルトの名無しさん (アウアウウー Sa1f-t13D) mailto:sage [2020/05/06(水) 13:46:31 ID:gPSsYrwFa.net] 馬鹿が進化してどうにかなるのか
899 名前:デフォルトの名無しさん mailto:sage [2020/05/06(水) 14:02:43.27 ID:OIN1lY2H0.net] モジュールはVBがオブジェクト指向になるまえからの互換のためだから クラスを使うなら忘れてもいいよ 広域で静的なクラスだと思えばいい
900 名前:デフォルトの名無しさん (ワッチョイ cb41-KyAn) mailto:sage [2020/05/06(水) 15:26:50 ID:G9W2eJpB0.net] >>866 そのファイル名を使っても値が変数なしになってしまいます…
901 名前:デフォルトの名無しさん (ワッチョイ 662f-jW3u) mailto:sage [2020/05/06(水) 16:43:25 ID:OIN1lY2H0.net] >>864 それウォッチがちゃんと出ないだけで、ブックそのものはとれてるだろ 試しにやってみたが、myBookのウォッチで展開すると変数なしだが myBook.Sheets(1).Range("A1").Activate でちゃんと動作するぞ
902 名前:デフォルトの名無しさん (ワッチョイ 6602-uk0G) mailto:sage [2020/05/06(水) 18:09:01 ID:iCjbaALk0.net] どうにかなるのかと思考停止するバカが炙り出される
903 名前:デフォルトの名無しさん mailto:sage [2020/05/06(水) 18:27:07.81 ID:1Pr5leMy0.net] 目的と手段が逆になる人たまにいる
904 名前:デフォルトの名無しさん mailto:sage [2020/05/06(水) 18:39:41.01 ID:6rAOvRF50.net] 基本的にプログラミングがうまくなる人って、 早い段階で、特定のやり方にこだわらず最終的に要件を満たせればいいってことに気付けるんだよな
905 名前:デフォルトの名無しさん (ワッチョイ 17da-oySJ) mailto:sage [2020/05/06(水) 19:32:27 ID:1Pr5leMy0.net] 本末転倒か、言葉が出てこなかった
906 名前:デフォルトの名無しさん (アウアウウー Sa1f-lvFW) mailto:sage [2020/05/06(水) 19:37:46 ID:aLD+Grz6a.net] それはプログラミングをするという前提を置いている時点で矛盾している 手段はなんでもいいから目的達成できりゃいい、だと、だいたいのことは出来合いのSaaSを契約して使うのが最良
907 名前:デフォルトの名無しさん mailto:sage [2020/05/06(水) 20:34:47.68 ID:6rAOvRF50.net] 仕事ならそうだよね 代わりにSaasでってのは範囲が違うので当てはまらないけど
908 名前:デフォルトの名無しさん mailto:sage [2020/05/06(水) 20:38:43.01 ID:prm5gj7H0.net] 普段の自分のやり方じゃ対応できない場面が出た時は、 変に拘らずに完成優先でやるべきって意味でしょ
909 名前:デフォルトの名無しさん (ワッチョイ 5b09-jgrQ) mailto:sage [2020/05/06(水) 20:48:48 ID:p05hHIhJ0.net] >>886 余計な操作が無くなることでかかる時間とストレスが減って、その分 新しい知識や技術を取り入れることに割ける、という意味があると思って 質問してみました。 >>879のちがうだろの結局何が違うのかは分かりませんでしたが… まあ、ググレカスは昔からある2chの風習だと思いますが。
910 名前:デフォルトの名無しさん (ワッチョイ 8f63-07dd) [2020/05/06(水) 22:29:01 ID:k50qIlTz0.net] >>902 残念ながら設定でこれだけ躓いて立ち止まるような人は言ってるような時間の有効活用できるとは思えんな ツールはツールと割り切ったり慣れたりする事ができないなら、今後時間の有効活用できるようにもなれないよ
911 名前:デフォルトの名無しさん (ワッチョイ 738e-jYUs) [2020/05/06(水) 22:34:53 ID:Kd1uYxyM0.net] >>902 馬鹿は死ね
912 名前:デフォルトの名無しさん (ワッチョイ cb41-KyAn) mailto:sage [2020/05/06(水) 23:47:22 ID:G9W2eJpB0.net] >>894 できました ありがとう
913 名前:デフォルトの名無しさん (ワッチョイ 17da-oySJ) mailto:sage [2020/05/07(Thu) 10:28:01 ID:nnhcaKI70.net] 頭のおかしい人の書き込みを読むのが無駄なので無視しますね
914 名前:デフォルトの名無しさん (オッペケ Sr33-V20a) mailto:sage [2020/05/07(Thu) 12:26:16 ID:D07kRcpQr.net] はいつぎのひと
915 名前:デフォルトの名無しさん (ワッチョイ 6391-ABif) mailto:sage [2020/05/07(Thu) 13:12:49 ID:MibsCGor0.net] >>897 そいつは違うな。 拘るのは必要だ。 最適なのに拘るの。 だから動いたで終わりにしないで他にもっと良い方法はないかを常に考える。 自分が知らなかった技術を手に入れた時に、これを使えば5年前のあの件はもっと上手く出来たかもと考える。
916 名前:デフォルトの名無しさん (ワッチョイ 1749-V20a) mailto:sage [2020/05/07(Thu) 14:10:36 ID:2qiR+IIc0.net] >>908 ヒマなんだな
917 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 14:23:33.98 ID:cpirF9cIa.net] 本気でやり方に拘ったらExcelなんて大半が無駄なわけで 自分達の仕事を守るためにも割り切りは必要
918 名前:デフォルトの名無しさん (ワッチョイ bbad-I8iA) mailto:sage [2020/05/07(Thu) 14:42:35 ID:O8jL8wQb0.net] >>897 >>908 短期では手段にこだわらない方が早いが 長期では技術向上になるから両方必要だ
919 名前:デフォルトの名無しさん (ワッチョイ 1749-V20a) mailto:sage [2020/05/07(Thu) 14:50:52 ID:2qiR+IIc0.net] そんな1つのVBAに何日もかけれんわ 時間かけれるならWebサービスとかAPIとかもっと皆が幸せな解決方法が大体あるわ
920 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 17:22:17.83 ID:IeUYmiVSd.net] VBAとか関係無く、プログラミング全般の話なんだけどね。 動きゃ良いとかいう奴はいつまで経っても出来るようにゃならんよ。
921 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 17:23:34.85 ID:IeUYmiVSd.net] >>912 無い。 VBAが使われる所は殆どVBAじゃないとどうにもならんから使われてる。
922 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 17:24:33.58 ID:IeUYmiVSd.net] >>909 出来る奴は瞬時に何通りかは思いつく。
923 名前:デフォルトの名無しさん [2020/05/07(木) 17:29:14.38 ID:OBEeDnS1M.net] 無知の知
924 名前:デフォルトの名無しさん (ワッチョイ 33ad-D+XR) mailto:sage [2020/05/07(Thu) 17:50:13 ID:oG7+JCgx0.net] Application.CentimetersToPoints(1) で列幅1cmにしたいんですが、 何度やっても5.64cmになります。 Rows(n).RowHeight = Application.CentimetersToPoints(1) はちゃんと行幅1cmになりました。 Columns(n).ColumnWidth = Application.CentimetersToPoints(1) だと何故か列幅5.64cmになります。 この事についてどう検索しても誰も言及してないことも含めて謎が尽きません。 煮詰まり過ぎて焦げ付いてきたのでどなたかアドバイスお願いします。
925 名前:デフォルトの名無しさん (ワッチョイ 33ad-D+XR) mailto:sage [2020/05/07(Thu) 17:58:41 ID:oG7+JCgx0.net] あっまさか列と幅のポイントは同じポイントでも数値としては別物って聞いた気もする そして行幅のポイントの方がVBAのポイントと合致しているという訳か だとすると列幅のポイントに変換するのはどうしたらいいのか…
926 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/07(Thu) 18:13:16 ID:k5uIH00p0.net] >>914 列幅の単位は違う 列幅の設定の仕方も 「application.centi〜 列幅」 で検索すればサンプルがいくつか出てくるけどね
927 名前:デフォルトの名無しさん (ワッチョイ becc-oySJ) mailto:sage [2020/05/07(Thu) 18:13:25 ID:z+lCu/T70.net] >>918 ページレイアウトにして、列幅1cmをマクロ記録
928 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/07(Thu) 18:13:45 ID:k5uIH00p0.net] あ、間違えた アンカ>>917ね
929 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/07(Thu) 18:17:19 ID:k5uIH00p0.net] >>915 瞬時に思い付くのに5年前のコードのこと修正するのかよw 5年間もずっとVBAばっかやって、しかもそんな昔のコード引きずってるのw
930 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 19:06:33.04 ID:IeUYmiVSd.net] >>922 あれ、分からんかった? 瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。 あるいは昔、どうしても解決出来なかった問題が解決出来たとか。 俺の場合はデフォルトのプリンター設定のポートを変更するプログラムが出来なくてね。 PRINTER_INFO_5構造体を使ってプリンターのプロパティ設定変更するのは出来てたけどポートはさらに先のポインタでその時は出来なかった。 もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。
931 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 19:59:41.10 ID:k5uIH00p0.net] >>923 効いてて草、必死すぎw
932 名前:デフォルトの名無しさん (スプッッ Sd2a-ABif) mailto:sage [2020/05/07(Thu) 20:18:07 ID:IeUYmiVSd.net] >>924 理解出来なくて悔しいからって、そうまでして絡みたいの?
933 名前:デフォルトの名無しさん (ワッチョイ 6668-uk0G) mailto:sage [2020/05/07(Thu) 20:58:22 ID:SRAFxxem0.net] 効いてる事にして勝ったつもりになってるけど実は・・・
934 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 21:20:02.04 ID:k5uIH00p0.net] >>925 別に古臭いVBAおじさんに絡みたいとかないけどなw その程度でどや顔して、こんなところで長文まで書いて哀れだなあってねw ・瞬時に5個思い付く(ドヤア) ・10年以上前の話(ドヤア) ・どうしても解決出来ない問題が解決できた(ドヤア) いい年して恥ずかしいww
935 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 21:20:55.13 ID:XMGIuLDd0.net] >>917 煮詰まったなら完成じゃん。
936 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 21:29:03.52 ID:vCXp7vkf0.net] 4月、5月、6月というシートを請求書という新しいブック名のシートに追加していきたい場合 請求書というブックがなかったら 請求書というブックを作成して○月のシートをコピー 既に請求書というブックがあったら そのブック内に○月のシートをコピー という考え方でいいですか? というか可能ですか?
937 名前:デフォルトの名無しさん (ワッチョイ cf7c-7oqX) mailto:sage [2020/05/07(Thu) 21:34:48 ID:wHiSIw2F0.net] 既にあるブックを変えて問題ないんならいいんじゃないの
938 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 21:46:21.07 ID:IeUYmiVSd.net] >>927 悔しいと素直に言えば良いのにw
939 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 21:58:23.82 ID:k5uIH00p0.net] >>931 あ、恥ずかしくなってるwかわいーねーw
940 名前:デフォルトの名無しさん (ワッチョイ 33ad-D+XR) mailto:sage [2020/05/07(Thu) 22:16:17 ID:oG7+JCgx0.net] 色々調べ直して列幅1cmできた! ありがとうございます。 それにしたって、なんと解りにくい… CentimetersToColumnPointsみたいにしてくれればいいのに…
941 名前:デフォルトの名無しさん (スプッッ Sd2a-ABif) mailto:sage [2020/05/07(Thu) 22:22:20 ID:IeUYmiVSd.net] >>932 自分の技術が足りないのがそんなに悔しいのかねw
942 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/07(Thu) 22:33:54 ID:k5uIH00p0.net] >>934 恥ずかしくて言えることないの草 黒歴史だねーww
943 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/07(Thu) 22:35:53 ID:k5uIH00p0.net] >>934 あ、>>929とか5通り早くコード付で答えてあげなよww あと5年後まで改善策見つけたら書き込んでねw
944 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 22:48:13.57 ID:IeUYmiVSd.net] >>935 君が初心者に毛が生えたレベルなのは俺の責任じゃ無いんだ。 悔しいからって絡むのは辞めてくれw
945 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 22:50:20.24 ID:IeUYmiVSd.net] だいたい、バカにしようととしたら自分より上のレベルで悔しくても、それは自分が悪いんだろw
946 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 23:08:01.99 ID:ATN3rOjQ0.net] array関数で要素を代入する際に、プロシージャ引数のヒントの様にカンマで区切ると何を入力すべきか表示させることは出来ないでしょうか。要素が多いので解りづらくて 戻り値ありの関数作るべきなのでしょうか
947 名前:デフォルトの名無しさん mailto:sage [2020/05/08(金) 00:15:43.02 ID:7LgH0Xf00.net] >>939 入力に困るほど大量のデータをプログラム中に直接書くのは設計が悪いと思う せめてワークシートに見出しを付けて並べたら?
948 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/08(金) 00:44:49 ID:NrG+fdAu0.net] >>937 恥ずかしい書き込みするやつの言うことは違うなあw 10年以上前の話とか言っちゃうんだもんなあww で、5年がなんだって?w
949 名前:デフォルトの名無しさん (ワッチョイ 6391-ABif) mailto:sage [2020/05/08(金) 02:37:36 ID:LrYvIqoM0.net] >>941 だから絡むの辞めてくれ。 初心者のプライドが傷ついたのかよw
950 名前:デフォルトの名無しさん (ワッチョイ 17da-oySJ) mailto:sage [2020/05/08(金) 09:10:24 ID:gaKPf4O20.net] 1000とった方が勝ち
951 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/08(金) 09:39:57 ID:NrG+fdAu0.net] >>942 >出来る奴は瞬時に何通りかは思いつく。 >もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。 >瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。 ん?早く質問者に5通りコードで回答してあげなよ、プロVBAおじさんww
952 名前:デフォルトの名無しさん (ワッチョイ 6668-uk0G) mailto:sage [2020/05/08(金) 10:17:39 ID:SGzHt0H00.net] このスレにコロナでも混ざってんの?
953 名前:デフォルトの名無しさん (スプッッ Sd2a-ABif) mailto:sage [2020/05/08(金) 12:21:01 ID:KpBIrL5Ad.net] >>944 その返しもバカっぽくね? 質問の内容とか考えた?
954 名前:デフォルトの名無しさん (スプッッ Sd2a-ABif) mailto:sage [2020/05/08(金) 12:25:59 ID:KpBIrL5Ad.net] >>944 >早く質問者に5通りコードで回答してあげなよ 日本語をちゃんと理解することができる?
955 名前:デフォルトの名無しさん (ワッチョイ 7f7f-sgQa) mailto:sage [2020/05/08(金) 12:27:38 ID:EoiUnzGX0.net] static変数の宣言と同時に初期値入れても、Cと違って毎回初期値が入るようなんですけが回避方法ってありますか
956 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/08(金) 12:37:08 ID:NrG+fdAu0.net] >>946 ほらほらー、10年以上やってこの程度も5通り分からないの?ww 「出来る奴は瞬時に何通りかは思いつく。」 んだろwwほらほらww
957 名前:デフォルトの名無しさん (アウアウウー Sa1f-Y/5H) mailto:sage [2020/05/08(金) 18:51:21 ID:F9AE4+4ta.net] バッチを非同期で実行したいんだけどShellでやってもWSHShellでやっても バッチの終了まで待たされるんだけど何故? やってることはIEを操作してファイルをDLするところまでVBAでやって それ以降の処理をバッチでやりたいんだけど…
958 名前:デフォルトの名無しさん (ワッチョイ cfe6-r6hg) [2020/05/08(金) 19:02:53 ID:XNwDJZFz0.net] 非同期オプション付けても出来ないのですか? 不思議ですね
959 名前:デフォルトの名無しさん (ワッチョイ 7364-JVfZ) mailto:sage [2020/05/08(金) 19:59:31 ID:swHMPSPD0.net] 最大で何行くらい組んだことある?
960 名前:デフォルトの名無しさん (ワッチョイ aea7-XasS) mailto:sage [2020/05/08(金) 20:43:59 ID:1Hremoh70.net] 2000
961 名前:デフォルトの名無しさん (アウアウウー Sa1f-2+Ho) [2020/05/08(金) 21:13:02 ID:oLBub1X/a.net] vbaでハイパーリンク設定済み場所から フルパスを取得したいです。 https://www.google.co.jp/amp/s/gamp.ameblo.jp/ksej/entry-11288945247.html このサイトの方法でネットワーク上のアドレス取得して あるセルにフルパスを貼りたいんだけど カレントディレクトリが¥¥A¥B¥C とあったら、¥¥A¥Bまでしか貼り付けに反映されないのってなぜかわかりますか? msgboxでカレントディレクトリだけ表示させたら Cまで表示されますが貼り付けたらBまでしか表示されない感じです。 あとカレントフォルダの設定はこのサイトの方法です。 https://vbabeginner.net/vbaでネットワークドライブにカレントを変更する/
962 名前:デフォルトの名無しさん (スプッッ Sd2a-ABif) mailto:sage [2020/05/08(金) 21:31:38 ID:KpBIrL5Ad.net] >>949 くだらねえ煽りの前にお前が日本語を理解出来て無かったのが分かったのか? そして今は理解出来てるんだろうな?
963 名前:デフォルトの名無しさん (スプッッ Sd2a-ABif) mailto:sage [2020/05/08(金) 21:32:10 ID:KpBIrL5Ad.net] >>949 そしてもう1つ。 質問の内容とか考えた?
964 名前:デフォルトの名無しさん (スプッッ Sd2a-ABif) mailto:sage [2020/05/08(金) 21:43:28 ID:KpBIrL5Ad.net] >>950 Shellは待たされないと思うぞ。 待つにはタスクからプロセスハンドルを得て、WaitForSingleObjectとかを使う筈。 ←たしかこいつは古いんで今は似た名前の奴を使う。
965 名前:デフォルトの名無しさん (ワッチョイ 738e-jYUs) [2020/05/08(金) 22:58:17 ID:AMoglHga0.net] >>954 ただのコピペしかできない馬鹿だからだろ
966 名前:デフォルトの名無しさん (アウアウウー Sa1f-2+Ho) [2020/05/08(金) 23:39:12 ID:oLBub1X/a.net] >>958 他のサイトも色々見て調べたり試行錯誤したのですが Cが表示されなくて。 何か縛り的なのがあるかわかりますか。 貼り付け時の表示文字数に制限があるとか。 最悪わからなければ、 ¥¥からCまでを取得したものをセルに貼り付けて C以降を貼り付けたものを&で繋げて使おうか迷ってます。
967 名前:デフォルトの名無しさん (ワッチョイ b7ce-oySJ) mailto:sage [2020/05/08(金) 23:49:29 ID:7LgH0Xf00.net] >>954 最小限のコードで実験してみ? (1)ワークシートにハイパーリンク設定 (2)FSOでフルパス取得 (3)MsgBoxで確認 (4)セルにフルパスの文字列を入れる
968 名前:デフォルトの名無しさん (アウアウウー Sa1f-2+Ho) [2020/05/08(金) 23:56:44 ID:oLBub1X/a.net] 1)と2)と4)についてはBまでの表示 3)についてはフルパスでは試してないので、試して見ます。 ちなみに3)はカレントディレクトリのみで行うと、Cまで表示されて、次の行に2)を試すとBまでになってしまいます。
969 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/09(土) 00:37:26 ID:SO2yq4ky0.net] >>955 質問どんどん来てるよww 10年やってきたんだから早く5通り以上答えてあげなよww そしてリファクタリング出来たらその都度書き込んでなw >出来る奴は瞬時に何通りかは思いつく。 >もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。 >瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。
970 名前:デフォルトの名無しさん (アウアウウー Sa1f-Y/5H) mailto:sage [2020/05/09(土) 09:12:02 ID:jb1+fPLha.net] >>957 思うぞと言われても実際待たされてるから困ってるんだが。 検索しても待つ方法しか引っかからんし… CPU使用率が上がるとVBAスクリプトが止まるとかそういうわけじゃないよね
971 名前:デフォルトの名無しさん (オッペケ Sr33-DSpW) mailto:sage [2020/05/09(土) 09:12:34 ID:5lxB5cuMr.net] パスとドライブの違いわかってる? uncパスの形式わかってる? そのaもbもフォルダじゃないけど、なにをどうやって表示させた?
972 名前:デフォルトの名無しさん (ワッチョイ b7ce-oySJ) mailto:sage [2020/05/09(土) 10:41:18 ID:OK904gHA0.net] 最小限のコードでテストしてみた Excel2019のshell関数でバッチの同時起動できてるから原因は別の所にある https://i.imgur.com/bqqc2uc.png
973 名前:デフォルトの名無しさん (ワッチョイ 17da-oySJ) mailto:sage [2020/05/09(土) 11:14:42 ID:m7V0shMq0.net] >>954 ハイパーリンク扱う時って表示文字列とアドレスの2つがあった気がするが関係ないか?
974 名前:デフォルトの名無しさん (ワッチョイ 8f59-2+Ho) [2020/05/09(土) 12:02:06 ID:zV8Vx2bY0.net] >>964 わかりにくくてすいません。 abcは仮に書いた感じで、実際はネットワーク上のフォルダ名になります。
975 名前:デフォルトの名無しさん (ワッチョイ b7ce-oySJ) mailto:sage [2020/05/09(土) 12:06:22 ID:OK904gHA0.net] >>967 何をやろうとしてるのかイマイチよくわからん 試したコードとワークシートのスクショをここに書いて
976 名前:デフォルトの名無しさん (ワッチョイ 6391-ABif) mailto:sage [2020/05/09(土) 12:11:35 ID:74X5YOol0.net] >>962 日本語が理解出来てたのか出来て無かったのかどっちだい? 話はそれからだ。
977 名前:デフォルトの名無しさん (ワッチョイ 8f59-2+Ho) [2020/05/09(土) 12:17:50 ID:zV8Vx2bY0.net] >>968 ネットワーク上にあるエクセルファイルで、 相対参照で貼り付けされたハイパーリンクがあるんですが それを絶対参照で取得したいです。 カレントディレクトリを¥¥a¥¥b¥¥cで設定し GetAbsolutePathNameで取得しあるセルに貼り付けると なぜか¥¥a¥b¥取得したパス.xlsxになります。 カレントディレクトリをmsgboxで表示すると¥¥a¥b¥cとなります。 今端末が手元にないので、スクショ取れるようになり次第 対応します。 助かります。
978 名前:デフォルトの名無しさん (ワッチョイ 8f59-2+Ho) [2020/05/09(土) 12:23:23 ID:zV8Vx2bY0.net] >>966 アドレスを変更しています。
979 名前:デフォルトの名無しさん (ワッチョイ 7364-JVfZ) mailto:sage [2020/05/09(土) 12:40:40 ID:5ucHUX9S0.net] どうやってvba勉強した?
980 名前:デフォルトの名無しさん (JP 0He6-lvFW) mailto:sage [2020/05/09(土) 12:48:47 ID:drDVgFRjH.net] いくつか他の言語はできるからなんとなく雰囲気で 特に勉強はしていない
981 名前:デフォルトの名無しさん (ワッチョイ 6391-ABif) mailto:sage [2020/05/09(土) 13:04:53 ID:74X5YOol0.net] >>963 何となく分かった。 待たされたんじゃなくてフォーカスがバッチファイルにある。 よく、たくさんのウィンドウが開いてる時なんかにメッセージを表示しようとタスクバー上で点滅してるのと同じ現象。 バッチファイル実行中にExcelをクリックするとすぐ実行されるよ。 Shellの第2引数にvbNormalNoFocusを指定してみよう。
982 名前:デフォルトの名無しさん (ワッチョイ 6391-ABif) mailto:sage [2020/05/09(土) 13:16:32 ID:74X5YOol0.net] >>970 カレントディレクトリとは何かを調べた方が良い。 これはエクセルファイルだとかに関係が無い。 動いている場所だ。 ブックのある場所でも無い。 ハイパーリンクの相対参照、絶対参照の操作でカレントディレクトリが関係することは無い。
983 名前:デフォルトの名無しさん (スフッ Sd8a-xOzV) mailto:sage [2020/05/09(土) 13:16:59 ID:hJO1Owz9d.net] >>972 マイコンBASICマガジンのゲームがやりたくて覚えた 子供は記憶力がいいからすぐ覚えた 大人になってから始める人は大変だろうね
984 名前:デフォルトの名無しさん (ワッチョイ 738e-jYUs) [2020/05/09(土) 13:21:14 ID:WSrPnN3q0.net] 意味もわからずただコピペしかできない馬鹿には無理
985 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/09(土) 13:25:01 ID:SO2yq4ky0.net] >>969 話はそれからだ、ってコード5つ提示もしないで答えない10年経験者に言われてもなあww ほらコード5つ提示して答えてあげなよw >出来る奴は瞬時に何通りかは思いつく。 >もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。 >瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。
986 名前:デフォルトの名無しさん (ワッチョイ 8f59-2+Ho) [2020/05/09(土) 13:27:57 ID:zV8Vx2bY0.net] >>975 ご指摘ありがとうございます。 相対参照だと./や../で省略されてしまうので 省略される箇所(ネットワーク上(インターネット上ではない)の決まったフォルダ) を指定するためにカレントディレクトリで設定していました。 ちなみに複数端末でファイルを操作する事を想定しています。 もう少し勉強します。
987 名前:デフォルトの名無しさん mailto:sage [2020/05/09(土) 13:33:59.72 ID:74X5YOol0.net] >>978 やっぱり日本語分かってねえじゃんwww
988 名前:デフォルトの名無しさん mailto:sage [2020/05/09(土) 13:40:39.44 ID:m7V0shMq0.net] >>970 ネットワーク上にあるエクセルファイルはUNCパスになるので ディレクトリ構成はサーバー上での階層 一番上はサーバーのIPアドレス(DNSで変換された名前)
989 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/09(土) 14:38:22 ID:SO2yq4ky0.net] >>980 自分の言ったこと分かってねえじゃんww >出来る奴は瞬時に何通りかは思いつく。 >もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。 >瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。
990 名前:デフォルトの名無しさん (ブーイモ MM97-OuYa) mailto:sage [2020/05/09(土) 15:54:31 ID:INzaqzr5M.net] 議論してるところ申し訳ないけど >>929 わかる方お願いできますか
991 名前:デフォルトの名無しさん (ワッチョイ 17f8-lN29) mailto:sage [2020/05/09(土) 15:58:18 ID:JX27GBwZ0.net] >>983 合ってるよ
992 名前:デフォルトの名無しさん mailto:sage [2020/05/09(土) 16:04:20.17 ID:74X5YOol0.net] >>982 バ一カw >>984 そう、これが正解。 バカと違って質問の意味が分かってる人はこういう答えになるから何通り等の方法等とならないことを知っている。
993 名前:デフォルトの名無しさん (ワッチョイ 7332-R2sI) [2020/05/09(土) 18:27:33 ID:d0o5iTyS0.net] >>984 便乗してそのコード教えてくれせんか
994 名前:デフォルトの名無しさん [2020/05/09(土) 18:39:39.46 ID:3Qrhs3L2M.net] ある表があって一行ずつアクティブセルをループで下に移動させ、条件があった場合offset で特定のセルを集計するマクロを作成し使用してたんだけど、 アクティブセルじゃなくてcellで置き換えたら実行スピードが早くなった。 やっぱり画面が遷移すると遅くなるんだよね? オートフィルタ組み込むと遅くなる?
995 名前:デフォルトの名無しさん (ワッチョイ 6bac-V20a) mailto:sage [2020/05/09(土) 19:29:16 ID:SO2yq4ky0.net] >>985 矛盾しまくってるがww 頭悪いなーVBA10年以上やってるんだろww 瞬時に5通りできるんじゃないんですかー?www ID:KpBIrL5Ad ID:74X5YOol0 ID:MibsCGor0 >バカと違って質問の意味が分かってる人はこういう答えになるから何通り等の方法等とならないことを知っている。 >出来る奴は瞬時に何通りかは思いつく。 >もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。 >瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。
996 名前:デフォルトの名無しさん [2020/05/09(土) 19:48:20.99 ID:YHeP8Ot70.net] >>986 死ねよ
997 名前:デフォルトの名無しさん (ワッチョイ 7f7f-sgQa) mailto:sage [2020/05/09(土) 20:09:54 ID:7P+we5mg0.net] フォームからシートにデータを入力する場合、セルに値を入れるコードはどちらに書く方が良いのでしょうか。 シート側に関数処理書いて、フォーム側から引数渡す形を考えていますが、本来はどういう使い方なのかわからず。
998 名前:デフォルトの名無しさん (ワッチョイ 17da-oySJ) mailto:sage [2020/05/09(土) 20:14:54 ID:m7V0shMq0.net] >>990 書き方が何通りかある場合、どれを選択するかは作る人が選択すればいい
999 名前:デフォルトの名無しさん (ワッチョイ cf7c-7oqX) mailto:sage [2020/05/09(土) 20:29:18 ID:JFqcrtJG0.net] >>987 表示に影響する処理は速くない
1000 名前:デフォルトの名無しさん (ワッチョイ cf7c-7oqX) mailto:sage [2020/05/09(土) 20:32:02 ID:JFqcrtJG0.net] >>990 自分だったらシートには書かない
1001 名前:デフォルトの名無しさん mailto:sage [2020/05/09(土) 21:56:43.63 ID:RixiaBnA0.net] >>990 変なやり方だね
1002 名前:デフォルトの名無しさん (ワッチョイ 7eef-oySJ) mailto:sage [2020/05/09(土) 22:11:53 ID:yzOAykNA0.net] >>938 フォームとシートでどちらが主役かで決めるといいと思ったけど シートをコピーしたときにコードもコピーされて後で大変になるから、シートじゃない方がいいね
1003 名前:デフォルトの名無しさん (ワッチョイ 7eef-oySJ) mailto:sage [2020/05/09(土) 22:12:57 ID:yzOAykNA0.net] ×>>938 ○>>990 です
1004 名前:デフォルトの名無しさん (ワッチョイ 7f7f-sgQa) mailto:sage [2020/05/09(土) 22:22:33 ID:7P+we5mg0.net] ありがとうございます。 フォームのコード量が多くなりますね。別クラスに記述してみます。
1005 名前:デフォルトの名無しさん mailto:sage [2020/05/09(土) 23:28:56.55 ID:m7V0shMq0.net] >>997 お前の仕事はお前が判断すればいい
1006 名前:デフォルトの名無しさん mailto:sage [2020/05/09(土) 23:43:47.15 ID:G+eyUkVB0.net] 俺の仕事はお前のものだ。 お前の仕事はお前のものだ。 お前の手柄は俺のもの。 俺の手柄は俺のものだ。 みんな違っていいじゃないか。 だって、人間だもの。
1007 名前:デフォルトの名無しさん mailto:sage [2020/05/10(日) 08:02:11.47 ID:Nkoph0aj0.net] 俺の手柄なら金くれ
1008 名前:デフォルトの名無しさん mailto:sage [2020/05/10(日) 08:02:44.03 ID:Nkoph0aj0.net] 1000
1009 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 53日 15時間 35分 24秒
1010 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています