1 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:42:39.57 ID:K1uuwFLt.net] ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part56 mevius.5ch.net/test/read.cgi/tech/1534976724/
702 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 20:46:07.05 ID:Y5yLaTkx.net] >>668 勝手に接続してるなら、どういう方法だろうとアウトと思っておいたほうがいい 重さで言うなら、SQL直接書くかせめて確認するのが一番確実 とにかく最初にwhereでフィルタするんだ そのフィルタしたテーブル同士で結合したりするんだ。それだけ覚えておけばどうにかなる リンクしてるだけだと特に意味はないわ ってかこの辺はDB板行ったほうがいいだろう
703 名前:デフォルトの名無しさん [2018/10/11(木) 20:54:31.19 ID:Pm0hH2qh.net] SELECT TOP 100 * FROM TableA
704 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 17:32:15.43 ID:PXpuxPjv.net] 許可もらわんと管理部門から逆にIPたどられて社内のPCから不正なアクセスが頻繁にあるって言われなければいいね
705 名前:デフォルトの名無しさん [2018/10/13(土) 18:47:47.50 ID:L3Dj2/gz.net] コレがエクセルのシートしか使えないヤツラの知能の限界 しょうがない どこにインデックスはってるか見もせずに where句で巨大なテーブルをいきなり検索したりするからな そしてフルスキャンになる そしてcountで件数を確認もせずにいきなり大量抽出する 知能が低いヤツラにSQLさわらせるとこうなる もうね予見できるワケ
706 名前:デフォルトの名無しさん [2018/10/13(土) 18:51:04.15 ID:L3Dj2/gz.net] 低学歴知恵遅れの知能が低いヤツにSQLはキチガイに刃物 低学歴知恵遅れの知能が低いヤツにオブジェクト指向はキチガイに刃物 銃刀法違反なみの重罪 コレは定説
707 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 18:53:51.58 ID:T9MlimPF.net] キチガイ登場 こわい
708 名前:デフォルトの名無しさん [2018/10/13(土) 19:04:43.08 ID:L3Dj2/gz.net] そもそもdbにはいっぱい個人情報が一杯つまってる こっちのほうが重大な問題だからな 表ごとにセキュリティレベルがあるのも当然 そういった制限すらないのはヤバイ会社 だれがいつそういった情報を取得スしたか どんな業務で誰の承認で取得したか ちゃんと履歴が必要になる
709 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 21:11:38.49 ID:iFQl0LJl.net] いっぱい一杯
710 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 22:25:56.64 ID:/vvsi1/9.net] Excel VBAの話をしてよ
711 名前:デフォルトの名無しさん [2018/10/14(日) 00:37:19.40 ID:Q3eQCyRU.net] excel vbaで語ることなんかあんの excel vbaで語るなら、それを併用して得られるメリットぐらいしかない excel vbaでなんかいいことあった?
712 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 10:50:03.22 ID:xKzvoEYL.net] >>678 おまえはなんの話をしているんだ?スレ名読めんのか?
713 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 11:16:34.21 ID:RzJcTIeH.net] >>678 その質問はご法度 無視されるか話をそらされるだけ >>679 のようにね
714 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 15:42:57.90 ID:jfwl8Yip.net] >>678 彼女ができました
715 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 21:16:00.15 ID:E6pr56BO.net] 私たち日本人の、日本国憲法を改正しましょう。 総ム省の、『憲法改正國民投票法』、でググって みてくださ
716 名前:「。拡散も含め、お願い致します。 [] [ここ壊れてます]
717 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 03:46:59.80 ID:SShwrEAs.net] 激しくスレチ
718 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 15:17:46.48 ID:ZlBiMRvR.net] excel vbaの話題がない、最近使ってないし
719 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:43:27.94 ID:VGXZfwAw.net] 別に無いならないでそれでよかろう。話題がないとお前は困るのか?
720 名前:682 [2018/10/16(火) 20:24:31.25 ID:wwtQC7N8.net] >>685 困るから言っておるのだ
721 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 20:33:30.35 ID:7RIuHdb8.net] yahoo知恵遅れなら毎日うんざりするような質問だらけだよ
722 名前:デフォルトの名無しさん [2018/10/16(火) 20:35:04.21 ID:H029zngb.net] ヤホーよりプロさんの方がバカっぽいけどねw
723 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 20:58:20.65 ID:7RIuHdb8.net] 知恵遅れでの"VBA" "VBスクリプト" "マクロ"いずれかを含む質問数、過去24時間に76投稿 回答者もうんざりしてる
724 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 22:01:20.92 ID:QoFGLA2x.net] エクセルの鉄則:達人であることは隠せ https://jp.wsj.com/articles/SB10750612626653313748604584520883598309574 「次々と人がやって来ては『エクセル...
725 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 23:49:27.99 ID:LqxRfbs7.net] ここが面白く無いせいでPowerShellerがExcelスレまで荒らしに来てて困る。
726 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 13:34:37.11 ID:i+REgo0L.net] カンマ区切りのcsvをデータインポートで読み込むと一部がズレます csvを一度メモ帳に全部貼り付けて、それをexcelに貼ったあとデータ区切りでカンマを選ぶと上手く取り込めます この挙動の違いがイマイチよく分からないんですがどうしてメモ帳に貼り付けることで上手く読み込めるようになるんでしょうか
727 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 13:46:32.94 ID:tHw/Qu/E.net] そら貼り付けとデータインポートは別の機能だからだよ Excelは既存の機能の動作がわずかでも変わったら必ずマクロが動かんようになったやないかどないしてくれんねんボケと山ほどの馬鹿が怒鳴り込んでくる 似た機能を追加したから共通化しますね〜と安易に仕様変更できず、大量の機能の重複を抱えながら昔のバグっぽい挙動も尊重して個別にメンテしてるの このスレにいるような連中のせいでな
728 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 14:48:36.05 ID:9GZlDgUm.net] >>692 データのせい
729 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 14:59:38.33 ID:uJo2tnoC.net] >>694 が正しい。 >>693 は戯言なので無視していい。 メモ帳貼り付け保存後、と前とをバイナリー比較すれば理由は見えてくるはず
730 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:42:17.32 ID:i+REgo0L.net] ありがとうございます bomとかそういう感じですかね また、うまく読み込めないのは一部utf8形式の文字コード?があり、それをsjisに変換出来ないのが原因のようでした データインポートでutfを選択したら無事開けました
731 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 17:06:43.54 ID:S++6iW66.net] >>696 一部だけUTF8? 混在してたってこと?
732 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 18:02:13.22 ID:5pOkIjLu.net] 半角と全角の混在で全角だけUTF-8とか
733 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 18:07:18.62 ID:7Q2iPe/Z.net] ダブルクォーテーションとカンマのくくりが上手く行ってないとか
734 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 19:38:14.44 ID:uJo2tnoC.net] >>698 あたりまえ、UTFもShiftJISも英数は同じ
735 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 23:31:27.45 ID:SJQ0JWQn.net] 英数だけが半角とは限らんがな ココニカケルカナ
736 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 13:31:04.71 ID:ks5As5t+.net] セル内改行でひっかかってるのかも 改行コードは何種類
737 名前:もあるし、読み込み方法によって正常に認識してくれないケースがあるから [] [ここ壊れてます]
738 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 13:46:30.50 ID:B1wZDxhL.net] >>702 メモ帳経由だとうまくいくってのと整合しない
739 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 14:30:43.91 ID:vpgDyIt0.net] >>696 で解決報告あるのに何をいつまで考えてるのw
740 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:04:18.15 ID:ekkKNanr.net] 自分でもしっかりと把握してないので書くつもり無かったんですが一応解決の詳細書きますね まずダブルクォーテーションやカンマはないです あと自分の理解と説明が足りてませんでした 一部utf8ではなく全部utf8で基本普通の英文字と数字なのでsjisでもぱっと見問題なく開けるけどクエリストリングのカラムにノーブレーキングスペース?やsjis対応してない文字列があり、そこで上手いこと処理出来てなかったみたいです utf8をsjis指定でデータインポートしようとしたのが間違いの発端でしたスミマセン
741 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:33:45.83 ID:vpgDyIt0.net] いやいやおつかれさま
742 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:12:45.91 ID:wIeiUTi/.net] WorkSheet_Changeでセルの内容に変化があったときだけ文字色を赤にする処理を行おうとしています 対象が単体ならApplication.Undoで比較できますが、複数の場合1セルずつに対してUndoができないため 対象全体の内容を一時シートにコピー→For Eachで元データと1つずつ比較しているのですが、もっとスマートな方法はあるでしょうか?
743 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:38:51.56 ID:fhgndB5P.net] >>707 Private Sub Worksheet_Change(ByVal Target As Range) Target.Font.Color = -16776961 End Sub これで良いのでは???
744 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:45:12.89 ID:wIeiUTi/.net] 書き方が不正確でした 「対象セルの値が変更される前と一致しない場合にのみ」文字色を変えたい、です
745 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:54:42.06 ID:vpgDyIt0.net] 赤くしなくても共有と変更履歴で代用可能だろ
746 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:58:11.74 ID:fhgndB5P.net] >>709 あぁそういう事か、すまん 今「excel change before」で調べただけだけど、そうするしかなさそう selectionchangeでselectionの内容を保存しておくみたいだねぇ よー考えるわ
747 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:58:42.58 ID:fhgndB5P.net] >>710 そうだねぇ なんか赤にする以外の方法の方が良い気がする
748 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 14:49:27.87 ID:2evJVEIF.net] くそう、↑のやり方以外が思いつかない。 セルにtagプロパティでもありゃ前値保持できるのに。。 赤字にしたい目的がわかれば、そもそも別の簡単な手とかあるかも?(逃げ)
749 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 21:19:57.26 ID:acLDgyPd.net] >>713 Excelをフロントエンドにしたデータベース管理です 一度に複数のデータを弄ることが多いため、フォームではなくテーブルに直接データを読み込み、編集後に更新といった流れで、この更新部分の判定を文字色で行っています 作業者自身も更新前にどこを変更したかひと目でわかると考えてこの方法を取ってますが、もっとベターな方法があるなら全然乗り換えたいです
750 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 21:42:58.96 ID:yGBPiuMh.net] 編集後・更新 この間に変更する予定のセルに対して処理をかませることができそう、というか出来るだろう
751 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 23:04:57.15 ID:MRFHlf9T.net] Vue.js などのウォッチャ・データバインド・リアクティブシステムだろ データ更新前後のフックは、無いのか?
752 名前:デフォルトの名無しさん [2018/10/20(土) 02:32:55.91 ID:ZiSB9nEL.net] Ifとforだけでとりあえず簡単な処理くらいはさせられるようになったんだけど、次は何を学べば順当にステップアップできる? イベントプロシージャもダブルクリックだけは理解した Constで柔軟なコード書くのも学んだ 配列はいまいち便利な使い道がわからない
753 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 06:58:16.21 ID:JSzrZOTM.net] >>717 処理の制御自体は分岐と繰り返しを覚えれば大抵なんとかなる。 ロジックをよりスマートにしたい。処理時間を短縮したい等なら、配列やアルゴリズム等の効率的なやり方が必須になる。 特に、セルを使うならば配列は絶対使ったほうがいい。二次元配列と聞くとよくわからなそうだが、 (y軸,x軸) を指定するだけだから、一見難しそうに見えても簡単だよ。 あとは、何をやりたいかによるかな。それによって取得するべき技術が決まってくると思う。
754 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 07:07:20.99 ID:JSzrZOTM.net] >>717 配列使った方がいい理由を補足すると、 配列変数を使えば、変数の数を大幅に減らすことができるかつ、ループ文を使って1から最大数までアクセスがしやすいから。例えば、人間という名前の違う変数を別々に100人定義するのは面倒。 だが、配列変数を使えば1行で定義できる。 セルに関して言うと、VBAはセルにアクセスした際に大幅に時間を使う。値を編集するたびに毎回セルにアクセスするよりも、配列変数に格納をして、まるごとセルに代入するようにすれば、アクセスは1回で済む。 (それっぽく例えるなら、積み木を片付ける時に1つずつ摘まんで箱に入れるか、形を整えた後まとめて箱に入れるかの違い)
755 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 07:49:40.17 ID:/P2yZ5ci.net] >>717 次は違う言語を学ぶといいよ pythonとかがオススメ
756 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 08:15:19.11 ID:A4xnc2/3.net] >>717 シートはセルの二次元配列 ブックはシートの一次元配列 合わせて三次元の配列 元々エクセル自体が配列の塊なので、 vba上だけで配列を持たなくてもなんとかできるようにはなっている 他のプログラムだと配列なしなんてありえないんだけどね vbaで配列を扱う大きなメリットとしては、爆速にできる事 で、そこまで来たら何を覚えるかだけど ・objectの扱い。set foo = sheets("name") ・fso(filesystemobject) この辺かね〜 他言語やるなら俺もpythonがオススメ
757 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 09:34:05.81 ID:46UfR13B.net] >>721 >合わせて三次元の配列 「三次元配列」と書かないところが正確でイイ!
758 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 11:18:59.41 ID:+OPbDxrw.net] あ・・・Application.Workbooks(3).Worksheets(1).Cells(1, 1).Characters(2, 2).Font.Color = vbRed
759 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 11:51:10.77 ID:ZiSB9nEL.net] 参考になります!説明がとても分かりやすいですね 尊敬します 配列を学ぶことでの処理の高速化も理解できました setはサンプルコードでよく見かけるなとは思ってたけど、詳しく掘り下げてみます fsoは初耳なのでじっくり学びます Pythonも並行して学びたいと思ってたのでちょうどいいタイミングみたいですね ありがとうございました。
760 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 12:18:11.17 ID:4zkFVcA8.net] for each文かな
761 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 12:25:25.27 ID:A4xnc2/3.net] あぁfor eachは必須だね
762 名前:デフォルトの名無しさん [2018/10/20(土) 13:40:10.36 ID:fOofNO0j.net] >>717 余裕があるならアセンブリ言語をちょっと齧っとくのがいいと思う
763 名前: mailto:sage [2018/10/20(土) 14:06:53.02 ID:9jkSTDWo.net] >>727 アセンブラとか環境とかはどう調達すればいいのでしょうか?
764 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 14:48:16.50 ID:wrk6+Nbn.net] masm とか nasm とかのキーワードで調べる っていうか、vbaの範囲外のことまでここで聞くなよ
765 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 17:52:59.67 ID:b1m8oY5e.net] >>717 デバッグの方法(VBEの機能) ユーザーフォーム for next以外の繰り返し(do loop)
766 名前:デフォルトの名無しさん [2018/10/20(土) 18:35:11.69 ID:fOofNO0j.net] >>728 齧るだけだからネットで調べてだいたいの仕組みが分かればそれでいいんだよ 「アセンブラ 入門 casl」でググって見つかったサイトで勉強してみるのがいいと思う 資格の勉強にもなるし やる気あるなら機械語が使えるポケコンを買って実際に ハンドアセンブルしてみるのもいいかも
767 名前: mailto:sage [2018/10/20(土) 19:32:33.10 ID:9jkSTDWo.net] >>731 casl2 は気が進まなくって…だってハードがないんでしょう?
768 名前:デフォルトの名無しさん [2018/10/20(土) 19:45:41.44 ID:fOofNO0j.net] >>732 うん、ハードはないな、仮想CPUだから でもコンピューターの仕組みは分かるようになる 俺はアセンブリの知識のおかげでデバッグとかで役に立ってる
769 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 09:08:05.20 ID:kG1rnb84.net] オデッセイのやってるvbaの試験受けてvbaスタンダードに合格したけど、 これ実際にvbaでプログラム作れって言われても絶対作れないな。 何が言いたいかって、お前らすげーわ。
770 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 11:55:37.97 ID:ENQ8JUj5.net] >>732 ハートもないやつがなにいってる
771 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 12:30:29.51 ID:jhIwJ9RB.net] vbaで色々ツール作ってるけど、自分しか使わないっていうので設計雑になっちゃう。 後の機能追加等考えるとクラスモジュール使って役割ハッキリさせた設計が良いんだろうけど、結局書くのが楽な手続き型チックになっちゃうのよね
772 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 14:12:47.07 ID:895e0oJn.net] >>736 それは別に反省ポイントじゃない
773 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 14:42:48.38 ID:3rYBWp0g.net] 自分を省みるのは良いことだよ
774 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 17:38:59.00 ID:PQvzxFzP.net] VBAはコードのスタイル云々以前に存在自体が基本的に悪なので、実務においてはいかに使用を最小限にとどめながら要件を満たすかが最も重要だよ VBAがあるだけでメンテができる人が数十分の一になるんだから
775 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 18:02:16.30 ID:97mpJlTr.net] VBA撲滅委員会でも作ってその会長にでもなれ
776 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 18:14:38.25 ID:PQvzxFzP.net] >>740 別にVBAで飯食ってる人を批判するつもりはないよ。 プログラミングにおいて>>736 の言ってるような適切なモジュール化(VBのModuleではなく広義のモジュールだぞ、念のため)を行う目的は、メンテナンス性を良くすることだ。 そして、Excelのメンテナンス性を高める最善の方法は、VBAのコードを綺麗に書くことではなく、VBAの使用を極力控えることだ。 VBAのメンテナンス性を高めようという発想は根本的に矛盾してるんだよ。
777 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 19:06:18.04 ID:jhIwJ9RB.net] VBAの存在が基本的に悪という理由って何だ? 文面から見て、メンテできる人(使用者)が少ないからという風に捉えているんだが… もしそれが理由ならば、職場によるのではないか?
778 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 19:13:25.11 ID:jhIwJ9RB.net] ただ、以前にマクロを修正する案件をやった時 初めて他者の書いたコードをしっかり見ることになったが…まぁ見辛いし目的が捉えづらく苦労した。 ろくなドキュメントも残っていなかったしね。 でもそれは、コードの改善や仕様書
779 名前:しっかり残せば解決する問題であって、決して言語そのもののせいではないと私は思っているよ。 [] [ここ壊れてます]
780 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 19:36:36.64 ID:MDetJiiM.net] 言語や開発環境が悪いからユーザーが集まらない 言語や開発環境が悪いからユーザーが育たない 言語や開発環境が悪いから汚いコードが作られやすい 全てとは言わないが大きな影響力を持ってるのは否定できないな
781 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 19:54:07.49 ID:y1r4bkf6.net] >>736 言うてもそんなに長くならないので、コメントさえしっかり書いておけば大丈夫だよ
782 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 20:57:14.28 ID:Mf4U6jjq.net] Pythonを使える環境ならPythonでExcelを操作できるようになっといたほうが将来的に有意義なんですかね
783 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 21:27:31.42 ID:y1r4bkf6.net] >>746 何を目指すかによる プログラマーならexcelはまず触らない 事務職ならpythonを触らない 両方知っておくことは悪いことじゃないが、どっちっつかずになりそう
784 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 21:55:52.80 ID:Df7SvDdo.net] 知恵遅れに毎日60以上ののVBA低レベ質問が恒常的に続くのは、商業科がExcelを教科に入れてるせいか? VBA、大学教養のC課題、ネトゲーマーのUWSC自動化の三馬鹿うんざりトリオをなんとかして欲しい
785 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 22:00:53.93 ID:y1r4bkf6.net] 無視したら
786 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 20:08:02.64 ID:VKzyLxGu.net] どうせ半年後は.jsになってるんだし
787 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 21:19:25.29 ID:I9F6CV18.net] 昔アセンブラやってたけど 今はアセンブラの知識なんて まず糞の役にもたたない 悪いことは言わないから IL止まりにしておいて 残りの時間を他の言語の学習に回した方がいい
788 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 23:52:56.26 ID:PFCPc8y/.net] VBAってWinAPI 使えるんだな 入力もエクセルのシート利用できるし使いがっていいなこれ 自分だけ使うものはこれで十分な気がしてきた
789 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 00:03:26.58 ID:lvTxqVIL.net] 二次元配列に入力できるってかなり神がかってると思う
790 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 08:52:35.61 ID:VGA0KlB2.net] 何を二次元配列に入力できる事が神がかってるの?
791 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 09:32:39.27 ID:r31i+JfI.net] 人間が抽象化なしで無理なく扱えるデータは二次元の表までなのは確かだな 特別な技能を持たない人間の能力的限界がExcel
792 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 11:20:28.64 ID:Poeqy0yu.net] 行(列)をベクトルだとみなすと何次元にでもなるでしょ テンソル入れ物にするメリットってあるか? レベル上がると有益になるのかな
793 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 18:41:01.78 ID:lvTxqVIL.net] >754 文字列と数値。ってかこれ以外セルには入れられないでしょ。オブジェクトは入れられないし
794 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 00:13:09.54 ID:Inq2or/E.net] 何を〜に入力できる? って質問に対して間違っちゃいないが...
795 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 01:08:48.00 ID:SUBF4wRe.net] >>757 変数型のことじゃなくて、どんな データかって意味じゃね?
796 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 07:12:48.70 ID:xKW3LLWl.net] セルって単語が後出しだからこうなるんだよ
797 名前:デフォルトの名無しさん mailto:age [2018/10/26(金) 08:36:50.37 ID:QS/Z6hlA.net] わかるなら聞くなよハゲども なんでハゲてるか自問してろ
798 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 10:34:09.86 ID:FHu9JUdN.net] >>752 当然だがWinAPIだけじゃなくVB呼び出しに適う任意のAPIが呼べるから、自分だけの環境なら何だって可能
799 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 10:45:47.31 ID:REmVcuAB.net] 解凍・圧縮用のdllであるunlha32やらunzip32なんかもちゃんと用意されていて、vbaから利用できるしな
800 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 12:00:29.68 ID:FHu9JUdN.net] >>763 え、ないでしょ? あるんだっけ?
801 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 13:4
] [ここ壊れてます]
802 名前:1:39.22 ID:FXq8Nzbn.net mailto: 「自分だけの環境」の話だろw [] [ここ壊れてます]
803 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 20:18:33.42 ID:7acxRmxq.net] それ言い出すとシェル呼び出してそこから外部プログラムの実行でなんでもできるわな
804 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 00:10:36.89 ID:64tA3ZzD.net] それだと最早Excel VBAを起点にする意味がないんだよなぁ
805 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 09:39:45.10 ID:z1SsyyeN.net] 戻り値主体の関数的な使い方がしにくいのでは?
806 名前:デフォルトの名無しさん [2018/10/27(土) 12:17:32.77 ID:nqyfF+/M.net] なんで何でもできたら悪いみたいな言い方やねん
807 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 15:13:38.94 ID:gKMunlkh.net] 彼女の作り方がわからない
808 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:08:31.91 ID:arx5iKp2.net] 事務の女性をお得意のVBAで助けてやるんだ
809 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 20:08:09.98 ID:9XazvJsa.net] 助けてあげても一瞬感謝されるだけで何も起こらないぞ 下手すると感謝すらされない
810 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 21:27:07.52 ID:EQmtOnig.net] >>772 そう、気づかないんだよな・・・
811 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 23:46:47.86 ID:bYiR1b6u.net] 助けても後出しで本当はこうしたいのにできてないだの文句言われる
812 名前:デフォルトの名無しさん [2018/10/28(日) 06:55:12.79 ID:xmv6f/Y+.net] 全然助けれとらんやんwプロさんあわれwww
813 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 09:41:11.55 ID:U+AZbxUR.net] ちょっとしたことでいいからピンポイントで教えてあげる。 食いついてこなかったら諦める。
814 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 10:40:54.72 ID:o08My3f7.net] ExcelVBAで、女にもてるようになる方法スレ w
815 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:02:16.86 ID:eT9vyE0h.net] ランダムアクセスファイルでデータ管理をしています。 いままで動いていたものが GET PUT で 「レコード長が一致しない」となります。 一部こんな感じです。 Const MONTH_SIZE As Long = 60 Type M_Rec S_code As Long Stock As Long byCode As String * 8 M_id_Cre(MONTH_SIZE) As Integer End Type Public S_MAIN_REC As M_Rec Open FileName For Random As #SmainNO Len = Len(S_MAIN_REC) Get #SmainNO, indexNo, S_MAIN_REC この標準モジュールを破棄して同じモジュールをインポートすると 正常に動きますがワークブックを保存して再起動し同じ処理をすると エラーになります。 Public S_MAIN_REC As M_Rec の 記述場所を移動させると正常に 動きましたがモジュール内に新規プロシージャを追加したらまた エラーが出るようになりました。 モジュールが壊れていると思い新しく作成しても同じでした。 ご意見お願いします。 現在ユーザ定義 の M_id_Cre(MONTH_SIZE) As Integer の配列を 61に変更し正常動作中です。
816 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:41:59.08 ID:THaxkhg7.net] さすがに時代遅れにも程がある そんな黴の生えたゴミカスは今すぐ捨てて普通にワークシートで管理するかDBにしろ
817 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 15:41:48.78 ID:9UvKiQNH.net] 言い過ぎ。しかしランダムアクセスファイルとは懐かしい
818 名前:776 mailto:sage [2018/10/28(日) 16:59:37.36 ID:eT9vyE0h.net] すみません もともとはワークシートで管理していたのですがファイルのほうが 都合が良いので変更しました。
819 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 17:01:07.70 ID:ISWax1Kh.net] で、今まさにその前提が間違っていたことが判明したんだろ? 直ちに戻しなさい
820 名前:デフォルトの名無しさん [2018/10/28(日) 20:08:41.54 ID:4pkRNiip.net] 馬鹿の特徴 動きません エラーが起きます 決して具体的なエラーメッセージを書かない
821 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 21:40:15.40 ID:uzLWPyey.net] バカ
822 名前:フ特徴 書いてあるエラーメッセージを理解できずに自爆 w > GET PUT で 「レコード長が一致しない」となります。 [] [ここ壊れてます]
823 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:30:32.75 ID:9UvKiQNH.net] ここの住人回答者は居丈高だからteratailにでも質問なさい。 ただコード具体例とエラー詳細はいずれにせよ求められるけど
824 名前:デフォルトの名無しさん [2018/10/29(月) 00:30:55.69 ID:4Xu2UR6y.net] >>784 馬鹿は表面的なことしか見えない
825 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 04:51:38.42 ID:xpZzwKyb.net] >>786 表面的なことすら見えてないバカの自爆乙 w
826 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 09:45:00.02 ID:uMisuGYK.net] 初心者には環境とかエラーの詳細な条件を明記することへの心理的な障壁があります その心理の正体は一体何でしょう?
827 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 10:53:33.28 ID:VYDzXbvz.net] 慣れの問題かと ・自信ないのでミス指摘されたくないなどの自尊心問題 ・コンプライアンスリスクとの取り違え ・個人情報リスクとの取り違え
828 名前:776 mailto:sage [2018/10/29(月) 11:24:48.23 ID:aqnyYxuj.net] 少し荒れてしまいましたね、すみません エラーは書いてあるとおり「レコード長が一致しない」 Openステートメントで指定された長さと異なるということなのですが レコード変数やOpen Get Putのプロシージャなど変更せずに このエラーが発生しました。多分VBAのバグだと思うのですが 詳しい方に教えていただきたく思いまして書き込みしました。 タイミングが悪かったですね。
829 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 11:33:02.57 ID:f3zS/Ojj.net] 確かにタイミングが悪かったな 20年遅いわ 今回お前が苦労して解決しても後で他の誰にも分からないんだぞ? そんなもん押し付けられる方の身にもなってみろ
830 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 11:45:30.06 ID:uMisuGYK.net] 「VBA ファイル読み書き」で検索してOpen コマンドとかが出てくるものかねえ
831 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 11:48:12.61 ID:VYDzXbvz.net] ?出てくるぞ?あたりまえだろ
832 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 14:25:31.25 ID:gsxtgvfG.net] >多分VBAのバグだと思うのですが まぁ言語の方に責任を押し付けたくなるのは判るがなw
833 名前:デフォルトの名無しさん mailto:age [2018/10/29(月) 15:23:05.64 ID:P7hlr/PN.net] 何わろとんねん
834 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 16:45:28.78 ID:gkooAort.net] >>790 バイナリエディターでレコードファイルを確認するのと、テスト環境作ってレコードを減らしても発生するかみる
835 名前:デフォルトの名無しさん mailto:age [2018/10/29(月) 18:06:20.39 ID:P7hlr/PN.net] >>796 頼む
836 名前:776 mailto:sage [2018/10/29(月) 19:56:48.16 ID:aqnyYxuj.net] >>796 エラーになる状態ですと、新規にファイルを作成しても1レコード目でエラーとなりますので ファイルがおかしいとは思えません。ユーザー定義のレコードサイズ、モジュール変数の メモリ設定があやしいと思うのですが。
837 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 23:29:14.96 ID:cO8xV5Br.net] 素人質問ですみません エクセルで消費税を算出したいのですが、一つのセル内で完結できないでしょうか ググっても税抜き価格と税込み価格の、二つのセルを使うものばかりでして
838 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 23:52:48.29 ID:g/o5tBon.net] >>793 まさかな、と思ってぐぐってみたら本当だった。 しかもqiitaの新着記事にもそんなのあるし。 なぜなのか?
839 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 00:03:25.38 ID:oqjX6NBU.net] >>798 最小条件での動作確認しないなら俺はなにもいわない
840 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 00:10:19.82 ID:iPJEDoz1.net] >>799 それVBAの質問なの?そもそも
841 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 12:34:46.04 ID:MiaEkZFI.net] >>799 税抜き価格を入力したら、そのセルの数値を自動的に1.08倍するマクロ Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False Target.Value = Int(Target.Value * 1.08) Application.EnableEvents = True End Sub
842 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 13:48:04.01 ID:Zs94iK
] [ここ壊れてます]
843 名前:wt.net mailto: 際限なく1.08倍していきます [] [ここ壊れてます]
844 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 17:38:32.50 ID:D9hLQP5r.net] 消費税は際限なく上がる
845 名前:デフォルトの名無しさん [2018/10/30(火) 18:40:58.23 ID:bEYZFX0T.net] くだらない質問だと思いますが、会社のバーコードで在庫 納品書 委託 委託精算 等 連携したものを作成する場合は初心者でどのくらい作成期間がかかるものでしょうか?
846 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:50:13.80 ID:aaXb5tV1.net] 100年くらい見積もっておけば間違いない
847 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:53:25.90 ID:E+8/TrgC.net] 少なくとも、SIerに委託するより>>806 の給料の方が遥かに高くつくくらいの期間は間違いなくかかるよ
848 名前:デフォルトの名無しさん [2018/10/30(火) 19:15:41.01 ID:bEYZFX0T.net] >>808 因みに幾らくらいかかるものでしょうか?
849 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 19:49:51.22 ID:wPm+kt3H.net] >>809 仕様がわからないので見積もれません 4000億円ぐらいみとけば間違いない
850 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 20:01:06.67 ID:UXC/r+zj.net] テーブル(lo)を列毎に配列で取り出して処理したいのですが、キーを列名、値に列範囲を格納すればforループで代入できて簡潔なのでDictionaryを使ってみようと思っています。 Dim dic As Dictionary: Set dic = New Dictionary Dim lc As ListColumn For Each lc In lo.ListColumns _dic.add lc.name, WorksheetFunction.Transpose(lc.DataBodyRange.value) next lc 以上で作成した「Dictionaryの値」に格納した「配列の値」に代入が出来ません。 例えば debug.print dic(見出しA)(1) '「ピカチュウ」が表示 dic(見出しA)(1) = "ライチュウ" debug.print dic(見出しA)(1) '「ピカチュウ」が表示 となってしまいます。しかし以下の様に配列を格納し直すと反映されます。 debug.print dic(見出しA)(1) '「ピカチュウ」が表示 dic(見出しA) = Array("","ライチュウ", dic(見出しA)(2),・・・ debug.print dic(見出しA)(1) '「ライチュウ」が表示 修正があるたびに配列を代入し直すのは面倒なので出来れば値を直接書き換えたいのですが、どうすればいいのでしょうか。
851 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 20:25:09.48 ID:4tQqoM/4.net] >>811 そもそもlo.ListColumns(lc.Name).Range.Item(Index).Value でテーブル内のセル値のセッターにアクセス出来るので、わざわざそんなことをやる必要がないと思う 仕様上ListObjectは列名重複が許されないし、ListColumnsコレクション自体がDictionaryと殆ど等価のハッシュテーブルになる
852 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 20:50:28.74 ID:UXC/r+zj.net] ありがとうございます 現在はそうしているのですが(元々それがやりたくて全部テーブルに置き換えたのですが) 値を取り出すときに毎回ListColumns(lc.Name).DataBodyRange(Index).Valueと長々書く為コードが読みづらいのと、配列にすればちょっと速度改善が見込めるかなと思って試していました。
853 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 13:51:41.06 ID:OKzw5dxl.net] Dictionaryの代替以外の回答もお待ちしてます。 あと追加で質問なのですが、先ほどのTransposeの様にワークシート関数を利用するなら配列ではなくセル範囲の方が速いという記事を見つけました。 どういう原因でそうなるのでしょうか?
854 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 17:54:26.42 ID:Dz4usJiG.net] 一般的にユーザーによる同等のVBAコードよりワークシート関数の方が速い C#とかよりC++ネイティブの方が数〜倍速くなるのと同じ
855 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 18:27:27.91 ID:b54HYVzl.net] >>814 組込みの機能はアプリケーション内でリソース管理が最適化されてるのでね VBAで
856 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 18:30:36.22 ID:b54HYVzl.net] >>814 組込みの機能はアプリケーション内でリソース管理が最適化されてるのでね VBAでやると不要な大きさのバッファを確保してたりして無駄が多くなる
857 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 07:11:29.46 ID:hEMz+97b.net] シートにボタン配置して押したら、オートシェイプの直線を引ける段階までって出来る?いわゆるショートカットキー的な感じの。 実際に直線を引いちゃうのは山ほどネットに転がってるけど、引くのは任意でやりたい。
858 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 10:46:24.36 ID:Uh6mdsZK.net] >>818 出来ない。
859 名前:デフォルトの名無しさん [2018/11/01(木) 18:36:00.35 ID:Nl3jEz8g.net] Excelのセルに入ってるデータを使ってOutlookでメールをVBAで書きたいのですが それぞれの行やある文字についてフォントや色などで装飾したいんです。 そんなことはできますか? なんかできなそうなんですが。 でもこれをしないとものすごく不便なのです。 うまくいけば残業せずに遊びながら居残りしてお金だけはたくさんもらえるのですが・・・
860 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 18:51:35.86 ID:4wthv7uM.net] >>818 できるよ。
861 名前:デフォルトの名無しさん [2018/11/01(木) 19:09:06.19 ID:Nl3jEz8g.net] >>818 サルでもできるよw 単にボタンにマクロの登録をすればいいだけ。
862 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 19:13:58.18 ID:9hAL4zo4.net] >>822 う〜ん... 俺もできるとは思うけどそんなに簡単か? 何を登録するんだ?
863 名前:デフォルトの名無しさん [2018/11/01(木) 19:18:10.81 ID:Nl3jEz8g.net] >>823 ボタンを挿入して右クリックしてマクロの登録を選び実行させたいプロシージャを選ぶだけ
864 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 19:22:20.09 ID:9hAL4zo4.net] >>824 直線を引く直前の状態にするプロシージャって簡単に書けるのかい?
865 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 19:24:41.75 ID:9hAL4zo4.net] >>820 やったこと無いけどHTMLメールにして本文をHTMLにすれば良いんじゃない? あとはテキストメール作成と同じじゃないの?
866 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 19:26:55.17 ID:1Z/ZXoar.net] >>820 HTML書けるならこの辺りを見ればわかるだろ https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem.bodyformat
867 名前:デフォルトの名無しさん [2018/11/01(木) 19:30:44.64 ID:Nl3jEz8g.net] >>826 じゃ具体的なコードはどうなるの? 例えば、「こんにちは、うんちと申します。」の文で、うんちを太字で茶色にしたい場合。
868 名前:デフォルトの名無しさん [2018/11/01(木) 19:33:37.59 ID:Nl3jEz8g.net] >>827 こんにちは、<B><font color=brown>うんち</font></B>と申します。 ?
869 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 23:23:17.57 ID:EZF4jYAF.net] >>822 できないから聞いたんだが?
870 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 23:35:45.63 ID:NdKTTFxC.net] できるって言ってる人は質問をよく理解してないんだと思う
871 名前:デフォルトの名無しさん [2018/11/01(木) 23:45:47.15 ID:BwvtJmQs.net] この板は日本語が読めない低学歴知恵遅れが多いのはあってる えてして書いてある要件とまったく違うもんをあげてくるよくいる軽い池沼入ってるのと似てる
872 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 23:59:15.18 ID:8GU0aFYB.net] お互い様
873 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 00:46:25.82 ID:iMC20ra8.net] >>16 Excelのマクロの記録はVBAコードで表現できないものは原則できない 操作自体の記録再生ができるUWSCとかRPAといったツールを呼び出せばできる
874 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 06:47:30.99 ID:Cpir13NG.net] Sendkeysで無理くりリボンメニューの直線を選択するコードを作ってショートカット割り当てる位しかないと思う
875 名前:デフォルトの名無しさん [2018/11/02(金) 07:54:22.50 ID:EKeu1zQN.net] >>830 あなたはサル以下ということだ。ウイッキー。
876 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 10:00:17.95 ID:IpqW30ow.net] >>818 あれ? まだコードあがってないですね。 じゃぁExcel2010用ですが、サンプルを、、、 目的に合わせてShapeIDを変えてください。 Sub CreateShape() Dim ShpID As Long ' ShapetypeID Dim iShpCnt As Long ' Shape Cou
877 名前:nt (追加待ち判定) Dim SHP As Variant ' Loop用Shape ' Create Shape '-------------------------------- ShpID = 409 'Freeformの場合 ' ShpID = 1119 'Ovalの場合 ' ShpID = 1042 'LineConnectorの場合 iShpCnt = ActiveSheet.Shapes.Count Application.CommandBars.FindControl(ID:=ShpID).Execute Do DoEvents Loop While iShpCnt = ActiveSheet.Shapes.Count End Sub 描かずに連続で押すと処理が入れ子になってしまうのが 難点ですが、、、 [] [ここ壊れてます]
878 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 10:56:22.32 ID:N4XXlewl.net] >>837 なるほど
879 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:39:25.94 ID:ouVO3wBC.net] >>837 できた!ありがとうございます!
880 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:40:29.21 ID:m6WMCehM.net] >>837 これで出来たんだね。 コード書ける環境じゃ無いから試せなかったけど、この方法かUIAutomation使うかどちらかかなあと思ってた。 CommandBarControl.ExecuteでもShapeの場合トグルっぱい動作だから思う状態になるか自信が無かった。
881 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:44:20.35 ID:m6WMCehM.net] あれ、Do〜Loopの処理は気付かんかったなあ。 自分が作成してたら動かんかったと結論出してたかも。
882 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:50:59.79 ID:IpqW30ow.net] >>841 StackOverFlowかどっかのサイトの受け売りなんですけどね。 どこからもらったのか忘れた、、、
883 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:57:46.92 ID:IpqW30ow.net] >>837 あ、後続の処理用の変数消し忘れてた。 Dim SHP の行は不要です。
884 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 17:17:11.16 ID:ouVO3wBC.net] ちなみになんだけどDoLoopはなんの為にあるんですかね? なくても同じ動きすんだけど。
885 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 17:57:06.50 ID:oqBXcCoW.net] 書き終わってShapeオブジェクトが作成されるまで、次の処理を待機 元々書いた後に何か処理をするプログラムの一部だったんだと思う 今回はCommandBarControlのコマンドが実行された時点で仕事は終わってるから要らないかと
886 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 18:54:32.40 ID:m6WMCehM.net] >>845 ループ無くても動くんなら思った通りだった。 違いが有るとすれば自分はFindControlは使わず、コントロールの指定もIDじゃなくて名前使う所。 名前はFor Each使ってCommandBarを列挙して名前をDebug.Print、そのCommandBarに対してFor EachでCommandBarControlを列挙して名前をDebug.Printなどで調べる。
887 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 19:49:18.45 ID:IpqW30ow.net] >>844 ん? Do - Loop 部分ないとちゃんと動かんよ? VBEから実行してない? ボタンに割り付けると、ボタン押した瞬間に十時カーソル消えるはず。 Excel2010より新しいVersionは動きが違うの?
888 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 20:57:01.00 ID:/dr4nYVn.net] >>847 ボタン押したらクリックしたら線がかけるようになったよ。 2003でも動いたし、2007でも動いた。
889 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 00:21:42.99 ID:N3tWJlln.net] Excel2010でも試したけど、ループのないプロシージャで描けたよ 勿論ボタンのクリックイベントから
890 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 00:44:19.57 ID:N3tWJlln.net] フォームコントロールに割り当てると描けないっぽい ActiveXコントロールのイベントで呼べば描けるが フォームコントロールって何のために有るんだろう・・・
891 名前:デフォルトの名無しさん [2018/11/03(土) 04:34:07.93 ID:/0NNzwPk.net] 任意のセルをコピーして所定の場所にペーストするマクロを作りたいです。 セルをコピーした状態からマクロ記録を取って、ペーストするだけのマクロを作ったのですがうまくいきません。 教えてください!
892 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 06:28:54.02 ID:5ShzkuEH.net] >>850 VBAで作るフォームと処理を共有できる、とか?
893 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 06:31:10.97 ID:5ShzkuEH.net] >>851 マクロの記録だと余計な処理が追加されるから、それを削るだけでうまくいくはず まずは記録したマクロをここに書いてみ ただしCtrlを押しながら複数のセルをコピーした場合はかなり難しくなる
894 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 06:39:13.96 ID:IAxxklmh.net] >>850 ああ、なるほど。 確かにフォームボタン使ってた。 そのために余計な苦労をしたってわけか。 情報Thx!
895 名前:デフォルトの名無しさん [2018/11/03(土) 11:31:29.48 ID:/0NNzwPk.net] >>853 Sub Macro5() ' ' Macro5 Macro ' ' Range("AH11").Select ActiveSheet.Paste Application.CutCopyMode = False End Sub こんな感じです。これはセル1つ選択です。(最終的には複数選択してシート間でコピペする予定です)
896 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 11:43:19.50 ID:S6AysWL6.net] 社名 金額 部門 ================ A社 1000円 営業 A社 2000円 事務 A社 1500円 事務 A社 3000円 販売 B社 1500円 事務 B社 3500円 営業 C社 1000円 営業 C社 3000円 営業 C社 1500円 販売 D社 2000円 事務 こんな感じのA社⇒D社のように整列されたデータに対して
897 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 11:43:51.55 ID:S6AysWL6.net] 社名 金額 部門 ================ A社 1000円 営業 A社 2000円 事務 A社 1500円 事務 A社 3000円 販売 A社 営業計 1000円 < 事務計 3500円 < 販売計 3000円 < 計 7500円 < B社 1500円 事務 B社 3500円 営業 B社 営業計 3500円 < 事務計 1500円 < 計 5000円 < C社 1000円 営業 C社 3000円 営業 C社 1500円 販売 C社 営業計 4000円 < 販売計 1500円 < 計 5500円 < D社 2000円 事務 事務計 2000円 < 計 2000円 < 全社 営業計 8500円 < 事務計 7000円 < 販売計 4500円 < 計 20000円 < こんな感じに行の間に小計、最後に合計を挿入するようなコードありますか?( < が追加行) 小計は必ず 営業、事務、販売の順番に並び、0円の場合は行自体挿入しません 実際ののデータは会社数、部門共に30以上あるので速度重視であれば望ましいです
898 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 12:46:22.45 ID:q2N3VeHV.net] そんなもんExcelのグループ集計で一発 お前に必要なのはVBAではなくExcelの入門書
899 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:03:36.46 ID:3VcH/mb2.net] >>829 span使え
900 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:12:27.13 ID:78HW/kSp.net] >>857 とりあえずピボットでググったら?
901 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:18:18.27 ID:3VcH/mb2.net] 標準のエディタインライン展開できないとかsubの引数名自動で変えられないとかクソすぎ 誰かもっと開発しやすいやつをくれ
902 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:30:31.88 ID:S6AysWL6.net] 集計したい訳じゃなくデータを作成したいんだって
903 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:33:02.71 ID:N8ATSODS.net] >>862 だからそれはグループ集計でできる
904 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:38:02.57 ID:S6AysWL6.net] VBAで作るには?
905 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 13:47:38.58 ID:N8ATSODS.net] グループ集計の操作をマクロで記録するといいよ
906 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 15:14:54.13 ID:NeGXChns.net] >>855 単にシート間で複数セルの値を同期させたいだけならそもそもクリップボードを経由しない方が早いのでは? VBAでコピーしないでワークシート関数でシート間参照させるとか、コピー元のセルのValueプロパティなりFormulaプロパティなり、必ずコピーしなきゃいけないプロパティだけをコピー先のプロパティに直接代入するとか ユーザーによるコピー操作そのものを再現しなきゃいけない理由でもあるの?
907 名前:デフォルトの名無しさん [2018/11/03(土) 18:06:58.76 ID:/0NNzwPk.net] >>866 シート間で照合するデータだとマクロ使わずできるのですが、 コピー元のシートのデータが大きいので、ペースト先のシートには必要なものだけを張り付けて、 印刷用のフォーマットに変換させて、終わったらペースト先のシートは保存せず元に戻すという操作をしたいと考えています。 お願いします。
908 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 19:32:11.39 ID:NeGXChns.net] >>867 元データの書式や印刷用シートの体裁、印刷するデータの抽出方法などがわからないが、やりたいことからすると、Range.TextプロパティかValueプロパティの値をコピー先にそのままコピーするだけで良さそう コピー元とコピー先のデータの体裁によっては、Range.AdvancedFilterメソッドで印刷用シートの方にフィルタ結果を出力するとかもできる
909 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 22:51:34.85 ID:MUI16VQU.net] クラサバシステムを作るのは現実的なのでしょうか? DBは相性からいってSQLServerで
910 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 22:58:31.43 ID:zFR/cOIP.net] >>869 Excelで作ろうとしてる理由が能力の問題なのか、それともExcelのワークシートの機能が必要だからなのか、それ次第だな C#やVB.NETやJavaで作れる能力があるなら普通に作れるし、無いなら無理 能力が無いならAccessでも使ってろ
911 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 23:03:55.31 ID:e+FwThFa.net] 能力の問題なら今ならOffice365のPowerAppsおすすめ たぶん>>869 が手作りするより遥かに高品質なものが一瞬で作れるよ
912 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 23:12:01.99 ID:MUI16VQU.net] 作りたいのは、Activitiのエンジンを使ったWFシステムです Excelで検討する理由は、ADによるシートとセルの権限管理ですかね
913 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 00:03:26.74 ID:Ujv6OCQm.net] いやクラサバだったら権限管理はSQL Server側でやるもんだろ 当然、SQL Serverなら問題なくADで制御できる その調子じゃ厳しそうだね
914 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 00:32:40.13 ID:xCAdckZO.net] Excelのレベルで権限制御したところで、別のExcelシート作ってデータソース参照するだけでやりたい放題やで Excelに限った話ではなくC#などでクライアント作る場合でも同じことで、プロなら絶対にありえない設計
915 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 07:35:57.46 ID:dL+sv/7f.net] ここで板違いの質問を堂々とするレベルなんだから w
916 名前:デフォルトの名無しさん [2018/11/05(月) 12:48:07.93 ID:g2XKp1gu.net] またプロさんイキっとるのw
917 名前:デフォルトの名無しさん [2018/11/05(月) 23:37:43.98 ID:Vz2xlIAK.net] >>868 Range.Textプロパティ、Valueプロパティが良く理解できなくて困ってます。 セルの指定で合ってますか? コピー元の表の中からから1行(5セル分)コピーして、隣のシートの所定の位置に貼り付けたいです。 1行選択した後、マクロ起動させて隣のシートに張付けという操作です。頼みます、教えてください!
918 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 00:56:10.22 ID:bmwIjcqH.net] >>877 Sub CopyToPrintForm() ThisWorkbook.Worksheets("データ用シート名").Range("コピー元セルの行番号:コピー元セルの行番号").Copy Destination:= ThisWorkbook.Worksheets("印刷用シート名").Range("コピー先セルの行番号:コピー先セルの行番号") End Sub
919 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 01:09:36.50 ID:bmwIjcqH.net] >>877 印刷するデータの行をユーザーに選ばせる場合、ユーザーに行選択させた状態で以下のマクロを実行させるようにするとかでいいだろ 文字通り一行コピーしてしまうので要注意 >>877 Sub CopyToPrintForm() ThisWorkbook.Worksheets("データ用シート名").Activate ActiveCell.EntireRow.Copy Destination:= ThisWorkbook.Worksheets("印刷用シート名").Range("コピー先セルの行番号:コピー先セルの行番号") End Sub
920 名前:デフォルトの名無しさん [2018/11/06(火) 01:38:13.14 ID:ca/fCdtD.net] >>879 ありがとうございます。 Pasteはいらないのでしょうか?
921 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 02:06:44.79 ID:hX39oSae.net] 教えてください!とか言ってるから荒しかと思ってたがガチか
922 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 02:42:45.06 ID:hX39oSae.net] >>867 >ペースト先のシートは保存せず元に戻す マクロを実行すると「元に戻す」は使えなくなるから、一々開きなおさないといけないけど大丈夫なのかな もしその作業が連続して行われるなら、テンプレート用シートと印刷用シートを別に用意した方が楽な気がする
923 名前:デフォルトの名無しさん [2018/11/06(火) 06:33:12.72 ID:ca/fCdtD.net] >>882 保存せずは間違えでした。 ペーストしたものをデリートするマクロを作って、元に戻す予定です。
924 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 07:50:07.02 ID:hqcuocq7.net] >>880 引数付きでCopyメソッドを実行するときはPasteメソッドは書かなくていい
925 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 08:01:03.35 ID:hqcuocq7.net] >>883 印刷用シートはデータと切り離してテンプレート用の別のファイルにした方が良い そうすれば、印刷処理のとき一時的にテンプレートから印刷用フォーマットを書き起こした後、印刷用フォーマットのブックを削除するだけで済む 印刷後に印刷用シートを初期化するマクロを更に走らせるなんて、手間を増やしてるだけだと思うぞ
926 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 19:36:10.55 ID:gYvutDKX.net] 複数端末で使用しているマクロがあります 端末aのデスクトップに目当てのファイルがあり、他の端末はネットワークで繫がっている端末aのデスクトップを覗きに行く感じになってます ファイルパス & filenameで参照したいんですがどのように書くべきなんでしょうか
927 名前:デフォルトの名無しさん [2018/11/06(火) 19:50:54.72 ID:S8pHBi6C.net] >>886 のぞいてる? スケベ!
928 名前:875 [2018/11/06(火) 19:57:59.09 ID:ca/fCdtD.net] みなさんありがとうございます。自分のイメージしてたものが100%出来ました。
929 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 22:30:23.08 ID:hKUAUjlF.net] VBAベーシックの資格取得がてら基本情報の午後問対策にしようと思ってるんですけど出題範囲とかレベル感的に同じくらいですかね?
930 名前:デフォルトの名無しさん [2018/11/07(水) 10:26:42.01 ID:d5oBs1zX.net] VBAの資格って新しくできたのか?
931 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 10:35:52.33 ID:XvVrOgoe.net] >>886 ネットワークにつながったPCの名前に「\\」を付けるとアクセスできる officetanaka.net/other/extra/tips15.htm
932 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 10:44:51.43 ID:t8cEHMAy.net] >>891 \\端末a:\Users\Admin\Desktopみたいな感じですね、ありがとうございます ちなみにこれは端末aでも端末a以外でもこの書き方一つで参照出来るんでしょうか
933 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 10:53:48.53 ID:XvVrOgoe.net] >>892 端末aのフォルダを共有設定にしておかないとアクセスできない 共有になってれば、どのPCでもアクセスできる エクスプローラーで共有フォルダを開いて、アドレスバーをコピペしてみると書き方が分かる
934 名前:875 [2018/11/07(水) 11:49:07.56 ID:4XVkNdGZn] シート間の切り替えで我慢が揺れるんですが、防ぐ方法は有りますか? 1行丸々コピーはデータが重いんでしょうか?
935 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 11:32:15.04 ID:nZWGaJPv.net] 会社なのに共有フォルダはないの?
936 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 11:34:31.05 ID:+HyKX3eQ.net] >>889 基本情報はJavaやCできない文系カスならExcel選べばいいでしょ ワークシート関数を使いこなせれば十分で、VBAなんか全く要らん
937 名前:875 [2018/11/07(水) 20:36:23.84 ID:TW51zyDp.net] マクロ起動でシートの切り変わりで画面がブレるというか、もう少しスムーズに動いて欲しいと感じます。 1行まるごとコピーしているので重いのでしょうか?
938 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 22:08:04.86 ID:Qojc5OuV.net] 配列に入れるとか? dim a a = sheet1.Range("コピーしたい範囲") sheet2.Range("sheet1と同じ大きさ") = a シート切り替える必要あんの?
939 名前:デフォルトの名無しさん [2018/11/07(水) 23:56:50.98 ID:kdSj6Mns.net] text.txtの中身 1,"my name is taro" 2,""hello,world"" 3,"hello,world" これをエクセルに変換して期待値は以下としたい どうしたらいい? A B 1 my name is taro 2 "hello,world" 3 hello,world
940 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 23:58:12.32 ID:Z9bNZaPm.net] 拡張子を.csvに変えてダブルクリックしてみよう あら不思議!
941 名前:デフォルトの名無しさん [2018/11/08(木) 00:00:20.32 ID:+1CERcyT.net] ちなみに拡張子をcsvにすると以下のような変な出力になる。 A B C 1 my name is taro 2 hello world"" 3 hello,world
942 名前:デフォルトの名無しさん [2018/11/08(木) 00:02:21.00 ID:M68F6j6d.net] "が一個足りない csvで"をインポートするには "を""にして "でくくらないといけない
943 名前:デフォルトの名無しさん [2018/11/08(木) 00:10:13.02 ID:+1CERcyT.net] 手順としては以下でよいか? 1. test.txtの中身を置換で「""」にマッチする箇所を「"""」として保存する 2. 拡張子をcsvにする。 期待値になったのでよしとする。 さらに一歩質問いいですか?
944 名前:デフォルトの名無しさん [2018/11/08(木) 00:19:54.15 ID:+1CERcyT.net] test.txtの中身 1,"my name is taro" 2,"""hello,world""" 3,"hello,world" これをエクセルにして期待値として以下としたい A B 1 (※) 2 "hello,world" 3 hello,world B1セル内に my name is taro が格納され、適切に改行が入っていることを期待。 が、csvにしたら、ちゃんと期待値になってた。。 んー、、途中で改行が入るケースではまってた記憶があったんだが、、、、。これでよしとするか。。
945 名前:デフォルトの名無しさん [2018/11/08(木) 00:35:58.02 ID:+1CERcyT.net] ああ、思い出した "がつかないケースで、改行が入っている場合 test.txtの中身 1,my name is taro エクセルにして期待値として以下としたい A B 1 (※) (※) B1セル内に my name is taro が格納され、適切に改行が入っていることを期待。 拡張子をcsvに置き換える前に、"で囲むようにすればいいが、置換でなんとかならないものか。
946 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 01:33:19.87 ID:QHwNiY6E.net] ExcelのCSV読み込みでセル内改行がある場合 d.hatena.ne.jp/stealthinu/20170127/p1
947 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 07:54:15.59 ID:u+iZKjOm.net] なんかもう最初のカンマまでの文字数だけ切り取るほうがシンプルなんじゃ
948 名前:デフォルトの名無しさん [2018/11/08(木) 11:52:01.74 ID:rWQT8E4I.net] excelの3Dグラフで陰線処理ってできますか?
949 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 12:05:03.88 ID:Yck2Cb0Y.net] 陰毛処理?
950 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 14:33:21.43 ID:3qqw0Iqx.net] >>898 それのどこに配列が絡んでるんですかね?
951 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 14:42:53.05 ID:rBrrwKGn.net] >>908 昔方法探したけどできなかった 陰線処理ってエロくないのにちょっとエロく思える単語だよな
952 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 15:12:21.75 ID:BZZI+ZYR.net] 質問する奴も答える奴も論外で草 質問する奴はそういうスレだからともかく 答える奴が池沼なのはもう少し何とかならないか? VBAだから無理か
953 名前:デフォルトの名無しさん [2018/11/08(木) 19:19:19.39 ID:j6Jh7/pK.net] なんやプロさん同士で内紛勃発か?w
954 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 20:27:13.91 ID:hKKyRwQm.net] >>910 えっ? 絡んで無いと思ってる? 今となっては初心者でも使う手法だと思うんだが。 それとも何か勘違いしてるのは俺か?
955 名前:デフォルトの名無しさん [2018/11/08(木) 20:30:22.05 ID:j6Jh7/pK.net] >>914 おまえだけやプロさんw
956 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 20:41:38.00 ID:vlGhAqs/.net] >>910 変数代入のときにSetステートメント使ってないから、変数にはセル値の配列が入ってるぞ
957 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:36:31.77 ID:I6vRTJnd.net] >>873 ,>>874 SQLServer側でセルの権限管理??? プロ??
958 名前:デフォルトの名無しさん [2018/11/08(木) 22:38:08.36 ID:j6Jh7/pK.net] プロさんにつっこんだらあかんやろ 暗黙のルールぐらい守れやカス
959 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:43:10.26 ID:I6vRTJnd.net] そんなことより、XMLクライアントとしてのExcelを語ろうぜ
960 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:06:03.49 ID:g1taMrfK.net] >>917 セルの権限管理なんぞサーバーから見たら何の意味もないよ
961 名前:デフォルトの名無しさん [2018/11/09(金) 10:17:43.12 ID:46H7vVxk.net] sagawa-oki.com/ ここにアクセスしたら不審サイトであると警告が出ました。 PCに詳しい人、これどういうしくみなんですか? オレのPCは感染したのですか?
962 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 10:21:06.82 ID:mRKVO+Jg.net] yes
963 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 10:42:48.08 ID:jWmpQO7/.net] >>921 もう手遅れですね アマギフ送ってくれたら直してあげられるよ
964 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 14:25:59.43 ID:xyt0IPos.net] >>919 これ興味あるんだよな 使いやすい?
965 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 22:13:18.94 ID:GmFPY+rV.net] プロに聞いてみようぜ
966 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 22:36:34.07 ID:dt2W+h7o.net] デザイナーが描くような美しいUMLのシェイプを生成するDSLライブラリはありませんか? PlantUMLのエクセルバージョンのようなものを探してます
967 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 13:47:50.89 ID:g7tZUN2t.net] データの持ち方はシンプルな方がいい そうでないなら条件を明確に
968 名前:デフォルトの名無しさん [2018/11/12(月) 08:23:59.02 ID:emJ6rSNr.net] 901だが、 さらにおしえてほしい textに "please call a "phone"." と書かれているケースがあり、これをcsvとして読みこませる前に 表記が崩れないように整形を加える。 最終的に1セル内に please call a "phone". が入っていればよいです。 上記を実現するための整形の流れとしてどうしたらいい? 整形後は、phoneの間に"をさらに追加する。端っこの"には手を加えない。 "please call a ""phone""." 手作業ではなく、置換で自動化したい
969 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 09:22:19.42 ID:CGIJA+ER.net] そういうのはCSVとして読み込むんじゃなくて、自前で構文解析した方が良い。 この程度なら難しく無いでしょ。
970 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 09:52:07.52 ID:zyHWT4B/.net] >>928 正規表現置換の使えるエディタで 検索パターン ([^\,\"]+?)\"{1}([^\,\"]+?) 置換後 \1\"\"\"\2 などとすれば一応行ける
971 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 09:53:55.26 ID:zyHWT4B/.net] 訂正 置換後 \1\"\"\2 だな、1個多かった
972 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 21:39:04.12 ID:OsYv7RWH.net] 全く無知な自分にご教授下さい。 マクロでフォルダ内のエクセルのシート1をすべて結合するマクロを探しています。 ネットに転がってるのを実行してもうまくいかないです。 できればですが、シート名は統一していないないので、ブックないのシートのRange(A1)が日付だったシートのみを結合とか高度すぎて無理でしょうか。
973 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 21:42:09.58 ID:dMWbNPXa.net] >>932 私には可能ですし特に高度とも思いませんが、貴方にできるかどうかは知りません 少なくとも今目の前の問題を片付けたいだけであれば、諦めて手作業したほうが貴方にとっては早いでしょう
974 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 21:54:32.66 ID:JxfhNlMu.net] ネットに転がってるのがあってもできないなら回答しても意味なくね? ファイル名が統一されてないからうまく行かないんなら、フリーソフト拾ってきて一括リネームしたら済む話かもしれない 何を試みて何かどううまく行かなかったのか、真に目的を達成するには何がどうなっていればいいのか それくらいは頭を整理して明記しなさい 何がわからないのか何がしたいのか自分でわからないけど親切に要件をヒアリングして代わりに作ってほしい、ならそこらへんのSIerに相談しなさい
975 名前:デフォルトの名無しさん [2018/11/12(月) 22:03:30.98 ID:XDhm+jvj.net] >>933 バカはお口にチャックな
976 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 22:13:45.72 ID:MyIa17Oe.net] Dir sheet(1) IsDate この辺りで調べてみればそこまで難易度は高くないと思う
977 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 22:18:58.14 ID:OsYv7RWH.net] >>933 なるほど。難しいって事ですね。 >>936 sheet(1)だと中にはsheet(2)にデータがある場合があるんです。 なのでシートのA1が日付の時だけコピーとかしたかったのです。
978 名前:デフォルトの名無しさん mailto:sage [2018/11/12(月) 22:36:44.04 ID:zyHWT4B/.net] for each ws in Worksheetsとif文が使えればできるよ
979 名前:デフォルトの名無しさん [2018/11/13(火) 00:16:47.48 ID:6PLLlNb2.net] >>930 試したけど、grepにひっかからず。
980 名前:デフォルトの名無しさん [2018/11/13(火) 00:18:49.38 ID:6PLLlNb2.net] 936ですが、 原因が分かりました。 ([^\,\"]+?)\"{1}([^\,\"]+?)の後の半角スペースが入っていたので引っ掛からなかった。 半角スペース覗いたらできました。
981 名前:デフォルトの名無しさん mailto:sage [2018/11/13(火) 03:19:44.71 ID:gWmuHRek.net] >>928 1"2"3"4"5 これが君には、"24"、"3" の2つに見えるけど、 普通の人は、"2"、"4" の2つに見える つまり、"3" がネスト・内側だとは判別できない。 内側を表すには、確実に、外側と区別できる方法が必要 例えば、""3"" のように、" が2個続いたら内側と解釈するとか、何らかの方法が必要だけど、 他に解釈されないような、特別な記号を作るのは難しい
982 名前:927 mailto:sage [2018/11/13(火) 07:16:41.37 ID:xWZc78Mp.net] >>940 半角スペースはそちらでの混入かと
983 名前:デフォルトの名無しさん [2018/11/13(火) 21:19:22.76 ID:8adn94NA.net] >>940 Excel vba にも正規表現による置換機能あるよね?その検索パターン、置換する文字列をそのまま使えるのか?
984 名前:デフォルトの名無しさん [2018/11/13(火) 21:22:12.20 ID:Vxu3kwrv.net] >>941 長い、3文字で
985 名前:デフォルトの名無しさん [2018/11/14(水) 00:32:01.09 ID:cWkoLxip.net] こんばんは。質問させてください。 VBAでXMLファイルを作成したいのですが、MSXML2というパーサ(?)を使わないといけないのですか? Printなどを用いてテキストファイルを作成し、拡張子を.xmlに変更して作成した場合、何か問題があるのでしょうか XMLファイルはただのテキストファイルだという認識だったのですが、「VBA XML 作成」などと検索すると ほぼ全てのサイトでMSXML2を用いた方法が紹介されているので混乱しています よろしくお願い致します
986 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 02:04:23.47 ID:otO/yyOk.net] Ruby, Python, JavaScript など、すべての言語・コマンドでも、そう。 HTML, XML, JSON などは、それ用のライブラリを使う 勝手に作ったファイルは、パーサーで解析すると、 間違った形式・フォーマットで作られている、正しい形式ではない、という形式違反になる 正しい形式かどうかを、チェックするツールもある
987 名前:デフォルトの名無しさん mailto:sag
[] [ここ壊れてます]
988 名前:e mailto:2018/11/14(水) 03:54:10.85 ID:KIwP1nqR.net [ 以前DOMについて質問させて頂いたものです。 前回はIEを直接開いて扱っていたのですが、 MSXMLという機能でIEを開かずにウェブサイトの情報を取得できると知り、 そちらの方が速そうだし面白そうなので挑戦しています。 そこで色々調べていたのですが、 http://d.hatena.ne.jp/end0tknr/20081115/1226755041 というブログに「MSXML2.DOMDocumentでxml responseをparseすることができます。」とあり、 Dim HttpReq As MSXML2.XMLHTTP Dim DomDoc As MSXML2.DOMDocument ・・・ DomDoc.loadXML (HttpReq.responseText) というコードが記述されていますが、ローカルウインドウを見るとXMLHTTP(XMLHTTP60)にresponseXMLというそれらしいプロパティがあります。 直接これをDOMとして扱うのは出来ないのでしょうか。 ] [ここ壊れてます]
989 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 06:47:08.50 ID:F2hyLHDL.net] >>945 > MSXML2というパーサ(?)を使わないといけないのですか? 別にMSXML2なんて単なるライブラリだから使わなくてもいいよ ただXMLにきちんと対応するのは面倒だからみんな使ってるだけ
990 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 08:00:52.88 ID:cWkoLxip.net] >>946 >>948 ありがとうございます 大変勉強になりました
991 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 09:35:48.86 ID:JBsUV7Ak.net] >>943 VBAでの後方参照(\1や\2のような)はExecuteメソッドが要る、 grepやpowershellみたいに簡潔にならんけどできないことはない Set Matches = RE.Execute(対象文字列) For Each Match In Matches Match.submatch(0) & """""" & match.submatch(1) Next Match
992 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 21:48:32.31 ID:X5SCw3Kf.net] 入力規則のリストでリストのいずれかを選択した時に アクションを起こしたいのですが、方法はあるのでしょうか。 selection changeでは無理でした。
993 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 23:16:38.95 ID:Z7uIM71c.net] >>951 普通のWorksheet_Changeイベントを使う
994 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 01:04:33.76 ID:pL2ZxAKh.net] >>952 出来ました! こんなに簡単なことを見落としていたなんて情けない・・・ ありがとうございました。
995 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 22:05:17.67 ID:xj1JjGGB.net] 上場企業ってポリシーでマクロとか止められてない?
996 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 22:08:32.25 ID:60AqZ+Uz.net] 各部署向けのマクロを色々作ってたけど そんなの企業次第だろ
997 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 22:14:10.97 ID:Q+Sfzbdk.net] うちは個人での業務効率化が目的なら黙認されるのが実情だな 部署での正式な業務ツールとしてのマクロは情シス部で仕様として管理される事になるし、個人での作成も配布も禁止されてる
998 名前:デフォルトの名無しさん [2018/11/15(木) 23:27:40.32 ID:sS26qanx.net] ザルにもほどがあるやろw黙認とか一番あかんやつやんけw
999 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 23:59:31.43 ID:lTdn/5mU.net] マクロは申請が必要で保存場所は限定だわ
1000 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 04:45:29.00 ID:1oL4uemZ.net] 以前は自由だったのが、誰かがミスするたびに禁止になって、今はほとんど何もできなくなった
1001 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 07:12:21.93 ID:B19KzSp6.net] 情シス部にいるとマクロ作り放題(影響及ぼす範囲によるが)
1002 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 09:34:05.81 ID:iyDekcJ2.net] それで競争になるのか人事ながら心配 禁止なのはOfficeマクロだけってなら分かるけどさ
1003 名前:927 mailto:sage [2018/11/16(金) 09:43:44.02 ID:fQoG7lNZ.net] セキュリテイ問題はVBAだけじゃない、今流行りのRPAだってハック悪用されちゃえば、情報流出し放題になる危険はある。 ただ情シスでVBAし放題って、仕事としては辛いなあ、VBAが好きならいいけど
1004 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 11:24:37.60 ID:iyDekcJ2.net] 情報流出のリスクって観点だったら自分の手元の端末でプログラミングする/しないなんてあんまり関係ないよなあ。 セキュリティ担当大臣のリテラシーがあれじゃ何言っても無駄かw
1005 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 13:07:59.03 ID:+iwVt0B0.net] うちの場合、初期導入済みのソフト・プログラム以外追加インストール禁止、 プログラムの自作禁止、バッチファイル等のスクリプトも自作禁止、 その他電算担当が意図しないものは禁止、 ただしExcel・Wordのマクロはプログラム外とおかしなやりとりさえしなければ自作可、だから、 お目こぼしいただいているといえばそうかも試練。
1006 名前:デフォルトの名無しさん [2018/11/16(金) 20:12:20.13 ID:HodhQ/sE.net] >>963 おまえも大差ないけんどねw
1007 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 12:59:10.62 ID:rrttmrGF.net] htmlでも作れるよ
1008 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 16:28:27.01 ID:avlCLAGR.net] 禁止いうても、コンペアツールや自動入力ツールの類を自作してこっそりローカルで使ってる人はいるわな。 個人で作成したマクロなんてそう大勢に普及させるもんでもないし。
1009 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 19:32:22.12 ID:afjAxwZo.net] >>964 と同じような環境でパソコン操作ログも全て取られている。けどマクロは作り放題でこの会社どうかしてるなあと思う 管理できる範囲で使うようには心がけてる程度
1010 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 23:34:31.53 ID:kPyd3h/H.net] すみません初心者です。 次のブログで紹介されているVBAを応用したいのですが、 ご助言をお願いしたく。 https://www.excel-prog.com/entry/outlook-mailitem2 現状は 「キーワードが含まれるファイルが見つからない場合は、ファイル添付しない」 という処理なのですが、 「キーワードが含まれるファイルが見つからない場合は、下書きを作成しない」 という処理に変更できないでしょうか。
1011 名前:デフォルトの名無しさん [2018/11/17(土) 23:37:15.00 ID:eQWBxdMf.net] >>969 質問以前の問題やけど言葉を途中できるな、失礼やぞ 「助言をお願いします」と言うもんや
1012 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 23:39:40.85 ID:rc62Vrp5.net] >>969 自分で勉強する気がないならRPAを買おう
1013 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 23:48:28.07 ID:Q6MHNsVE.net] Windowsにも色々なコマンドラインツールが標準で付属してくるから たいていのことは追加ソフトなしでできちゃうんだよな
1014 名前:デフォルトの名無しさん [2018/11/18(日) 00:19:50.58 ID:RRVp+pUX.net] なんや、わいは>>969 の言葉使いのバカさを諫めただけで質問の内容は否定しとらんで わかる奴答えてやれや
1015 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 00:50:35.06 ID:WoNYW9mY.net] >>969 下書きを作成しないというか、要するにメールを書き起こさないようにすればいいわけだよな ならば、メール作成箇所の前に一行 If SearchFile(フォルダパス,Keyword)="" Then Exit Sub 等と追加して、SearchFile関数の戻り値が空文字列ならメール作成しない処理にすれば良い ただし、エクセルファイル以外のファイルの存在確認をするならSearchFile関数の修正が必要だし、パス長が255文字を越えるフォルダやファイルを検索する場合はFileSystemObjectを使ったりしなきゃならない
1016 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 07:35:49.85 ID:ZUPq3iVE.net] >>972 powershellとbashのこと?
1017 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 08:50:18.78 ID:fvzyxXyq.net] >>970 そんなコマケーことが気になるなら匿名掲示板なんて見るなよ、馬鹿じゃねーの?
1018 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 09:39:49.09 ID:xm+TdzEk.net] >>975 Vista以降はコマンドライン版のC#コンパイラが標準で入ってるから、理論上はなんでも作れる 開発環境がないから手間はかかるけど
1019 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 09:44:41.41 ID:31bgLNRt.net] コマンドライン版でないC#コンパイラなんて存在しませんw
1020 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 10:02:01.46 ID:1SW2m7ab.net] 流れを無視して急に知識自慢始めちゃうやつ 今の話題はアプリの追加インストールが禁止された環境で何が出来るか
1021 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 10:52:24.32 ID:agYaFy5y.net] C#のコンパイラはVista以降なら追加インストール必要ないぞ
1022 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 11:13:46.24 ID:PoFSPoaK.net] C#は標準で使えるけどまともなエディタが無い 少なくともVSCodeは必須と言っていい それと最新の言語バージョンにあげたいからSDKも合わせてインストールしたいね 本家Visual Studioは要らないけどプレインストールだけで戦えるほど簡単でもない でもVBE+VBAと比べるとC# 5+メモ帳でもまあいっかーこっちのほうがまだマシかもなーという気持ちになることは認める
1023 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 11:14:53.56 ID:Nq43WKFY.net] >>980 3つ上に書いてある
1024 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 11:20:20.73 ID:SwY+rtAE.net] >>978 アスペ乙
1025 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 11:24:42.28 ID:SwY+rtAE.net] >>982 書いてあるのに>>979 みたいなこと言うやつがいるって話だろ
1026 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 11:59:22.66 ID:ve9l0Wxi.net] >>981 Visual Studio Codeはまともじゃないと?
1027 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:08:47.18 ID:PoFSPoaK.net] >>985 ?? あれはいいエディタだよ
1028 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:15:47.10 ID:31bgLNRt.net] VSCodeなんかフリーソフトのインストールに許可が要る会社で使うのは不可能だろ C#の開発環境を整えようとしようものなら数百個のオープンソースライブラリが勝手に入ってくるから、 全部申請出して情シスにレビューさせたら何年かかることか
1029 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:23:37.60 ID:ve9l0Wxi.net] >>986 ああ日本語の問題ね
1030 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:31:26.14 ID:PoFSPoaK.net] >>987 そんな厳しいチェックしてる企業は実際にはないよ Microsoftが出してるツールならMicrosoftを信用してMicrosoftが採用したオプソの依存関係も信用する これぐらいのバランス感覚が普通じゃないかな
1031 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:35:06.02 ID:zyj02y5w.net] 984じゃないけど、そら世間知らず過ぎだわ どんだけセキュリティ弱い企業なのよ、うちだってまず無理だわ だからこんな糞言語使ってるってのに
1032 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:45:51.12 ID:PoFSPoaK.net] いやいや 膨大な数のオプソのセキュリティをレビューできる専門家を何人も囲える企業ばかりじゃないだろ 囲える力があったとしてもそんな貴重な人材をツール申請のレビューアーとして使い潰す企業があったとしたらただのマヌケだわ
1033 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:47:52.42 ID:VUJKeY9L.net] Windowsのアプデで.NETライブラリを更新することにすら神経尖らす企業もいるし、VSCode使用は一般化できんね
1034 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:50:32.45 ID:PoFSPoaK.net] だから殆どの企業は判断基準として発行元はどこなのかということぐらいしかチェックしない 現実的に考えると企業としての信用で判断するしかないんだよ そしてソースコードではなく信用で判断するなら信用した企業が信用した企業も再帰的に信用したって構わないだろ
1035 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:54:35.35 ID:XN88gtNz.net] 前職は某外資Iのグループ会社にいたけど、Globalのルールだと 業務で使用するオープンソースライブラリは許可済みのもの(レビュー済の特定のバージョンに限る)以外は全てレビュー必須だったぞ 厳密に適用するとVSやVSCodeのパッケージマネージャで入ってくるような膨大な数のOSSライブラリは全てレビューが必要 まあ誰も守ってなかったがw
1036 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:55:34.27 ID:PoFSPoaK.net] >>992 それは違う理由で神経尖らせてるだけ 日本企業で.NETと言ったらVB.NETが代名詞になる VBコミュニティのレベルの低さは底なしだ 彼らがVB.NETで作った業務システム(主にデスクトップアプリ)ってものすごく簡単に壊れるんだよ OSやフレームワークの更新なんてしたらどうなるか分かったものじゃない だから慎重になるの オープンソースのセキュリティについて慎重になるのとはベクトルが違う
1037 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 12:59:43.99 ID:XN88gtNz.net] >>995 委託開発なら当たり前でしょ だってライセンス許諾の主体は開発側ではなくユーザーなんだから、 使用しているライブラリをユーザーに把握させユーザー自身で許諾させることは法的に当然必要なプロセスだ ちなみに991は自社利用するときの話な
1038 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 13:05:16.34 ID:PoFSPoaK.net] >>994 ソース全チェックなんて現実的なアイデアじゃないからたちまち形骸化するよね 信用のおける企業が発行あるいは採用してる、世界規模で採用実績が十分に多い、信用のおける団体が認証している、といった基準で判断しないとITビジネスのスピードに追いつけない
1039 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 13:25:25.99 ID:fvzyxXyq.net] ソースなんてチェックできるわけないわな やってもライセンス条項のチェックが精一杯だと思う
1040 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 13:56:30.51 ID:mxtYTXok.net] たまたまオープンソースで読めるからって 急にチェックし始めるのは良くわからんな
1041 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 14:02:39.60 ID:t5VFkoMH.net] >>999 読めるかどうかじゃなくて責任の所在の問題だ オープンソースのほとんどは自己責任だから、使って重大な損害が生じたときに賠償請求できない ライセンスについても「あくまで俺の書いたコードについてのライセンスであり、依存してる他のライブラリは知らん」が普通だし
1042 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 14:12:20.41 ID:mxtYTXok.net] 自己責任なのはオプソに限らずフリーウェアのほぼ全てじゃない jreやflashなんてどうやって検証してるのさ
1043 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 14:38:30.24 ID:PoFSPoaK.net] オープンソースって有名なものは大企業や財団が管理・支援してるからな ソースを全部チェックしなきゃインストールしちゃだめなどと素っ頓狂なことを言い出す企業のあって無いようなセキュリティ意識よりよっぽど安心
1044 名前:デフォルトの名無しさん mailto:sage [2018/11/18(日) 14:43:42.16 ID:M6SP58jh.net] >>993 逆。 だからチェックせずに禁止する所が多い。
1045 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 68日 17時間 1分 3秒
1046 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています