1 名前:1000 [2020/05/10(日) 13:43:45 ID:Nkoph0aj.net] ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part65 https://mevius.5ch.net/test/read.cgi/tech/1584430040/ ※デフォルト設定
969 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 02:11:43.53 ID:NG7/h+3B.net] >>937 多分そういうこと言ってるわけじゃないと思うぞ
970 名前:デフォルトの名無しさん [2020/06/22(月) 02:30:48 ID:6UseFZdn.net] >>938 え? Excel vba を仕事にするのが会社の重要な業務である業界ってどこですか?
971 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 03:23:12.33 ID:CPlWdThO.net] >>939 お前の会社は何の業界の会社だよw 例えば30代のバイトが梱包している作業のほうが会社にとって利益をもたらすんじゃないのか
972 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 08:49:37 ID:no76adsC.net] ヨコレスだけど30代に梱包やらせる会社とか潰れちまえ 頭も体も回る年代なんだから大いに無駄な事やらせた方がいいと思うね 年食って手数よりも口数のほうが多くなってきたら梱包に回せ
973 名前:デフォルトの名無しさん [2020/06/22(月) 10:07:31.70 ID:lKh0OPb2.net] では無能な30代には何をやらせれば良いのだ?
974 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 10:18:08.71 ID:f1XJDlES.net] バイトに雑用させるのは普通だし年齢関係ないわ
975 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 10:44:00.06 ID:i2ShoQV/.net] VBAスレなのにバイトの仕事がどうのって話になってて、さすがだなっておもいましたwww
976 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 10:45:26.13 ID:DpiCYHaq.net] vbaってプログラミングなの?
977 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 11:16:34 ID:DTKm8QVZ.net] プログラミングじゃなかったらなんなんだ 物書きか?
978 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 11:19:23 ID:DpiCYHaq.net] Excel関数の延長?
979 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 12:06:22.79 ID:f1XJDlES.net] 正式な定義を知りたきゃMS公式でも見ればいいだろ…
980 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 12:10:34.37 ID:DpiCYHaq.net] 申し訳ありませんでした
981 名前:デフォルトの名無しさん [2020/06/22(月) 12:26:25 ID:qDFuj4q3.net] 馬鹿ばっか
982 名前:デフォルトの名無しさん [2020/06/22(月) 18:17:44 ID:es1/qSoW.net] 一年限定で異動してきた職場 噂に聞いてたけど想像を絶するところだった エクセル使う業務がほとんどなのに 関数使える人が数人、まともな人は確かにいる ふとみたおっさんはエクセルの表の合計を電卓で足してキーボードでそれを打ち込 ふとおばちゃん達は 「ここ選択してイコールの後にアルファベットと数値と同じ数値が反映される」 「えー!そうなの?」 と会話してる マクロ以前の問題だった
983 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 18:44:26 ID:CPlWdThO.net] 管理者が無能だと会社がなくなる 管理者が有能なら無能な人材に高い給料は出さない
984 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 19:03:11 ID:f1XJDlES.net] 周りは出来ない語りしてもお前が優秀になれるわけじゃないんだよなぁ
985 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 23:08:43.37 ID:eYhHFxw6.net] VBAでイキるの面白すぎるからやめて
986 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 23:16:11.85 ID:R2BScS4S.net] やめたら面白くないだろ
987 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 00:55:19 ID:TulROOqi.net] 30代の梱包バイトのおばちゃんがVBAできないとか比較する方がおかしい
988 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 01:00:04 ID:bSgedWTD.net] VBA素人です というか、ちょっとだけPHPを書いたことがある程度のプログラム初心者です セルA1:A5のどこか一箇所に値を入力すれば全てのセルが埋まるようにしたいのです 全てのセルには入力された値に対して決まったパーセンテージをかける たとえばA1に100と入力されたらA2~5にはそれぞれA1*○%(○はA2~5とも異なる) A2に100と入力されたらA1及びA3~5にそれぞれA2*○% 多分条件分岐でいうと if A1が空白でないならA1には入力した値、A2*○%、A3*○%・・・ elseif A2が空白でないなら・・・ みたいな
989 名前:感じになるのかなと思うのですが冗長ですよね… do Whileで書けるのか、他にスマートな書き方があるのか見当がつきません フォームでどのセルに入力するか選んで値を入れてボタンを押すと 全てのセルが埋まる、というのが理想です アドバイスを頂けたらありがたいです よろしくおねがいします [] [ここ壊れてます]
990 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 01:09:31.87 ID:kv8byCI9.net] for r=1 to 5 if 入力されたセルじゃない場合 cells = 入力された数値かける定数 end if next みたいな感じでは?
991 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 01:33:11.82 ID:kv8byCI9.net] あー、これじゃダメみたい、すみません。
992 名前:デフォルトの名無しさん [2020/06/23(火) 01:53:19.74 ID:bE26MwSl.net] >>957 ちょっとだけとか書くなよ 全くわかっていない馬鹿だろうが
993 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 02:25:19.01 ID:akfNW9d5.net] 入力セルによらず割合が一定なら100%の値を出してからそれをループで入れろバカか
994 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 03:24:31 ID:TulROOqi.net] >>957 俺なら入力は1か所(A1)だけにして A2〜A5 は 入力させない or "=A1" にでもするかもな
995 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 05:39:38.41 ID:BwhdgQkj.net] >>957 ユーザーフォームにリストボックスとテキストボックスとコマンドボタンを作成し以下 Dim val As Double Private Sub UserForm_Initialize() With ListBox1 .AddItem "A1" .AddItem "A2" End With End Sub Private Sub CommandButton1_Click() If UserForm1.ListBox1.Value="A1" then val = UserForm1.TextBox1.Value A1 Else If UserForm1.ListBox1.Value="A2" then val = UserForm1.TextBox1.Value A2 End If End Sub Sub A1() Range("A1").value=val Range("A2").value=val*0.2 Range("A3").value=val*0.3 Range("A4").value=val*0.4 Range("A5").value=val*0.5 End Sub Sub A2() Range("A1").value=val*0.1 Range("A2").value=val Range("A3").value=val*0.3 Range("A4").value=val*0.4 Range("A5").value=val*0.5 End Sub
996 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 07:50:59.28 ID:xSXJEKQO.net] 意図が伝わるようにユーザーフォームで入力させた方がいいように見えるな visibleのtrue ,false切り替えでうまくやりたい
997 名前:955 mailto:sage [2020/06/23(火) 09:36:33.10 ID:bSgedWTD.net] ご教示下さったみなさまありがとうございます >>963 丁寧にありがとうございます 書いて頂いたのでなんとかなりそうです
998 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 10:14:19.39 ID:eVy5K5L9.net] コピペ
999 名前:961 [2020/06/23(火) 12:34:05.64 ID:5v5sJ6te.net] >>965 スマホで寝ながら打ったから Win7のExcel2010にコピペして確認してみたらミスってた 訂正。大文字だったスマソ then>Then https://i.imgur.com/LQvQjn9.png
1000 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 13:08:23.25 ID:AqGxlhQk.net] VBEが勝手に大文字に直してくれるから、ステートメントは全部小文字で入力してるわ
1001 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 16:26:51.99 ID:lLVW3adv.net] UsedRangeの使えなさに絶望しました あれってなに目的で使えんの? >>968 おれもそれチェック代わりに使ってるんで 変数はほぼ全て大文字スタートだわ 他言語だとやらないけどVBAはエディタがあれなんで
1002 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 17:18:02.36 ID:JWFUfSAs.net] >>969 間違った使い方してるだけじゃないのか
1003 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 18:21:08.83 ID:coVE1fyX.net] >>969 グラフ自動生成するときとかに使ってる
1004 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 18:22:23.82 ID:z7FZNG3t.net] usedrangeはファイルの中身を検査する時に使うな 個人情報が入ってないかとか
1005 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 18:28:15.83 ID:X4/0OZ1g.net] UsedRangeは普通に使うぞ。 寧ろ、一番使うかも。 Excelの固定じゃない範囲を取得する場合、これでOKというようなものが無い。 都度考えることになる。
1006 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 21:35:23 ID:LvHFRgi0.net] 値化とか
1007 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 21:40:15 ID:LvHFRgi0.net] 2次元の動的配列にバックデータを突っ込むときに使う
1008 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 22:16:19.70 ID:zDUcrbEK.net] やっと念願の夢かなって生産現場に異動できそう PCをあまり使わなくなる職場にいけるから マクロ組んだりもほとんどしなくて済むから嬉しすぎる そしてここで教えてくれた人たちへの恩も忘れられんよ
1009 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 22:27:25.32 ID:UicElvK7.net] ひでぇなぁ忘れられちゃうのかぁ残念 汗だくの梱包現場からエアコン効いた部屋に行きたいよ
1010 名前:デフォルトの名無しさん [2020/06/24(水) 10:22:12 ID:XfIA0IcT.net] Sub Sample1() Dim Target As Range Set Target = Range("P:P").FiVBA エラー 91 これで オブジェクト変数または With ブロック変数が設定されていません。t.Offset(0, 1) End Sub 何がだめ?
1011 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 10:26:15 ID:7kmsZdqz.net] FiVBAって命令あるの?
1012 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 13:23:42.08 ID:hNjrAS7L.net] tってなんだよ 宣言してないオブジェクト変数が動くわけないだろ
1013 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 13:58:43 ID:LpqCs0qI.net] なにがだめって聞かれても全てがとしか
1014 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 14:29:06 ID:jVCudKEf.net] ちゃんと内容を確認しないのが駄目
1015 名前:デフォルトの名無しさん [2020/06/24(水) 14:58:07.29 ID:ec8khzg7.net] ごめん間違えた これです Sub Sample1() Dim Target As Range Set Target = Range("P:P").Find(What:="田中") MsgBox Target.Offset(0, 1) End Sub
1016 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 15:31:45.69 ID:7kmsZdqz.net] >>983 https://www.moug.net/tech/exvba/0050116.html ここでも参考にしな まず確実に言えるのは、Nothingのエラー対処ができてない
1017 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 16:03:07.42 ID:A95Qwidx.net] >>983 田中がないんだろどうせ
1018 名前:デフォルトの名無しさん [2020/06/24(水) 16:11:20.98 ID:ec8khzg7.net] Set Target = Range("P:P").Find(What:="田中") この田中を変数というか特定のセルの値にしたい場合どうしたらいい? A1のセル内容を参照したいとする
1019 名前:デフォルトの名無しさん [2020/06/24(水) 16:18:53 ID:ec8khzg7.net] あ、できた ごめん自分は京都大学霊長類研究所のジェームズという7歳のチンパンジーだからVBAよくわからないんだ 皆さんありがとございまうす
1020 名前:デフォルトの名無しさん [2020/06/24(水) 16:21:57 ID:4/s69xMY.net] >>987 解決内容を書けチンパンジー
1021 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 17:53:24 ID:A95Qwidx.net] 自己紹介や自分語りはいらん
1022 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 19:08:49.57 ID:Ra7WLueW.net] >>986 Nothingのエラ―対処が出来て無いってのはみんなが通る道だ。
1023 名前:デフォルトの名無しさん [2020/06/24(水) 19:26:45 ID:aYj5R9EO.net] 自分で使う分にはエラー終了でも正常終了でも変わらんし
1024 名前:デフォルトの名無しさん [2020/06/25(木) 14:24:07.38 ID:UL1INOQI.net] In Range("R:R") というのがあるとして R列全体を選択するのはマストなんだけど ホントはR7からソレ以下全部にしたい In Range("R7:R")ではうまく行かないみたいだしこういう場合ってどうしたらいいんだろう
1025 名前:デフォルトの名無しさん [2020/06/25(木) 14:52:26.82 ID:fOnLoXil.net] usedrangeじゃ駄目なんですか?
1026 名前:デフォルトの名無しさん mailto:sage [2020/06/25(木) 15:35:07.92 ID:eDJAI9Nl.net] テーブルにすれば?
1027 名前:デフォルトの名無しさん mailto:sage [2020/06/25(木) 15:38:48.25 ID:emOdy//g.net] cellsでそこから最終行まで指定すればいいじゃない
1028 名前:デフォルトの名無しさん mailto:sage [2020/06/25(Thu) 16:00:07 ID:eepaDL1r.net] colmns.countが最終桁番号だしApplication.Intersectで指定2範囲の重複部分だせるし
1029 名前:デフォルトの名無しさん mailto:sage [2020/06/25(木) 16:24:03.44 ID:oGWS7APt.net] 直感的にやるならRange(Range("R7"),Range("R7").End(xlDown))でいいんじゃない
1030 名前:デフォルトの名無しさん mailto:sage [2020/06/25(Thu) 17:54:02 ID:xz2BRr
] [ここ壊れてます]
1031 名前:37.net mailto: >>992 何故最終行までという指定を省こうとするのか? 先に真っ当な手順で実現できてないのに想像で勝手に省いてうまくいかないってどういうつもりなのか? [] [ここ壊れてます]
1032 名前:デフォルトの名無しさん mailto:sage [2020/06/25(Thu) 17:54:59 ID:orhJfehX.net] きたこれ VBA歴2ヶ月なのに俺は職場のPCの先生から神様扱い
1033 名前:デフォルトの名無しさん [2020/06/25(Thu) 18:26:51 ID:BKkovaqh.net] 何そのダメ先生
1034 名前:デフォルトの名無しさん mailto:sage [2020/06/25(Thu) 18:32:44 ID:0L1EfJ/H.net] おだてられて浮かれてるだけだなw
1035 名前:デフォルトの名無しさん mailto:sage [2020/06/25(Thu) 18:45:05 ID:goJhPQKd.net] うー
1036 名前:1001 [Over 1000 Thread .net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 46日 5時間 1分 20秒
1037 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています