[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/26 17:47 / Filesize : 275 KB / Number-of Response : 1016
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part76



1 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 02:23:41.78 ID:2t63WK/jM.net]
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑2行に減ってるけど、同じ内容を3行に増やして貼り付けること

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

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
Excel VBA 質問スレ Part75
https://mevius.5ch.net/test/read.cgi/tech/1644384272/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

661 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 10:54:34.90 ID:PITDVbGU0.net]
まあ自分で使うだけならいいんじゃね

662 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 12:26:01.77 ID:W4jZJdCLd.net]
書ける能力あっても今までに作ったコードをコピペするだろ?
場合によっては共通関数の入ったモジュール程度を持ってくるにしても
お前らもしかして同じこと1から書いてるの?

663 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 12:41:36.76 ID:7YC4We+Er.net]
別部署に行って、「規則が変わるからこのマクロも修正してくれ」って言われ、中を見てみたらセレクトメゾットやコピーメゾットが使われてた時の絶望感
「クリップボードの履歴を有効にしていると正常に作動しない事があるから必ず無効にしてくれ」ってそれ書き方おかしくないか?
そして変数の宣言が強制されていなくて更に絶望する

664 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 12:56:07.50 ID:Fu1pMYi/M.net]
>>655のレベルもたぶん似たようなもんだよ

665 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 14:57:17.56 ID:XeF3ZBAK0.net]
>>654
と言うより、作って使用したらマクロは消しているのです。
再び必要になったら1から書いてますはい。
職場のローカルルールとして。

666 名前:デフォルトの名無しさん (ワッチョイ 3f7c-PGuA) mailto:sage [2022/06/25(土) 17:13:39 ID:ehcxDoIm0.net]
>>657
ないわー
関数自体が使いまわし前提の考え方だし

667 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 17:43:12.02 ID:hk0FSiYld.net]
>>654
理解しないでコピペするか理解して書いたコードを使い回すかの差は途轍もなく大きい

668 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 18:56:11.02 ID:XeF3ZBAK0.net]
それどころか回りの奴らはVBAにしろExcelの学習すらやろうとしない。
仕事終わったら飲みに行く事しか考えていない。休日も何も努力しない現実。
興味ないヤツには進めてもダメなのかな

669 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 19:21:59.19 ID:WbawSRHfM.net]
VBA使いに向上心を求めるのは酷でしょ
それがないからこそVBA止まりなのに



670 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 21:29:35.48 ID:Ujo38STt0.net]
>>660
自分が使うのは勝手にしろだけど、それで優越感に浸って「周りの奴らは~」とかキモすぎだろ
たかが仕事で使うの1つのツールごとき にここまでイキれるのはヤバいわ

671 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 21:31:08.83 ID:tv1Cabyi0.net]
他はすべて負けてるから何か一つでも勝てるものがほしいんや

672 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 21:32:27.25 ID:xn3lQ0RO0.net]
レスバで勝てば世界ランクあがるしな

673 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 21:44:09.88 ID:VazVwqbS0.net]
>>647
それってコピペしただけじゃ動かないってことよね?
動くように自分で指定すると思うんだけど、こわいってのはどういう事なんだぜ?

674 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 21:53:20.34 ID:Of9vbGQH0.net]
>>663
負けの数ではお前が一番だ

675 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 22:26:51.85 ID:XeF3ZBAK0.net]
勝利するかために複雑な知識や技術を身につけているのだが??
間違ってる?

676 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 22:29:13.51 ID:hk0FSiYld.net]
>>665
wsを指定しないとActiveSheetで動こうとするから誤作動の原になる

677 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 00:40:58.82 ID:NOZ7SEa20.net]
Webbrowserで証明書を自動選択する方法は無いものでしょうか?

678 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 00:44:34.36 ID:NC1QoP++r.net]
>>667
誰に勝利するの?
何に勝利するの?

679 名前:デフォルトの名無しさん [2022/06/26(日) 07:38:11.30 ID:5vPg/0Rp0.net]
他言語やったからって
excelやVBAでやったことが無駄になることはないよ
他の言語で作ったもののUTのエビデンスをとるのに
excelがもし無ければと思うとゾッとするし
テストデータ作成にもVBA使うととっても便利な場合が多いし



680 名前:デフォルトの名無しさん (ワッチョイ 8f63-BYhf) mailto:sage [2022/06/26(日) 09:43:13 ID:/e5N//9v0.net]
エクセルのある列に数字が入ってます。
そのエクセルと同じ階層にあるフォルダの下に
上記の数字から始まる名前のフォルダがあります。
(数字のあとに日本語が付いてます)
このフォルダの探し方を教えていただきたく

681 名前:デフォルトの名無しさん (ワッチョイ 0f63-BYhf) mailto:sage [2022/06/26(日) 09:45:37 ID:Xa6L6yDT0.net]
会社のパソコンでVBAを使って
pdfをテキストへ変換しています。
(com.adobe.acrobat.plain-text)
変換処理は不安定でエラーが出ることが多いが
成功することが多いです。
しかし有料ライセンスは一切買ってもらっていません。
これはライセンス違反ですよね??
違反ならもうやめます。

682 名前:デフォルトの名無しさん (ブーイモ MM5f-c/Mv) [2022/06/26(日) 09:56:38 ID:IFq6Yt8DM.net]
>>672
num=cells(行,列).value
dirname=dir(thisworkbook.path&"\"&num&"*",vbDirectory)

683 名前:デフォルトの名無しさん (ブーイモ MM5f-c/Mv) [2022/06/26(日) 09:59:07 ID:IFq6Yt8DM.net]
dirname=dir(thisworkbook.path & "\" & num & "*", vbDirectory)

684 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 10:18:26.90 ID:6drPPg2U0.net]
>>673
PowerQueryでもAdobeのAcrobatなしで
pdfをある程度変換出来るけど?

685 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 10:25:43.07 ID:yfX3wl/l0.net]
>>673
adobeに聞けとしか

686 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 11:39:03.04 ID:XMcnD9d40.net]
EULA読んでダメって書かれてなきゃいいだろ

687 名前:デフォルトの名無しさん [2022/06/26(日) 12:11:58.60 ID:hFDBYOe90.net]
クラスが入ってるCollectionの要素を置き換えるにはどうすればよいでしょうか?

Set col(2)=New MyClass()

とやってもできないんです。

688 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 12:23:08.37 ID:tixRR40Y0.net]
置き換えはダメだからRemoveしてAdd

689 名前:デフォルトの名無しさん [2022/06/26(日) 13:30:17.16 ID:hFDBYOe90.net]
>>680
そうですか
ありがとうございます

でもなぜ置き換えできないのでしょう?
そのしくみを理解したいのですが
スキルがあがるステップだと思うので



690 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 13:35:51.31 ID:VKkh0pnir.net]
IEの入力欄に値いれるマクロ使ってたんだけど、エッジに移行して動かなくなったんよ
エッジの入力欄いじる方法ってご存知ないですか?
調べてもよくわからなくて

691 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 13:39:54.64 ID:PhXCrOZEd.net]
VBAを投げ捨ててEdgeの拡張機能を作ろう

692 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 14:11:21.83 ID:1bCfGQVkd.net]
Sendkeys

693 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 15:05:50.62 ID:WjaufMigd.net]
まだInternetExplorer.Application は有効でしょ
サポートは切れたが動かなくなる訳ない

694 名前:デフォルトの名無しさん [2022/06/26(日) 15:26:20.76 ID:hFDBYOe90.net]
なぜMsedge.Applicationにしないの?

695 名前:デフォルトの名無しさん [2022/06/26(日) 15:32:17.63 ID:hFDBYOe90.net]
クラス(例:MyClass)が入ってるCollectionの要素(つまりMyClass)をある条件でsortしたいのですが
簡単な方法はないのですよね?
これは標準モジュールにそのソート用のsubかfunctionを書くのが一般的ですか?
「ある条件」というのが複数あるので、複数個それを作るのが面倒。
あといま思い付いたけど、そのCollectionをメンバとして含む親クラスをつくり、その親クラスにその複数のsortに相当するfunctionを作るのがカッコイイです?

696 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 18:21:23.39 ID:WjaufMigd.net]
たぶん用途的にArrayListが良いと思う
>>687

697 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 21:43:05.30 ID:h799Melv0.net]
VBAのマクロ名てなにか制限ある?
Sub n98()
MsgBox "a"
End Sub
というマクロを作ったんだが、実行できない。実行ボタンがグレーアウトする。
しかも、マクロボタンを押すとセルカーソルが彼方に飛ばされるんだが

698 名前:B
https://i.imgur.com/7iCfenT.mp4
[]
[ここ壊れてます]

699 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 22:29:47.48 ID:UUS+pyK9H.net]
>>689
ワイはそのコードコピペしたらちゃんと動いたよ
モジュールのコード上でF5キー押してみたら?



700 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 22:31:36.52 ID:UUS+pyK9H.net]
マクロ名の制限ももちろんあるよ
ググればすぐ出てくるはず

だけどこのコードのマクロ名は問題無い

701 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 22:39:05.59 ID:h799Melv0.net]
>>690
VBEでF5なら動くが、
エクセル本体で開発タブのマクロボタン押すとああなる。
ちなみにバージョンは2013。
マクロ名が英字2字+数字だと、マクロボタン押すとそのアドレスのセルに飛ばされるな。
もちろんマクロは実行できない。
そんな制限あったけ?
セルのアドレスて「予約語」になるのか?

702 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 23:12:48.18 ID:47IFcp1V0.net]
>>689
excel2010だけど全く同じ現象が起こるわ
F5からじゃくてAlt+F8な

703 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 23:30:30.80 ID:CNfWwh200.net]
この画面開いたらn98セルに行って勝手に選択(コピー?)してくれる
https://i.imgur.com/8G6jMt0.png

逆に、alt+f8でマクロを開いた状態でセル選択するとテキストボックスに反映されるので、
ここは参照かなにかで連動してるっぽい
https://i.imgur.com/cIRhTsz.png

704 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 07:11:11.91 ID:KEClHONvr.net]
>>694
予約語とかセル番地名、数字始まりは駄目

705 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 07:18:40.52 ID:pJh/2YwLH.net]
>>695
セル番地もダメだったのか、ウソついてごめんなさい

706 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 07:20:43.06 ID:kD2T1aicd.net]
セル番地名ってダメだったのか

707 名前:デフォルトの名無しさん [2022/06/27(月) 07:28:39.14 ID:JHJu1s6G0.net]
For each i in collection
 if a=1 then
  if b=1 then
   if c=1 then
    Debug.print "うんこ"
   end if
  end if
 end if
next i

こんな階層はしないほうがいいですか?もしそうならどうすべきですか?
ちなみに実際の条件文はa=1などのように単純ではなくてもっと複雑怪奇で長い文字列です。

708 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 07:42:09.30 ID:/YUVVdlZD.net]
インデント揃えてれば良いんじゃない?
それかある程度深くなったら別ルーチンや関数に飛ばすとか

709 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 07:44:02.36 ID:cx09ANOo0.net]
if a=1 and b=1 and c=1
にすればすっきり



710 名前:デフォルトの名無しさん (スプッッ Sdbf-tCSL) mailto:sage [2022/06/27(月) 08:00:18 ID:qwmHCu1Hd.net]
>>700
VBAはショートサーキットじゃないから遅くなる

711 名前:デフォルトの名無しさん (ワッチョイ 3f01-DrrO) mailto:sage [2022/06/27(月) 08:05:04 ID:3L19Fpz+0.net]
>>695
それどこかに書いてある?
まあ予約語や数字始まりがダメなのはわかるけどセルアドレスは盲点だわ

712 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 09:20:29.88 ID:WYWqaC3Yd.net]
>>698
何がしたくてそのIF文を書いてるかわからないけどELSEに対しての記述がなければ>>700みたいな書き方にしてもいいけど
自分はその程度のネストは許容範囲だけどね
それとなんでしないほうがいいと思ったかも書くと他の回答もらえるかもね

713 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 09:26:36.50 ID:iDqL/u9w0.net]
年取ると4階層なんかもう見たくない

714 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 09:27:26.36 ID:HPVEPi/ad.net]
Excel2021でも再現したわ
セル番地はモジュール名にできないのか、知らんかった

捨て変数とか作業ファイル名なんか普通にaaa1とか使ってるから、いつひっかかってもおかしくなかったのに
思い返してみると、なぜか捨てSubはtest1とかmacro1にしてた

715 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 09:31:15.07 ID:iDqL/u9w0.net]
今わかってる範囲では、モジュール名にできるけど挙動が少しおかしくなる
避けられるなら避けたほうが無難だろうね

716 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 09:34:13.54 ID:Kt0Hv+oPd.net]
>>692
英字1文字でも3文字でも飛ばされる
なんかの裏技に使えそうな気がする
遠くのセル範囲をちょっと確認したいとか

717 名前:デフォルトの名無しさん [2022/06/27(月) 09:36:09.63 ID:kVADuAyl0.net]
>>698
いわゆる早期リターンとかガード節ってやつ

For Each i In Collection
If a <> 1 Then GoTo continue
If b <> 1 Then GoTo continue
If c = 1 Then
Debug.Print "OK"
End If
continue:
Next

718 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 09:50:33.84 ID:WYWqaC3Yd.net]
>>708
自分としてはもともとの判定を変更するような回答はどうかと思ったりするんだよね
複雑怪奇とかいてるのでわかりやすい回答なら「if not (a = 1) then」にしたほうがいいのではないかと
それとそこまで書いたらcの判定もcontinueで飛ばしたほうがすっきりするかと

719 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 09:53:16.46 ID:H4LNDdnJ0.net]
>>707
マクロじゃなくてジャンプでいいってなるんじゃ



720 名前:デフォルトの名無しさん [2022/06/27(月) 10:00:09.47 ID:Do3p35pda.net]
>>698
内容がわかるようにコメントつければいいんじゃね

721 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 10:15:26.20 ID:3L19Fpz+0.net]
>>705-706
モジュール名にはできないけど>>694のは手続き名だからモジュール名で修飾(※)すれば呼び出せるよ
※ マクロ名の欄に直接 Module1.n98 のように入力する

722 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 10:19:02.79 ID:iDqL/u9w0.net]
>>712
スマン、勘違いしてた

723 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 10:24:13.47 ID:3L19Fpz+0.net]
>>698
一般論としてネストは浅い方が理解しやすいからそのコードであれば>>700>>708みたいにした方が読み易い
ただ>>701が言うようにVBAにはショートサーキット(短絡評価)がないので遅くなるのはいいとしても
If N <= UBound(A) And A(N) = 1 Then ...
みたいなのは
If N <= UBound(A) Then
If A(N) = 1 Then ...
のようにする必要がある

724 名前:デフォルトの名無しさん [2022/06/27(月) 10:29:53.48 ID:kVADuAyl0.net]
まあ、複雑な判定するならメソッドに切り出すのが間違いないわな
VBEだとIDEのサポートないから若干めんどくさいけど

725 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 11:00:14.42 ID:tRNW+/P90.net]
>>698
賛否あると思うが
For Each i In Collection: Do
 If a <> 1 Then Exit Do
 If b <> 1 Then Exit Do
 If c <> 1 Then Exit Do
 Debug.Print "OK"
Loop: Next
みたいな書き方もある

726 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 11:01:13.33 ID:tRNW+/P90.net]
最後の行間違えた
Loop Until 1: Next

727 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 11:05:37.12 ID:zkyvRAcfa.net]
あんまりにもネストするなら、判定文(if複数)だけ別プロシージャ(Function)として外出しして、TrueかFalseを返させるようにするかな
IsGoukaku みたいなプロシージャ名にすると何したいかがわかってメンテ楽だし

