!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
探検
Excel VBA 質問スレ Part76
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ブーイモ MMff-XZ6m)
2022/05/01(日) 02:23:41.78ID:2t63WK/jM674デフォルトの名無しさん (ブーイモ MM5f-c/Mv)
2022/06/26(日) 09:56:38.78ID:IFq6Yt8DM675デフォルトの名無しさん (ブーイモ MM5f-c/Mv)
2022/06/26(日) 09:59:07.88ID:IFq6Yt8DM dirname=dir(thisworkbook.path & "\" & num & "*", vbDirectory)
676デフォルトの名無しさん (ワッチョイ 4fda-tCSL)
2022/06/26(日) 10:18:26.90ID:6drPPg2U0677デフォルトの名無しさん (ワッチョイ 3f01-DrrO)
2022/06/26(日) 10:25:43.07ID:yfX3wl/l0 >>673
adobeに聞けとしか
adobeに聞けとしか
678デフォルトの名無しさん (ワッチョイ 0f93-+tXk)
2022/06/26(日) 11:39:03.04ID:XMcnD9d40 EULA読んでダメって書かれてなきゃいいだろ
679デフォルトの名無しさん (ワッチョイ 4f0e-6kVq)
2022/06/26(日) 12:11:58.60ID:hFDBYOe90 クラスが入ってるCollectionの要素を置き換えるにはどうすればよいでしょうか?
Set col(2)=New MyClass()
とやってもできないんです。
Set col(2)=New MyClass()
とやってもできないんです。
680デフォルトの名無しさん (ワッチョイ cf49-+fV4)
2022/06/26(日) 12:23:08.37ID:tixRR40Y0 置き換えはダメだからRemoveしてAdd
681デフォルトの名無しさん (ワッチョイ 4f0e-6kVq)
2022/06/26(日) 13:30:17.16ID:hFDBYOe90682デフォルトの名無しさん (オッペケ Sra3-zdXj)
2022/06/26(日) 13:35:51.31ID:VKkh0pnir IEの入力欄に値いれるマクロ使ってたんだけど、エッジに移行して動かなくなったんよ
エッジの入力欄いじる方法ってご存知ないですか?
調べてもよくわからなくて
エッジの入力欄いじる方法ってご存知ないですか?
調べてもよくわからなくて
683デフォルトの名無しさん (スッププ Sd5f-2lfq)
2022/06/26(日) 13:39:54.64ID:PhXCrOZEd VBAを投げ捨ててEdgeの拡張機能を作ろう
684デフォルトの名無しさん (スフッ Sd5f-tCSL)
2022/06/26(日) 14:11:21.83ID:1bCfGQVkd Sendkeys
685デフォルトの名無しさん (スププ Sd5f-J46v)
2022/06/26(日) 15:05:50.62ID:WjaufMigd まだInternetExplorer.Application は有効でしょ
サポートは切れたが動かなくなる訳ない
サポートは切れたが動かなくなる訳ない
686デフォルトの名無しさん (ワッチョイ 4f0e-6kVq)
2022/06/26(日) 15:26:20.76ID:hFDBYOe90 なぜMsedge.Applicationにしないの?
687デフォルトの名無しさん (ワッチョイ 4f0e-6kVq)
2022/06/26(日) 15:32:17.63ID:hFDBYOe90 クラス(例:MyClass)が入ってるCollectionの要素(つまりMyClass)をある条件でsortしたいのですが
簡単な方法はないのですよね?
これは標準モジュールにそのソート用のsubかfunctionを書くのが一般的ですか?
「ある条件」というのが複数あるので、複数個それを作るのが面倒。
あといま思い付いたけど、そのCollectionをメンバとして含む親クラスをつくり、その親クラスにその複数のsortに相当するfunctionを作るのがカッコイイです?
簡単な方法はないのですよね?
これは標準モジュールにそのソート用のsubかfunctionを書くのが一般的ですか?
「ある条件」というのが複数あるので、複数個それを作るのが面倒。
あといま思い付いたけど、そのCollectionをメンバとして含む親クラスをつくり、その親クラスにその複数のsortに相当するfunctionを作るのがカッコイイです?
688デフォルトの名無しさん (スププ Sd5f-J46v)
2022/06/26(日) 18:21:23.39ID:WjaufMigd たぶん用途的にArrayListが良いと思う
>>687
>>687
689デフォルトの名無しさん (ワッチョイ 3f3d-9oGY)
2022/06/26(日) 21:43:05.30ID:h799Melv0 VBAのマクロ名てなにか制限ある?
Sub n98()
MsgBox "a"
End Sub
というマクロを作ったんだが、実行できない。実行ボタンがグレーアウトする。
しかも、マクロボタンを押すとセルカーソルが彼方に飛ばされるんだが。
https://i.imgur.com/7iCfenT.mp4
Sub n98()
MsgBox "a"
End Sub
というマクロを作ったんだが、実行できない。実行ボタンがグレーアウトする。
しかも、マクロボタンを押すとセルカーソルが彼方に飛ばされるんだが。
https://i.imgur.com/7iCfenT.mp4
690デフォルトの名無しさん (HK 0H9f-b1XO)
2022/06/26(日) 22:29:47.48ID:UUS+pyK9H691デフォルトの名無しさん (HK 0H9f-b1XO)
2022/06/26(日) 22:31:36.52ID:UUS+pyK9H マクロ名の制限ももちろんあるよ
ググればすぐ出てくるはず
だけどこのコードのマクロ名は問題無い
ググればすぐ出てくるはず
だけどこのコードのマクロ名は問題無い
692デフォルトの名無しさん (ワッチョイ 3f3d-9oGY)
2022/06/26(日) 22:39:05.59ID:h799Melv0 >>690
VBEでF5なら動くが、
エクセル本体で開発タブのマクロボタン押すとああなる。
ちなみにバージョンは2013。
マクロ名が英字2字+数字だと、マクロボタン押すとそのアドレスのセルに飛ばされるな。
もちろんマクロは実行できない。
そんな制限あったけ?
セルのアドレスて「予約語」になるのか?
VBEでF5なら動くが、
エクセル本体で開発タブのマクロボタン押すとああなる。
ちなみにバージョンは2013。
マクロ名が英字2字+数字だと、マクロボタン押すとそのアドレスのセルに飛ばされるな。
もちろんマクロは実行できない。
そんな制限あったけ?
セルのアドレスて「予約語」になるのか?
693デフォルトの名無しさん (ワッチョイ ff8c-1MFK)
2022/06/26(日) 23:12:48.18ID:47IFcp1V0694デフォルトの名無しさん (ワッチョイ ff68-TsA2)
2022/06/26(日) 23:30:30.80ID:CNfWwh200 この画面開いたらn98セルに行って勝手に選択(コピー?)してくれる
https://i.imgur.com/8G6jMt0.png
逆に、alt+f8でマクロを開いた状態でセル選択するとテキストボックスに反映されるので、
ここは参照かなにかで連動してるっぽい
https://i.imgur.com/cIRhTsz.png
https://i.imgur.com/8G6jMt0.png
逆に、alt+f8でマクロを開いた状態でセル選択するとテキストボックスに反映されるので、
ここは参照かなにかで連動してるっぽい
https://i.imgur.com/cIRhTsz.png
695デフォルトの名無しさん (オッペケ Sra3-oI2n)
2022/06/27(月) 07:11:11.91ID:KEClHONvr >>694
予約語とかセル番地名、数字始まりは駄目
予約語とかセル番地名、数字始まりは駄目
696デフォルトの名無しさん (HK 0H9f-b1XO)
2022/06/27(月) 07:18:40.52ID:pJh/2YwLH >>695
セル番地もダメだったのか、ウソついてごめんなさい
セル番地もダメだったのか、ウソついてごめんなさい
697デフォルトの名無しさん (スププ Sd5f-J46v)
2022/06/27(月) 07:20:43.06ID:kD2T1aicd セル番地名ってダメだったのか
698デフォルトの名無しさん (ワッチョイ 4f0e-6kVq)
2022/06/27(月) 07:28:39.14ID:JHJu1s6G0 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などのように単純ではなくてもっと複雑怪奇で長い文字列です。
if a=1 then
if b=1 then
if c=1 then
Debug.print "うんこ"
end if
end if
end if
next i
こんな階層はしないほうがいいですか?もしそうならどうすべきですか?
ちなみに実際の条件文はa=1などのように単純ではなくてもっと複雑怪奇で長い文字列です。
699デフォルトの名無しさん (エアペラ SD5f-+tXk)
2022/06/27(月) 07:42:09.30ID:/YUVVdlZD インデント揃えてれば良いんじゃない?
それかある程度深くなったら別ルーチンや関数に飛ばすとか
それかある程度深くなったら別ルーチンや関数に飛ばすとか
700デフォルトの名無しさん (ワッチョイ 7fdb-zdXj)
2022/06/27(月) 07:44:02.36ID:cx09ANOo0 if a=1 and b=1 and c=1
にすればすっきり
にすればすっきり
701デフォルトの名無しさん (スプッッ Sdbf-tCSL)
2022/06/27(月) 08:00:18.06ID:qwmHCu1Hd >>700
VBAはショートサーキットじゃないから遅くなる
VBAはショートサーキットじゃないから遅くなる
702デフォルトの名無しさん (ワッチョイ 3f01-DrrO)
2022/06/27(月) 08:05:04.58ID:3L19Fpz+0703デフォルトの名無しさん (スップ Sddf-gXkX)
2022/06/27(月) 09:20:29.88ID:WYWqaC3Yd704デフォルトの名無しさん (ワッチョイ ff68-TsA2)
2022/06/27(月) 09:26:36.50ID:iDqL/u9w0 年取ると4階層なんかもう見たくない
705デフォルトの名無しさん (スプッッ Sdbf-tCSL)
2022/06/27(月) 09:27:26.36ID:HPVEPi/ad Excel2021でも再現したわ
セル番地はモジュール名にできないのか、知らんかった
捨て変数とか作業ファイル名なんか普通にaaa1とか使ってるから、いつひっかかってもおかしくなかったのに
思い返してみると、なぜか捨てSubはtest1とかmacro1にしてた
セル番地はモジュール名にできないのか、知らんかった
捨て変数とか作業ファイル名なんか普通にaaa1とか使ってるから、いつひっかかってもおかしくなかったのに
思い返してみると、なぜか捨てSubはtest1とかmacro1にしてた
706デフォルトの名無しさん (ワッチョイ ff68-TsA2)
2022/06/27(月) 09:31:15.07ID:iDqL/u9w0 今わかってる範囲では、モジュール名にできるけど挙動が少しおかしくなる
避けられるなら避けたほうが無難だろうね
避けられるなら避けたほうが無難だろうね
707デフォルトの名無しさん (スップ Sd5f-tCSL)
2022/06/27(月) 09:34:13.54ID:Kt0Hv+oPd708デフォルトの名無しさん (ワッチョイ 8f5f-tCSL)
2022/06/27(月) 09:36:09.63ID:kVADuAyl0 >>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
いわゆる早期リターンとかガード節ってやつ
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
709デフォルトの名無しさん (スップ Sddf-gXkX)
2022/06/27(月) 09:50:33.84ID:WYWqaC3Yd >>708
自分としてはもともとの判定を変更するような回答はどうかと思ったりするんだよね
複雑怪奇とかいてるのでわかりやすい回答なら「if not (a = 1) then」にしたほうがいいのではないかと
それとそこまで書いたらcの判定もcontinueで飛ばしたほうがすっきりするかと
自分としてはもともとの判定を変更するような回答はどうかと思ったりするんだよね
複雑怪奇とかいてるのでわかりやすい回答なら「if not (a = 1) then」にしたほうがいいのではないかと
それとそこまで書いたらcの判定もcontinueで飛ばしたほうがすっきりするかと
710デフォルトの名無しさん (ワッチョイ 0f7c-+tXk)
2022/06/27(月) 09:53:16.46ID:H4LNDdnJ0 >>707
マクロじゃなくてジャンプでいいってなるんじゃ
マクロじゃなくてジャンプでいいってなるんじゃ
711デフォルトの名無しさん (アウアウウー Sad3-n9/C)
2022/06/27(月) 10:00:09.47ID:Do3p35pda >>698
内容がわかるようにコメントつければいいんじゃね
内容がわかるようにコメントつければいいんじゃね
712デフォルトの名無しさん (ワッチョイ 3f01-DrrO)
2022/06/27(月) 10:15:26.20ID:3L19Fpz+0713デフォルトの名無しさん (ワッチョイ ff68-TsA2)
2022/06/27(月) 10:19:02.79ID:iDqL/u9w0 >>712
スマン、勘違いしてた
スマン、勘違いしてた
714デフォルトの名無しさん (ワッチョイ 3f01-DrrO)
2022/06/27(月) 10:24:13.47ID:3L19Fpz+0715デフォルトの名無しさん (ワッチョイ 8f5f-tCSL)
2022/06/27(月) 10:29:53.48ID:kVADuAyl0 まあ、複雑な判定するならメソッドに切り出すのが間違いないわな
VBEだとIDEのサポートないから若干めんどくさいけど
VBEだとIDEのサポートないから若干めんどくさいけど
716デフォルトの名無しさん (ワッチョイ 7fe3-n9/C)
2022/06/27(月) 11:00:14.42ID:tRNW+/P90 >>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
みたいな書き方もある
賛否あると思うが
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
みたいな書き方もある
717デフォルトの名無しさん (ワッチョイ 7fe3-n9/C)
2022/06/27(月) 11:01:13.33ID:tRNW+/P90 最後の行間違えた
Loop Until 1: Next
Loop Until 1: Next
718デフォルトの名無しさん (アウアウウー Sad3-0NSx)
2022/06/27(月) 11:05:37.12ID:zkyvRAcfa あんまりにもネストするなら、判定文(if複数)だけ別プロシージャ(Function)として外出しして、TrueかFalseを返させるようにするかな
IsGoukaku みたいなプロシージャ名にすると何したいかがわかってメンテ楽だし
IsGoukaku みたいなプロシージャ名にすると何したいかがわかってメンテ楽だし
719デフォルトの名無しさん (ワッチョイ 3f3d-9oGY)
2022/06/27(月) 11:29:16.42ID:gUdOjGv30 セル番地がダメならダメでいいけど、あんな挙動をするのはバグだよ。
本来はメッセージだして弾くべきじゃね?
office365でも同じならだれかMSにチクってみてくれ。
以前、MSの掲示板にWinの不具合を書いたら、
速攻で消されたが、
こっちでも確認できたから開発にレポしといたていうメールが来て感動したわ。
本来はメッセージだして弾くべきじゃね?
office365でも同じならだれかMSにチクってみてくれ。
以前、MSの掲示板にWinの不具合を書いたら、
速攻で消されたが、
こっちでも確認できたから開発にレポしといたていうメールが来て感動したわ。
720デフォルトの名無しさん (ワッチョイ ff68-TsA2)
2022/06/27(月) 11:31:14.56ID:iDqL/u9w0 >>719
365でも同じだよ
365でも同じだよ
721デフォルトの名無しさん (ワッチョイ 3f3d-9oGY)
2022/06/27(月) 11:34:53.87ID:gUdOjGv30 >>700
if a=1 and b=1 and c=1
にすると内部では判断を3回することになる。
if a=1 then
if b=1 then
if c=1 then
にすると判断は少なくなるのだから、ネストするほうが正解じゃね?
もちろん、ifを書く順番は判定が少なくするようにする必要はあるが。
if a=1 and b=1 and c=1
にすると内部では判断を3回することになる。
if a=1 then
if b=1 then
if c=1 then
にすると判断は少なくなるのだから、ネストするほうが正解じゃね?
もちろん、ifを書く順番は判定が少なくするようにする必要はあるが。
722デフォルトの名無しさん (オッペケ Sra3-5iuk)
2022/06/27(月) 11:48:23.44ID:Fr547gX6r >>719
ゆうてVBAとかアプデすんの?
ゆうてVBAとかアプデすんの?
723デフォルトの名無しさん (ワッチョイ ff68-TsA2)
2022/06/27(月) 11:52:04.31ID:iDqL/u9w0 してるよ
724デフォルトの名無しさん (ワッチョイ cf49-5iuk)
2022/06/27(月) 11:52:52.11ID:nfvw1vkN0 セキュリティ以外で?
725デフォルトの名無しさん (ワッチョイ ff68-TsA2)
2022/06/27(月) 11:57:18.86ID:iDqL/u9w0 うん
726デフォルトの名無しさん (ワッチョイ ff68-TsA2)
2022/06/27(月) 11:59:27.42ID:iDqL/u9w0 頻度はwindoewsやエクセルに比べたらかなり低いけど、やってるよ
確かちょっとずつ便利になってる。本当にちょっとだけ。関数が増えたりはしていないはず。
ソース探したけど見つからねぇ
確かちょっとずつ便利になってる。本当にちょっとだけ。関数が増えたりはしていないはず。
ソース探したけど見つからねぇ
727デフォルトの名無しさん (ワッチョイ cf49-5iuk)
2022/06/27(月) 12:02:08.29ID:nfvw1vkN0 ふーん。。
まあ元号はあったね。。
古臭いよね。。
まあ元号はあったね。。
古臭いよね。。
728デフォルトの名無しさん (ワッチョイ cf49-tCSL)
2022/06/27(月) 12:04:52.44ID:nfvw1vkN0729デフォルトの名無しさん (スフッ Sd5f-J46v)
2022/06/27(月) 13:50:25.11ID:FDoLWwM/d >>718
俺も大体これでやってる
俺も大体これでやってる
730デフォルトの名無しさん (ワッチョイ 4f5f-BW8P)
2022/06/27(月) 19:05:07.99ID:IOT9Z53O0 >>698
そもそもi使ってねーじゃん
そもそもi使ってねーじゃん
731デフォルトの名無しさん (ワッチョイ ff02-tQxS)
2022/06/27(月) 19:57:12.47ID:UdQiWAN30 どなたか教えてください。
売掛金消し込みのマクロを作成しています。VBAでソルバーを自動化したいと思っています。
目的セル、制約条件の参照セルの開始行が40行ごとに下がっていき、指定値は数値ではなく、セルを指定したいです。
とりあえず、全部の変数をvariant型にしてますが、なかなか上手くいきません。
売掛金消し込みのマクロを作成しています。VBAでソルバーを自動化したいと思っています。
目的セル、制約条件の参照セルの開始行が40行ごとに下がっていき、指定値は数値ではなく、セルを指定したいです。
とりあえず、全部の変数をvariant型にしてますが、なかなか上手くいきません。
732デフォルトの名無しさん (ワッチョイ ff02-tQxS)
2022/06/27(月) 20:18:45.52ID:UdQiWAN30 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
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
733デフォルトの名無しさん (ワッチョイ 0f01-zdXj)
2022/06/27(月) 20:22:23.17ID:jYXkLZ/o0 で、何がうまくいかないの?
734デフォルトの名無しさん (ワッチョイ ff02-tQxS)
2022/06/27(月) 20:26:50.30ID:UdQiWAN30735デフォルトの名無しさん (アウアウウー Sad3-0NSx)
2022/06/27(月) 20:35:36.69ID:9IVJ+eiIa >>734
ソルバーわからんから確認させてください
振込1って変数は配列に入れた値を指定したいものですか?それともセル自体を指定したいものですか?
前者であればそれでいいですが、後者なら変数はRange型にする上で代入時に
Set 振込1 =〇〇
としないといけませんが…
ソルバーわからんから確認させてください
振込1って変数は配列に入れた値を指定したいものですか?それともセル自体を指定したいものですか?
前者であればそれでいいですが、後者なら変数はRange型にする上で代入時に
Set 振込1 =〇〇
としないといけませんが…
736デフォルトの名無しさん (ワッチョイ ff02-tQxS)
2022/06/27(月) 20:37:19.75ID:UdQiWAN30 連投すみません。
変数宣言して、for〜next構文でe列を("e"&i+40)や、n列も("n"&i+40)みたいにしたいんです。
d列には請求金額、e列は空白、目的セルにはsumproduct関数が入ってます。
指定値セルはn2:n8で、それぞれ違う金額が入力されてます。入金額とn2:n8内の金額が一致する組み合わせの請求金額をVBAを使って、求めたいです。
変数宣言して、for〜next構文でe列を("e"&i+40)や、n列も("n"&i+40)みたいにしたいんです。
d列には請求金額、e列は空白、目的セルにはsumproduct関数が入ってます。
指定値セルはn2:n8で、それぞれ違う金額が入力されてます。入金額とn2:n8内の金額が一致する組み合わせの請求金額をVBAを使って、求めたいです。
737デフォルトの名無しさん (ワッチョイ ff02-tQxS)
2022/06/27(月) 20:39:44.13ID:UdQiWAN30738デフォルトの名無しさん (スプッッ Sd5f-h9lZ)
2022/06/27(月) 20:45:55.27ID:qw9z/asOd >>737
マルチ死ね
マルチ死ね
739デフォルトの名無しさん (ワッチョイ 0f01-zdXj)
2022/06/27(月) 20:58:49.57ID:jYXkLZ/o0 とりあえず、rangeで回すんじゃなくてcellsで回したら?
n列はcells(i,14)
e列はcells(i,5)で
n列はcells(i,14)
e列はcells(i,5)で
740デフォルトの名無しさん (ワッチョイ ff02-tQxS)
2022/06/27(月) 21:09:33.28ID:UdQiWAN30 >>739
sub または functionが定義されませんエラーが出ます…
sub または functionが定義されませんエラーが出ます…
741デフォルトの名無しさん (ワッチョイ ff02-tQxS)
2022/06/27(月) 21:10:43.06ID:UdQiWAN30742デフォルトの名無しさん (ワントンキン MM0f-5jmv)
2022/06/27(月) 23:45:06.09ID:8dHt2RWvM こんな奴が作るプログラムで金勘定とか笑えるわ
己を知らないって馬鹿の特徴なんだよな
己を知らないって馬鹿の特徴なんだよな
743デフォルトの名無しさん (スフッ Sd5f-J46v)
2022/06/28(火) 00:04:39.14ID:41/DPGawd ソルバーってカタカナで書くの余計分からないよ
素直にSolverで良いだろうに
上の困ってるのは一旦マクロの記録で動作確認お薦め
素直にSolverで良いだろうに
上の困ってるのは一旦マクロの記録で動作確認お薦め
744デフォルトの名無しさん (ワッチョイ 3f7c-PGuA)
2022/06/28(火) 00:07:49.75ID:bUNh/khy0 >>742
2行目はよく解る www
2行目はよく解る www
745デフォルトの名無しさん (ワッチョイ 7fda-n9/C)
2022/06/28(火) 05:51:37.94ID:kKObdKOQ0 オレオレ詐欺の手伝い?
746デフォルトの名無しさん (アウアウウー Sad3-n9/C)
2022/06/28(火) 07:36:23.45ID:XbsSoqMza >>736
なんで会計ソフト使わないの?
なんで会計ソフト使わないの?
747デフォルトの名無しさん (ワッチョイ 3fda-eqyh)
2022/06/28(火) 07:54:25.17ID:2SIMEAUf0 Excelは万能ではないから会計ソフトでやるべき事柄
748デフォルトの名無しさん (ワッチョイ ff68-TsA2)
2022/06/28(火) 08:48:25.11ID:8yuWSL180 この世で最高のコードを見かけた
With Range("F27:F56")
.Value = .Value
End With
With Range("F27:F56")
.Value = .Value
End With
749デフォルトの名無しさん (ワッチョイ 3f4f-60CD)
2022/06/28(火) 09:10:04.94ID:3ZxXgE6I0750デフォルトの名無しさん (ワッチョイ cfda-f2JP)
2022/06/28(火) 09:10:36.27ID:a//tJk240 >>732
solverを使うときのパラメーターの設定の方法が間違ってんじゃない。多分値渡しではなくsetを使うと思うよ。
まずマクロの記録もう使ってなんでもいいからsolverで問題を解いてみて、solverを使うときの正しいVBA の書き方を確認しなさい。
solverを使うときのパラメーターの設定の方法が間違ってんじゃない。多分値渡しではなくsetを使うと思うよ。
まずマクロの記録もう使ってなんでもいいからsolverで問題を解いてみて、solverを使うときの正しいVBA の書き方を確認しなさい。
751デフォルトの名無しさん (アウアウクー MMa3-NnnC)
2022/06/28(火) 09:52:29.46ID:qOxYqvDuM >>698
Ifなんたらかんたらを使わないで
B2になんか文字が入っていたらC2を
B3になんか文字が入っていたらC3を…
をスマートに書くならどう書きます?
https://i.imgur.com/5VtTNti.jpg
Ifなんたらかんたらを使わないで
B2になんか文字が入っていたらC2を
B3になんか文字が入っていたらC3を…
をスマートに書くならどう書きます?
https://i.imgur.com/5VtTNti.jpg
752デフォルトの名無しさん (スップ Sddf-gXkX)
2022/06/28(火) 11:02:29.10ID:1UWi0IGcd753デフォルトの名無しさん (ワッチョイ 3f42-H0HQ)
2022/06/28(火) 11:15:10.25ID:cqDrGvOU0 VBA使わなくてもセルに関数書いときゃいいんじゃね
754デフォルトの名無しさん (アウアウクー MMa3-4pPN)
2022/06/28(火) 12:14:32.96ID:S7aFTH1NM755デフォルトの名無しさん (ワッチョイ 8f21-tCSL)
2022/06/28(火) 17:20:05.57ID:mlWlUbMB0 すみません、神様達、教えてください
エクセルVBAでは
関数内関数はどうやって作れますか?
また複数の関数を目的別に整理する方法として
パッケージやモジュール単位にまとめたり
マップに収納したりはできるのでしょうか?
エクセルVBAでは
関数内関数はどうやって作れますか?
また複数の関数を目的別に整理する方法として
パッケージやモジュール単位にまとめたり
マップに収納したりはできるのでしょうか?
756デフォルトの名無しさん (ラクッペペ MM4f-f2JP)
2022/06/28(火) 17:52:33.73ID:fjXXNeRNM757デフォルトの名無しさん (ワッチョイ ff68-TsA2)
2022/06/28(火) 17:59:52.62ID:8yuWSL180 >>756
具体的にやり方を教えてあげなよ
具体的にやり方を教えてあげなよ
758デフォルトの名無しさん (オッペケ Sra3-RiBi)
2022/06/28(火) 18:51:45.14ID:gpLDnVSMr759デフォルトの名無しさん (JP 0Ha3-tCSL)
2022/06/28(火) 19:15:28.84ID:+0CREnk7H760デフォルトの名無しさん (ワッチョイ 8f5f-tCSL)
2022/06/28(火) 19:22:25.73ID:EFCYXnQm0 ローカル関数もサポートされてないし
関数をオブジェクトとして扱えないので変数への代入も無理です
関数をオブジェクトとして扱えないので変数への代入も無理です
761デフォルトの名無しさん (JP 0Ha3-tCSL)
2022/06/28(火) 19:22:27.90ID:+0CREnk7H >>756
標準モジュール単位で関数をまとめればいいってことでしょうか?
標準モジュール単位で関数をまとめればいいってことでしょうか?
762デフォルトの名無しさん (JP 0Ha3-tCSL)
2022/06/28(火) 19:29:24.91ID:+0CREnk7H763デフォルトの名無しさん (ワッチョイ cfda-f2JP)
2022/06/28(火) 20:14:33.61ID:a//tJk240 >>761
正解です
正解です
764デフォルトの名無しさん (ワッチョイ cfda-f2JP)
2022/06/28(火) 20:14:53.99ID:a//tJk240 それからモジュールには適当に名前を付けることができますので
765デフォルトの名無しさん (ワッチョイ ff68-TsA2)
2022/06/28(火) 20:17:06.37ID:8yuWSL180 関数内関数ってのは、関数の中で定義する関数のこと
phpだと
sub foo1
if a = b then
sub foo2
foo2=1
end sub
else if
sub foo2
foo2=2
end sub
end sub
みたいなことができる
あんまやらんけど
phpだと
sub foo1
if a = b then
sub foo2
foo2=1
end sub
else if
sub foo2
foo2=2
end sub
end sub
みたいなことができる
あんまやらんけど
766デフォルトの名無しさん (ワッチョイ cfda-f2JP)
2022/06/28(火) 20:22:34.06ID:a//tJk240 >>759
関数内関数をそこで書いているようなやり方ではできないけれど、どうしてもやりたければ vbe オブジェクトを定義してそこにコードを書き込むという疑似なやり方はできる。あるいはコードを作成するプロシージャを作成してそのプロシージャを呼び出して引数を渡してコード作った後、そのコードを呼び出すみたいなことはできるのかもしれない。
コードを実行中に別のコードを作成するという経験がないんでエラーが出るかどうかは分からない。
ただ面倒だし見通しも悪くなるんで外側で関数を定義した方が簡単だと思うんだけれどなぜ関数の中で関数を定義したいのでしょうか。
関数内関数をそこで書いているようなやり方ではできないけれど、どうしてもやりたければ vbe オブジェクトを定義してそこにコードを書き込むという疑似なやり方はできる。あるいはコードを作成するプロシージャを作成してそのプロシージャを呼び出して引数を渡してコード作った後、そのコードを呼び出すみたいなことはできるのかもしれない。
コードを実行中に別のコードを作成するという経験がないんでエラーが出るかどうかは分からない。
ただ面倒だし見通しも悪くなるんで外側で関数を定義した方が簡単だと思うんだけれどなぜ関数の中で関数を定義したいのでしょうか。
767デフォルトの名無しさん (JP 0Ha3-tCSL)
2022/06/28(火) 20:32:39.05ID:+0CREnk7H768デフォルトの名無しさん (JP 0Ha3-tCSL)
2022/06/28(火) 20:42:12.06ID:+0CREnk7H >>765
ありがとうございます
ありがとうございます
769デフォルトの名無しさん (JP 0Ha3-tCSL)
2022/06/28(火) 20:50:26.07ID:+0CREnk7H >>766
なぜ関数の中で関数を定義したいのか
すべての関数を同列に記載すると見通しが悪い気がして
例えば数式に関するものなら、calcurationでまとめ
出力に関するものなら、printでまとめ
保存に関するものなら、saveでまとめ
っていうように、目的別、機能別、階層別に関数をまとめると
後で見直したときに分かりやすいかなって
さらにfacadeみたいに間口を作れば
拡張も修正もしやすいかなって思いまして
なぜ関数の中で関数を定義したいのか
すべての関数を同列に記載すると見通しが悪い気がして
例えば数式に関するものなら、calcurationでまとめ
出力に関するものなら、printでまとめ
保存に関するものなら、saveでまとめ
っていうように、目的別、機能別、階層別に関数をまとめると
後で見直したときに分かりやすいかなって
さらにfacadeみたいに間口を作れば
拡張も修正もしやすいかなって思いまして
770デフォルトの名無しさん (ワッチョイ ff68-TsA2)
2022/06/28(火) 20:56:44.33ID:8yuWSL180 >>755
>関数内関数はどうやって作れますか?
関数内関数はない
classは貧弱だけど、ある
ただvbaそもそもの概念として、エクセルのスクリプトであるという点がある
あんまり大きなclass作りたいなら、別言語の方が良いと思う
エクセルvbaはゲームとかもキツイ(メインloopが超貧弱でvbaを起動しっぱなしだとよく落ちる)
>また複数の関数を目的別に整理する方法として
>パッケージやモジュール単位にまとめたり
>マップに収納したりはできるのでしょうか?
標準モジュール単位でまとめられるけど・・・
エクセルvbaの標準モジュールは「どのシートにも共通する処理」のような意味合いで用いられる
よくも悪くも、vbaはエクセルのためにあるので
あまり壮大な事をするのには向いていない
>関数内関数はどうやって作れますか?
関数内関数はない
classは貧弱だけど、ある
ただvbaそもそもの概念として、エクセルのスクリプトであるという点がある
あんまり大きなclass作りたいなら、別言語の方が良いと思う
エクセルvbaはゲームとかもキツイ(メインloopが超貧弱でvbaを起動しっぱなしだとよく落ちる)
>また複数の関数を目的別に整理する方法として
>パッケージやモジュール単位にまとめたり
>マップに収納したりはできるのでしょうか?
標準モジュール単位でまとめられるけど・・・
エクセルvbaの標準モジュールは「どのシートにも共通する処理」のような意味合いで用いられる
よくも悪くも、vbaはエクセルのためにあるので
あまり壮大な事をするのには向いていない
771デフォルトの名無しさん (JP 0Ha3-tCSL)
2022/06/28(火) 20:59:53.87ID:+0CREnk7H >>770
class調べてみます!
モジュールとclassが使えれば
見やすいコードかけるかも!
そんな壮大なプログラムを作るつもりなないのですけど
一処理、一関数にしたいとなると
ある程度の単位で処理をまとめていきたいなって
ご丁寧なご解説に感謝です
ありがとう、神様!
class調べてみます!
モジュールとclassが使えれば
見やすいコードかけるかも!
そんな壮大なプログラムを作るつもりなないのですけど
一処理、一関数にしたいとなると
ある程度の単位で処理をまとめていきたいなって
ご丁寧なご解説に感謝です
ありがとう、神様!
772デフォルトの名無しさん (ワッチョイ ff02-tQxS)
2022/06/28(火) 21:13:22.89ID:i28fB/zi0 >>750
アドバイスありがとうございます!
入金消し込みの自動化をせよと上司からの指示で、初心者なりになんとかやってるんですが、会計ソフトの会社でもお手上げな仕組みの売掛金管理のようです。
setとcellsでなんとか、試行錯誤してやってみようと思います!
またわからなくなったら、質問させて頂きます。
アドバイスありがとうございます!
入金消し込みの自動化をせよと上司からの指示で、初心者なりになんとかやってるんですが、会計ソフトの会社でもお手上げな仕組みの売掛金管理のようです。
setとcellsでなんとか、試行錯誤してやってみようと思います!
またわからなくなったら、質問させて頂きます。
773デフォルトの名無しさん (アウアウウー Sad3-/ybv)
2022/06/28(火) 21:26:40.99ID:WQvDBuzoa 十年近くぶりに触るし上級者だったとかじゃないけど
VBAで
今開いてるPhotoshopの選択しているレイヤーを基準にExcelの指定セル範囲(例:A1からA20)を1セルごとにレイヤーを1枚作りセルの中身を文字ツール(テキスト)でレイヤーを作成。
例:ExcelのA1に「あいう」、A2に「えお」、A3に「123」が入力されていたとし、指定範囲選択(A1〜A3)を、開いてるPhotoshopにレイヤー追加しながらテキストレイヤー「あいう」、「えお」、「123」を作る(計3枚)。その際、Excelに近い見た目の形で…この場合、横に少し間隔を空けて「あいう」「えお」「123」が並ぶように作成する。(文字の大きさや色は直前に使ったpxサイズ、色とする)
って出来ますか?
VBAで
今開いてるPhotoshopの選択しているレイヤーを基準にExcelの指定セル範囲(例:A1からA20)を1セルごとにレイヤーを1枚作りセルの中身を文字ツール(テキスト)でレイヤーを作成。
例:ExcelのA1に「あいう」、A2に「えお」、A3に「123」が入力されていたとし、指定範囲選択(A1〜A3)を、開いてるPhotoshopにレイヤー追加しながらテキストレイヤー「あいう」、「えお」、「123」を作る(計3枚)。その際、Excelに近い見た目の形で…この場合、横に少し間隔を空けて「あいう」「えお」「123」が並ぶように作成する。(文字の大きさや色は直前に使ったpxサイズ、色とする)
って出来ますか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 一律現金給付も消費減税もなし 高市内閣の経済対策に割れる世論 [蚤の市★]
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 津波警報の発表中にグーグル検索、AIが「すべて解除」と誤情報 [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 中国大使さん、麻生太郎を『この政治屋』と名指しし正論長文を投稿。 [271912485]
- 【実況】博衣こよりのえちえち朝活🧪 2
- 【実況】博衣こよりのえちえち朝活🧪
- 中国「もはや高市の謝罪や撤回で済まされるフェーズは過ぎ去った。辞任以外の選択肢ない」 [271912485]
- 【高市悲報】日本人のTikTokアカウントが続々収益化剥奪中!!乞食どもざまああああああああwwwwwww [394917828]
- 残クレマイホーム爆誕 [715715613]
