- 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/ ※デフォルト設定
- 744 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 17:23:40.82 ID:9UX6mR7k.net]
- いやもう完成しました
感謝もしたし謝罪もします 計算式はPCないところで関数電卓使ったりするから嫌でもわかっとります √( xズレ^2+yズレ^2) *2 VBAでもまず覚えようと思ったので Xズレ→B列 Yズレ→C列 位置度→D列のデータの時 Dim s As Long Do While Cells(s, 3) <> "" Cells(s, 4) = Sqr(Cells(s, 2) ^ 2 + Cells(s, 3) ^ 2) * 2 Cells(s, 4) = Format(Cells(s, 4), "0.000") s = s + 1 Loop エンドサブちゃん 高卒には荷が重すぎ 高学歴でしょここの人達
- 745 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 17:29:15.93 ID:/dMXe1DS.net]
- その言い訳がましいフレーズをレスに入れるから良くないって、今後は書き込む前に考えたほうがいいよ
ここはもう来なくてもいいから
- 746 名前:デフォルトの名無しさん [2020/06/11(木) 17:34:53.28 ID:Gg4t4WTy.net]
- 俺は計算系は答えられんがここは質問スレだからどんどんこい。
煽ってるだけの奴は何の目的でこのスレにするんだ。芸能人の話題待ちでもあるまいし。 自分の決め事があるならいいけど初心者は変数は後でわかるようにとにかく宣言すべし。 日本語だけはあまりお勧めしない。
- 747 名前:582 mailto:sage [2020/06/11(木) 19:31:53.23 ID:lwV9wV8Y.net]
- >>718
何で、そのループが必要なのかな? あと、いきなりCellsで始まるのはあまり良くない。 ブックなりシートなりから書いた方が良い。 でも、それだと長くなるからWithやSetを使う。
- 748 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 20:34:47.38 ID:upd9DdGd.net]
- 特定の行・列を表示・非表示にするボタン使ってるんだけどさ
この行・列にActiveXの他のボタンがあったりなんかするこ、たまにこいつらが消滅するんだよなぁ debug.printとかで位置確認すると確かにそこにいるんだけどHeight=0とかになってる んで適当にSubプロシージャ作ってHeight=200とかに設定するんだけどだめ ならない エラーはかないけど、debug.printで確認してもぜぃろぉのまま Deleteも効かない てかエラー出る オブジェクトの選択と表示からみると存在してる 再起動してもだめ てかたまに開けなくなるw しゃーないから、新しいシート作って、そこにシート全選択でこぴぺすると 表示されてるボタンはコピーされるが 消滅したボタン群だけはコピーされない コピーされないってのは、オブジェクトの選択と表示にそいつらが出なくなることから判断してる 消えたやつは新しく作り直してる まぁそうすると元に戻るんだけどさ なんだか半分死んでて半分生きてるような感じなんだろうなぁ お前らこういうことある?
- 749 名前:蟻人間 mailto:sage [2020/06/11(木) 20:43:48.25 ID:9OB4DptL.net]
- ActiveXはサポート終了でしょ
- 750 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 20:47:39.72 ID:upd9DdGd.net]
- だってぇ・・・右クリで移動されちゃうボタンとかいやだもん
- 751 名前:デフォルトの名無しさん mailto:sage [2020/06/11(Thu) 21:20:07 ID:v1OJq4JH.net]
- Active S○X
- 752 名前:デフォルトの名無しさん [2020/06/11(木) 21:49:44.43 ID:Pc/1Hill.net]
- txt123 = objIE.document.all.tags("table")(2).outerText
でテキストを取得しました。 txt123 の中に授業表が入っています。 体育という単語が含まれていれば、A列のセルに〇、国語という単語が含まれていればB列に〇、 算数はC列・・・ という具合に特定の文字列が含まれていれば指定の列のセルに〇を入れたいのですが、 どうしたらいいでしょうか? 特定の文字列は国語、算数、体育、社会、理科の5つです。
- 753 名前:デフォルトの名無しさん mailto:sage [2020/06/11(Thu) 21:52:07 ID:DFKeKDYT.net]
- >>726
馬鹿は死ねば治るかもよ
- 754 名前:蟻人間 mailto:sage [2020/06/11(木) 21:55:51.11 ID:fTevQdJs.net]
- >>726
文字列を検索する関数とIf文を使えば?
- 755 名前:デフォルトの名無しさん [2020/06/11(木) 22:00:18.32 ID:vUhEmjDF.net]
- >>726
こんなこともわからない頭の悪い奴に教えられる子供がどうなるか
- 756 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 22:05:40.83 ID:S8xfnPZH.net]
- >>726
色々無理だと思うぞ。やめとけ。
- 757 名前:デフォルトの名無しさん mailto:sage [2020/06/11(Thu) 22:28:34 ID:Pc/1Hill.net]
- >>728
ありがとうございます! If InStr(txt123, "国語") > 0 Then こんな感じに値が返ってきたら〇と入力する仕組みになりました
- 758 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 23:19:34.07 ID:fXLeDjMq.net]
- まさかと思うがテキストボックス123個とか作ってるんじゃないよな
- 759 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 23:44:22.39 ID:52kheZTp.net]
- 何でそれでいきなりIE制御・・・。
- 760 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 00:13:44.58 ID:Y0E/tOto.net]
- 授業表をIEで見るって社内システムがそれなのか?
- 761 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 00:33:39.25 ID:cWAZHeBV.net]
- IE制御とかレガシーにも程があるだろ。。
- 762 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 00:43:49.91 ID:V6O8I1+o.net]
- WebページのテーブルってエクセルのVBAで
IE以外にどうやって取得するの?
- 763 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 01:56:00.71 ID:MW3IhN88.net]
- test
- 764 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 02:10:15.74 ID:MW3IhN88.net]
- 選択した範囲のセル色を変えたいです。
If Intersect(Target, Range("B1:B5")) Is Nothing Then Exit Sub 色変更処理 変更可能なセルはB1:B5のみとしたいですが、 これだとB6が一緒に選択されている場合に一緒に色が変更されてしまいます。 B1:B6を囲ってしまった場合でも、B1:B5までの色のみ変更させたい場合どうしたらいいでしょうか。
- 765 名前:デフォルトの名無しさん [2020/06/12(金) 02:51:45.45 ID:KALz8/u9.net]
- また馬鹿か
- 766 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 03:29:37 ID:IFmaagGk.net]
- >>738
選択した範囲は選択されているのか?
- 767 名前:デフォルトの名無しさん mailto:s
[]
- [ここ壊れてます]
- 768 名前:age mailto:2020/06/12(金) 06:26:26.47 ID:u23pgbjD.net [ >>738
intersectした結果とTargetを比較したらいけないかな ] - [ここ壊れてます]
- 769 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 07:59:23 ID:d1Ad7gfn.net]
- >>722
シートに配置したボタンでよく遭遇するよ。そんなもんだと思ってるから、ボタン押下時のコードに自分自身の位置とサイズを初期化するコードを書くようにしてる。
- 770 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 08:22:21 ID:F5wzc1/2.net]
- >>739
分からないからそれしか言えないのか?
- 771 名前:582 mailto:sage [2020/06/12(金) 08:32:29.25 ID:KgwnUKnv.net]
- >>736
俺が知ってる方法で4〜5種類の方法がある。 MSXMLとかWinHttpとかhtmlfileとか。
- 772 名前:582 mailto:sage [2020/06/12(金) 08:34:43 ID:KgwnUKnv.net]
- >>722
どっかのリボンにオブジェクトのリスト出せるボタンが有ったと思うが、表示されなかったっけ?
- 773 名前:582 mailto:sage [2020/06/12(金) 08:36:08 ID:KgwnUKnv.net]
- >>742
サイズ変わって見えなくなってるだけだよなあ。
- 774 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 12:46:47.02 ID:HqN3pHW3.net]
- >>722
セルにあわせて移動やサイズ変更するかどうかの設定があったはずだが
- 775 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 13:13:42.59 ID:1+2Rgw6z.net]
- >>747
バージョン2010以降「セルに合わせてサイズ変更や移動しない」の設定になっていても サイズが変わってしまう事例を多数経験しています。(2007は経験なし) ボタンだけでなく、コメントの位置も極端に移動すること多数。
- 776 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 13:14:30.95 ID:hxFv/xna.net]
- >>744
ヘェ〜そんな関数あるんだ、IEオブジェクトだけかと思ってた、ありがとう
- 777 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 17:49:02 ID:aQA9YYrW.net]
- >>742
エクセルに任せるんじゃなくてコード上で配置の指示だしておくってのは解決策になるのかもしれんね。ちっこくして非表示切り替えと関係ない安全な場所に退避させておくみたいな >>745 それが「オブジェクトの選択と表示」 リストには出てるんだわ >>747 まぁその辺もやってるんだけどね むしろその辺でバグってるんだと思う >>746 おれの書いた内容読んでないのかもしれんけど VBAからサイズを再指定して表示させようとしてもバグってて指定を受け付けてくれないってことな そもそもサイズの問題だけならシートコピーで他の正常なボタンと一緒にコピーされるはずじゃん
- 778 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 23:01:56.39 ID:FlbnSBZd.net]
- Windows10に変えたら、クロマキー合成みたいなのが出来なくなっちゃったんだけど、
何か方法ない?
- 779 名前:デフォルトの名無しさん [2020/06/12(金) 23:29:11.20 ID:KALz8/u9.net]
- また馬鹿が来た
- 780 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 23:57:17 ID:FlbnSBZd.net]
- >>739
>>752 一体どんな無様な人生を送ったら、そんなコメントが出来るようになるのかな? 生きててつまんないだろう? ここの住人にかまってもらえるのが唯一の楽しみかい?
- 781 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 00:29:59.36 ID:0QXppYe5.net]
- クロマキーはWin7まで。
ていうかクロマキーて・・。 確かにクロマキーだが。
- 782 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 01:18:01.22 ID:l5EmusQW.net]
- 一旦あきらめて、真の目的を違う方法で達成することを考えましょう
- 783 名前:デフォルトの名無しさん [2020/06/13(土) 03:31:14.05 ID:d/IEOBZf.net]
- >>753
自分が言われたという自覚があるんだ?
- 784 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 06:33:26.28 ID:iOfV/qX/.net]
- >>752
実は自分もわかってないからここで勉強してるんだろ でマウント取りたいからそのコメント
- 785 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 07:35:38 ID:gm1IvgiV.net]
- 質問スレなんてどこでも、マウントとって承認欲求を満たそうとする奴らばかりだよ。
特にVBAスレは、プログラミング板の他のスレでは相手にされないレベルの奴がここなら俺でもマウントとれるだろと集まってくる。
- 786 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 10:49:08.95 ID:hwBvm+CU.net]
- VBA始めて1週間
結構できるようになったけど、俺ってすごい!?
- 787 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 11:02:28 ID:iOfV/qX/.net]
- >>759
どうやって勉強した?どこまでできるようなった?
- 788 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 12:54:09.65 ID:l5EmusQW.net]
- VBA完全に理解した
↓ VBAなにもわからない ↓ VBAチョットデキル
- 789 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 13:53:12.35 ID:sXc2xmOg.net]
- 何を以て「できる」と判断したのか?
- 790 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 13:57:01.18 ID:k9PzEFx9.net]
- 初心者の頃に書いたコードみるとマジナンだらけでチョベリバだわ
- 791 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 14:05:41.14 ID:GFk/ON+H.net]
- 編集ができるってことじゃね
- 792 名前:デフォルトの名無しさん [2020/06/13(土) 14:17:20 ID:Ft3NByW3.net]
- ダニングクルーガー効果とかいうやつじゃね
- 793 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 15:41:58.59 ID:9rN9x/HV.net]
- VBAに限らないコーディング全般の話になるかと思うんですが、
For文のカウンタ変数に対してそのブロック内で加減算するのはいわゆる「お行儀が悪い」ものですか? For i = min To min Step -1 For j = i + 1 To max 〜処理〜 If 条件 Then 〜処理〜 Let i = i + 1 '←ココ 〜処理〜 Else 〜処理〜 End If 〜処理〜 Next j 〜処理〜 Next i 前任者が使っていた20行にも満たないコードですが、1行目に違和感がありました。 Do While/Until文で書き直せるものの、単に自分の理解度が低いだけかもしれず・・・
- 794 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 15:59:50.04 ID:sXc2xmOg.net]
- >>766
俺ならforにしないな
- 795 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 16:03:06 ID:hwBvm+CU.net]
- データ用のシートからデータをコピーできるようになったぜ
ところでクラスモジュールにはどんなメリットがありますか? functionの意味は分かりましたが、クラスとの違いなどがよく分からず 今本屋で色々探してきましたが、解説が見当たりませんでした。
- 796 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 16:04:33 ID:HDBeOIwd.net]
- >>766
forにせずif文で条件抜けさせる方が読み手に伝わるし良いと思う… stepで減算してるのに条件次第でi加算するのは処理の流れが分かりづらくなる
- 797 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 16:05:08 ID:ll49+YlL.net]
- 一般的に、for nextの方が理解しやすいから、for 文ありきで書いてるだけなんじゃないかな。
感覚的にも可読性やメンテナンス性からも、do loopなどで書く方が良いと思います。
- 798 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 16:14:12.41 ID:lPN2rvMv.net]
- >>768
VBAのクラスはCOMとの相互運用のために存在する 普通に使う分には全く必要ない というか並のVBAerのスキルではメンテ不能になるからむしろ有害 クラスを使いたくなるレベルの高度な抽象化が必要になるようなら、 そもそもそんなことをVBAでやらなければならないシステム設計が間違っていると考えるべき
- 799 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 16:49:04 ID:9rN9x/HV.net]
- >>767, >>769-770
やはりそうですよね。Do〜に書き直そうと思います。ありがとうございました。
- 800 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 16:50:17 ID:hwBvm+CU.net]
- >771
ありがとうございます。 そこまでの説明が探しきれなかったので助かります。
- 801 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 16:52:28 ID:69sGe9cG.net]
- >>766
Forの使い方を間違ってる 途中で1足して、最後にまた1引くんなら、Do LoopとIfなどを使って条件をはっきり書くべき プログラミング全般の話となると、コンパイラによっては最初にStep値で割り算して回数を求めてしまうコードを吐くやつもあるので、正常に動かなくなる
- 802 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 18:20:23.36 ID:gmb5Wcnr.net]
- ブックのなかに、シートがたくさんあって、
マクロ利用者毎にマクロで動かしたいシートが違う。 だから、マクロの実行中に、利用者にシートを選択させて、それをactivesheetにさせたい。 そういうの、できる?
- 803 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 18:31:43.88 ID:sXc2xmOg.net]
- できる
- 804 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 18:35:00.95 ID:Q06gyfKt.net]
- >>775
ロジック的に変 Webページやスマホアプリでも最初にログインするのとかあるでしょ? 後から選択するくらいなら最初に分けた方が良いのでは?
- 805 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 18:38:57.44 ID:gmb5Wcnr.net]
- >>777
できれば、そうしたんだけど。 何人もの利用者が共通で使っているブックなので、シートを分けられないんだ。 シートがゴチャゴチャの状態から特定シートを利用者に選ばせたい。
- 806 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 18:42:11.92 ID:ejIEXNUq.net]
- >>775
https://qiita.com/rrryutaro/items/b8bdc6d16bdf8c66a190 この辺コピペしたら動くんじゃない?
- 807 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 18:54:40.10 ID:Q06gyfKt.net]
- >>778
ごめん参りました_| ̄|○>>779
- 808 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 18:56:13.87 ID:gmb5Wcnr.net]
- >>779
回答サンクス。 でも、もっとコードをシンプルにしたい。
- 809 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 18:56:56.64 ID:gmb5Wcnr.net]
- >>781
マクロを途中で止めて、利用者にシートを選択させることによって(そのシートのどこかのセルを選択させる)、activesheetにさせたいんよ。
- 810 名前:デフォルトの名無しさん [2020/06/13(土) 19:11:25.34 ID:Ft3NByW3.net]
- 自分でシートを開いてその後マクロを実行する形じゃダメなの
- 811 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 19:20:55 ID:gmb5Wcnr.net]
- >>783
今は、苦肉の策でそうしてるんだけどね。 諸事情により途中でactivesheet を選ばせたいんだ。
- 812 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 19:50:08.25 ID:mObNCAEc.net]
- これでいい気がする
https://qiita.com/yosatonet/items/b7083d7c95d2d81b1ffa
- 813 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 20:02:21.69 ID:gmb5Wcnr.net]
- >>785
サンクス ありがとー。 でも、もっと簡単にできんかな。 どうやら、無理っぽいな。
- 814 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 20:08:18.16 ID:Q06gyfKt.net]
- マクロの途中で>>779で作ったUserForm1.Showすりゃ良いでしょう
- 815 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 20:23:03.52 ID:mObNCAEc.net]
- じゃあこれ
https://www.relief.jp/docs/excel-vba-select-cells-application-inputbox-methot.html
- 816 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 20:28:03.66 ID:sXc2xmOg.net]
- >>782
途中でセル選択ダイアログでも表示すりゃいいじゃん
- 817 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 20:36:43.64 ID:gmb5Wcnr.net]
- >>788
ありがと。 それやってみたけど、ちょっと面倒だった。 もう一回やってみる。
- 818 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 20:42:30 ID:gmb5Wcnr.net]
- >>788
やっぱ、いけるかも。
- 819 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 20:42:48 ID:gmb5Wcnr.net]
- >>789
ありがと。いけるかも。
- 820 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 08:41:44.1
]
- [ここ壊れてます]
- 821 名前:2 ID:ffGowWaR.net mailto: >>790
よく分からんがモードレスにすりゃ良いんじゃねえの? [] - [ここ壊れてます]
- 822 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 11:14:04 ID:uWyGdyFQ.net]
- >>768
複数の自作関数をセットにして使いまわしたい時とか、 取得した値をプロパティとして保持しておきたい時とか、 自作関数でインテリセンスを使いたい時とか。
- 823 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 11:20:05.40 ID:ZfTKHz7W.net]
- >>794
モジュールと構造体でいいよねそれ
- 824 名前:デフォルトの名無しさん [2020/06/14(日) 11:21:47.96 ID:435IzS7y.net]
- VBA歴まだ1ヶ月
でtxtデータから全て数値をシートに引っ張り出す事は成功したけどそれをVBAで計算させるスキルはないからエクセル関数使ってる もっとスキルが欲しい
- 825 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 12:36:35.03 ID:PywPq9gj.net]
- 関数でできることは関数でやりましょう(例外あり)
- 826 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 12:52:53.71 ID:UBYu/Pyg.net]
- 関数ばかりでもいかんですう
- 827 名前:デフォルトの名無しさん [2020/06/14(日) 13:01:56 ID:435IzS7y.net]
- 引っ張り出した数値を
ABS関数 ROUND関数 MAX、MIN関数 IF関数 でだんだんフィルターを通す感覚で で本来の数値に対応させてる VBAでそれをやる力を得るには5年はかかるな 俺じゃ
- 828 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 13:26:59.00 ID:0qngbhsm.net]
- 限定的な使い方になるが、連想配列でユーザ定義型使いたい時に代わりにクラスモジュール使うって手がある
- 829 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 13:44:32.79 ID:attwzNFV.net]
- 質問ですが、列が3つありそのうち2つが検索用ワードで
これを元に検索し3つ目のセルにあるワードを配列に収めていく処理を行いたいです。 例えば、こういったテーブルがあります。 すずき、いちろう、170 すずき、じろう、171 たなか、さぶろう、172 検索条件を1列目「すずき」2列目「条件なし」とした時、170,171を配列に収める 検索条件を1列目「すずき」2列目「いちろう」とした時、170を配列に収める と、やろうとした時どういった処理が考えられるでしょうか。
- 830 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 13:51:33.71 ID:nNGIeJAo.net]
- データベースのアンド検索クエリ覚えなはれ
- 831 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 13:52:24.03 ID:0qngbhsm.net]
- >>801
オートフィルタで抽出して3列目を配列に格納
- 832 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 14:09:01.53 ID:NfMb0cpJ.net]
- >>801
まず表の範囲をテーブル化 そしたらテーブル操作の処理使えて簡単 officetanaka.net/excel/vba/table/
- 833 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 14:16:14 ID:UBYu/Pyg.net]
- >>801
逆にどういった処理も考えられないの?
- 834 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 14:28:07 ID:attwzNFV.net]
- ありがとうございます。
テーブル化の方向で調べてみます。
- 835 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 17:08:34 ID:zv9EPLCI.net]
- ユーザー定義関数をさ、AutoFill使って連続した複数セルに「=MyFunction()」みたいな感じで
代入していくじゃん 数式は正確に代入されてるのになぜか#VALUE!のエラーがでるんだよなぁ 計算対象になってるセルの1つをダブルクリックして値を入力するモードにしてから そのまま何もしないでエンター押すと、さっきまで#VALUE!だったところが 再計算されて正常にセルに表示される オートフィルに備えて連続セルの一番先頭にVBAから個別に代入しておいたセルがあるんだけど ここはちゃんと計算結果がでてる んで、このセルを始点にして手動でオートフィルかけて数式いれるとちゃんと計算される 手動オートフィルの結果代入された数式とVBAのAutoFill使って代入した数式を比較しても全く同じ でもVBAのほうだけは#VALUE!ですわ これ一体なんなのさ 一通り調べてわからんかったからAutoFillやめてForで回していれたった やっぱ俺にはこういう原始人的なコードがあってるわ
- 836 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 17:36:38 ID:0qngbhsm.net]
- >>807
計算対象のセルが更新された時自動で関数が処理される設定になってないから
- 837 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 17:49:03.80 ID:AaZP5Hye.net]
- >>806
ワシのやり方を参考にするなら Youtubeのチャンネル登録してな。
- 838 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 18:50:39.41 ID:zv9EPLCI.net]
- >>808
手動・自動のやつでしょ もちろん自動になってるわ Forで回して数式代入したときは普通に計算されるから理由としてはいまいちじゃね あと手動でオートフィルしてもいけるしね 表の右端に何列か並んでる数式は全部計算されるんだけど 下端にあるやつがだめなんだよね どちらも全く同じパターンで代入してんだよね まぁForでできるからいいんだけどな
- 839 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 19:19:38 ID:0qngbhsm.net]
- >>810
シートじゃなくて関数の設定 volatire
- 840 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 20:00:28.24 ID:Nip9LUw0.net]
- >>811
volatile (揮発性) じゃね?
- 841 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 20:18:20.66 ID:95POjxnT.net]
- >>807
> =MyFunction() みたいに引数がないと>>811が言うようにvolatile指定しないと再計算されない 引数にセルとか範囲を指定してあると指定されたセルや範囲の値が変更されたら再計算される
- 842 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 21:59:15.66 ID:NTnc+gBz.net]
- >809
本人?。GW終わって更新控えめな気がする
- 843 名前:デフォルトの名無しさん mailto:sage [2020/06/15(月) 00:54:28.92 ID:otdT67Yk.net]
- フォームを開いている際にセルをクリックしようとしても阻止されるんですが、
この行動を行った際にフォームを閉じるという処理をすることはできますか?
- 844 名前:デフォルトの名無しさん mailto:sage [2020/06/15(月) 00:59:25.05 ID:AC0AKbql.net]
- ユーザーフォームのイベントで制御できなきゃ無理じゃね
一覧くらい見たんだろ
|

|