728 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 11:29:16.42 ID:gUdOjGv30.net]
セル番地がダメならダメでいいけど、あんな挙動をするのはバグだよ。
本来はメッセージだして弾くべきじゃね?
office365でも同じならだれかMSにチクってみてくれ。
以前、MSの掲示板にWinの不具合を書いたら、
速攻で消されたが、
こっちでも確認できたから開発にレポしといたていうメールが来て感動したわ。

729 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 11:31:14.56 ID:iDqL/u9w0.net]
>>719
365でも同じだよ



730 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 11:34:53.87 ID:gUdOjGv30.net]
>>700
if a=1 and b=1 and c=1
にすると内部では判断を3回することになる。

if a=1 then
if b=1 then
if c=1 then
にすると判断は少なくなるのだから、ネストするほうが正解じゃね?
もちろん、ifを書く順番は判定が少なくするようにする必要はあるが。

731 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 11:48:23.44 ID:Fr547gX6r.net]
>>719
ゆうてVBAとかアプデすんの?

732 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 11:52:04.31 ID:iDqL/u9w0.net]
してるよ

733 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 11:52:52.11 ID:nfvw1vkN0.net]
セキュリティ以外で?

734 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 11:57:18.86 ID:iDqL/u9w0.net]
うん

735 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 11:59:27.42 ID:iDqL/u9w0.net]
頻度はwindoewsやエクセルに比べたらかなり低いけど、やってるよ
確かちょっとずつ便利になってる。本当にちょっとだけ。関数が増えたりはしていないはず。
ソース探したけど見つからねぇ

736 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 12:02:08.29 ID:nfvw1vkN0.net]
ふーん。。
まあ元号はあったね。。
古臭いよね。。

737 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 12:04:52.44 ID:nfvw1vkN0.net]
言語仕様っぽいページはあった
https://docs.microsoft.com/en-us/openspecs/microsoft_general_purpose_programming_languages/ms-vbal/d5418146-0bd2-45eb-9c7a-fd9502722c74

結局代替がないからなあ

738 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 13:50:25.11 ID:FDoLWwM/d.net]
>>718
俺も大体これでやってる

739 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 19:05:07.99 ID:IOT9Z53O0.net]
>>698
そもそもi使ってねーじゃん



740 名前:デフォルトの名無しさん [2022/06/27(月) 19:57:12.47 ID:UdQiWAN30.net]
どなたか教えてください。

売掛金消し込みのマクロを作成しています。VBAでソルバーを自動化したいと思っています。

目的セル、制約条件の参照セルの開始行が40行ごとに下がっていき、指定値は数値ではなく、セルを指定したいです。

とりあえず、全部の変数をvariant型にしてますが、なかなか上手くいきません。

741 名前:デフォルトの名無しさん [2022/06/27(月) 20:18:45.52 ID:UdQiWAN30.net]
731です。

sub ソルバー()

dim 振込1 as variant
振込1=worksheets("ソルバー").range("n2:n8")

solverok setcell:= worksheets("ソルバー").range("i3"),
maxminval:=3,
valueof:=振込1,
bychange:=worksheets("ソルバー").range("e2:e40"),
enginedesc:="grg nonliner"


solveradd celreff:=worksheets("ソルバー").range("e2:e40"),relation:=4

solversolve userfinish=true

742 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 20:22:23.17 ID:jYXkLZ/o0.net]
で、何がうまくいかないの?

743 名前:デフォルトの名無しさん [2022/06/27(月) 20:26:50.30 ID:UdQiWAN30.net]
>>733

ソルバーを実行しても、目的セルが0のままで指定値にと一致する金額の組み合わせが見つかりません。

どの請求分の入金なのか、突合したいです。

744 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 20:35:36.69 ID:9IVJ+eiIa.net]
>>734
ソルバーわからんから確認させてください
振込1って変数は配列に入れた値を指定したいものですか?それともセル自体を指定したいものですか?
前者であればそれでいいですが、後者なら変数はRange型にする上で代入時に
Set 振込1 =〇〇
としないといけませんが…

745 名前:デフォルトの名無しさん [2022/06/27(月) 20:37:19.75 ID:UdQiWAN30.net]
連投すみません。

変数宣言して、for〜next構文でe列を("e"&i+40)や、n列も("n"&i+40)みたいにしたいんです。

d列には請求金額、e列は空白、目的セルにはsumproduct関数が入ってます。

指定値セルはn2:n8で、それぞれ違う金額が入力されてます。入金額とn2:n8内の金額が一致する組み合わせの請求金額をVBAを使って、求めたいです。

746 名前:デフォルトの名無しさん [2022/06/27(月) 20:39:44.13 ID:UdQiWAN30.net]
>>735

ありがとうございます。
ヘルプを確認したら、指定値はバリアント型で書けとあったので、なんとなくvariantにしていました。

747 名前:デフォルトの名無しさん [2022/06/27(月) 20:45:55.27 ID:qw9z/asOd.net]
>>737
マルチ死ね

748 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 20:58:49.57 ID:jYXkLZ/o0.net]
とりあえず、rangeで回すんじゃなくてcellsで回したら?
n列はcells(i,14)
e列はcells(i,5)で

749 名前:デフォルトの名無しさん [2022/06/27(月) 21:09:33.28 ID:UdQiWAN30.net]
>>739
sub または functionが定義されませんエラーが出ます…



750 名前:デフォルトの名無しさん [2022/06/27(月) 21:10:43.06 ID:UdQiWAN30.net]
>>739

cellsも以前試したんですが、上手いこといきませんでした

751 名前:デフォルトの名無しさん [2022/06/27(月) 23:45:06.09 ID:8dHt2RWvM.net]
こんな奴が作るプログラムで金勘定とか笑えるわ
己を知らないって馬鹿の特徴なんだよな

752 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 00:04:39.14 ID:41/DPGawd.net]
ソルバーってカタカナで書くの余計分からないよ
素直にSolverで良いだろうに

上の困ってるのは一旦マクロの記録で動作確認お薦め

753 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 00:07:49.75 ID:bUNh/khy0.net]
>>742
2行目はよく解る www

754 名前:デフォルトの名無しさん [2022/06/28(火) 05:51:37.94 ID:kKObdKOQ0.net]
オレオレ詐欺の手伝い?

755 名前:デフォルトの名無しさん [2022/06/28(火) 07:36:23.45 ID:XbsSoqMza.net]
>>736
なんで会計ソフト使わないの?

756 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 07:54:25.17 ID:2SIMEAUf0.net]
Excelは万能ではないから会計ソフトでやるべき事柄

757 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 08:48:25.11 ID:8yuWSL180.net]
この世で最高のコードを見かけた

With Range("F27:F56")
.Value = .Value
End With

758 名前:デフォルトの名無しさん [2022/06/28(火) 09:10:04.94 ID:3ZxXgE6I0.net]
>>748
それの意味解る?
ちょっと前に同じ様なコード載せてた人いたけど
複数範囲は一度に設定できないって嘆いていたよ

759 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 09:10:36.27 ID:a//tJk240.net]
>>732
solverを使うときのパラメーターの設定の方法が間違ってんじゃない。多分値渡しではなくsetを使うと思うよ。
まずマクロの記録もう使ってなんでもいいからsolverで問題を解いてみて、solverを使うときの正しいVBA の書き方を確認しなさい。



760 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 09:52:29.46 ID:qOxYqvDuM.net]
>>698
Ifなんたらかんたらを使わないで
B2になんか文字が入っていたらC2を
B3になんか文字が入っていたらC3を…

をスマートに書くならどう書きます?

https://i.imgur.com/5VtTNti.jpg

761 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 11:02:29.10 ID:1UWi0IGcd.net]
>>751
こんな質問してマウントとりたいんだろうか・・・
こんな質問するならそのスマートな回答も書いておけばいいのに






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<275KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef