Excel VBA 質問スレ Part80

■ このスレッドは過去ログ倉庫に格納されています
2023/05/31(水) 08:23:38.97ID:4RV1IxmB
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK

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

関連スレ
Excel VBA 質問スレ Part79(ワッチョイあり)
https://mevius.5ch.net/test/read.cgi/tech/1674875532/

※前スレ
Excel VBA 質問スレ Part79
https://mevius.5ch.net/test/read.cgi/tech/1674874007/
2024/01/28(日) 15:58:37.92ID:FpdhcBpS
>>425
やっぱりそうだよね?自分の周りでも64bitに置き換えてる企業ってほぼないので
しかしここでは64bitが当たり前みたいだし、この手の質問を過去にもしたけどまともな回答得られたことないしで、自分の知らないところでは64bitが当たり前な業界もそれなりにあるのかな?と思ってしまった
64bit移行は取引先が多ければ多いほどハードルが高そう

世間一般的に32bitを切り捨てられるタイミングはいつ頃になるのかな
「xls」ですら切り捨てられない企業を見てると、そんなのは当分先になりそうなイメージ
もしくはMSが完全互換を達成してくれるか
443426
垢版 |
2024/01/28(日) 16:52:07.92ID:v9jfp3rb
イロイロ、ありがとう
さて、ま、念の為、何というか、

Dim i as long
Dim x as long
Dim y as long
Dim BDATA(約25000000) as BYTE

For x = 0 to 3840 - 1
For y = 0 to 2160 - 1
i = 3840 * 3 * y + 3 * x
BDATA(i) = 255
BDATA(i+1) = 0
BDATA(i+2) = 0
next
next

は、モチロン、駄目なプログラミング
さて、いや。呟きです。
とにかく、ありがとう
2024/01/28(日) 19:19:46.49ID:oSgnhTDB
Doevents 入れないのか
2024/01/28(日) 19:53:30.89ID:PqCzO7aX
>>442
いわゆる大手企業だけど64bit導入済みだよ
元々アドイン禁止だから影響もほぼなし
一部VBAを多少手直ししたくらい
446デフォルトの名無しさん
垢版 |
2024/01/28(日) 19:54:43.44ID:I0zbqNbd
Doevents 入れないのだ
これでいいのだ
バカボンのパパなのだ
447デフォルトの名無しさん
垢版 |
2024/01/28(日) 21:08:37.59ID:v9jfp3rb
Do

Dim i as long
Dim x as long
Dim y as long
Dim BDATA(約25000000) as BYTE

For x = 0 to 3840 - 1
cells(1,"A") = x
DoEvents '''✦✦DoEvents 入れてみた \(^o^)/
For y = 0 to 2160 - 1
i = 3840# * 3# * y + 3# * x
BDATA(i) = 255
next
next

って感じでやると A1のセル、すなわちセルA1が
xの値がドンドン更新表示され、面白いです。
面白いから、これで、良いのだぁぁぁぁぁぁ
448447
垢版 |
2024/01/28(日) 21:15:24.83ID:v9jfp3rb
>>447 自己スレ
でも、DoEvents なくても
xの値は表示されるな🤔 なくてもヨイのだ。
少しギコチナイ動きになる気がするが、
気のせいなら、気にしなくてヨイのだ。🥳
2024/01/28(日) 21:19:00.87ID:09VyNDQR
Excel VBAでDVDドライブをオープンさせることはできますか?
部署内のPC端末のDVDドライブを一斉にオープンさせるドッキリをしたいです
2024/01/29(月) 05:09:16.17ID:XzFB+619
>>441
型指定しないと、値によって型が決まる
32767以下の整数だと自動的にIntegerになる
2024/01/29(月) 05:16:06.75ID:XzFB+619
業務アプリをVBAで書いてるとこがあってな
明治時代に創業してみんなも知ってる一部上場企業だよ
膨大な古いアプリを今さら改修とかできないから、なかなか64bitに移行できないんだよ
452デフォルトの名無しさん
垢版 |
2024/01/29(月) 05:53:44.09ID:evC8W0zb
んー、?
Dim b(40000) as byte
Dim i as long

─途中 省略─

for i=0 to 40000
b(i) = 128
b(i+1) = 128
b(i+2) = 128
next

は、上手くいく予感を感じます。
もしかして、b(i+1) = 128で
iが32000一寸超えたあたりで
なんかある気もしますが、杞憂のような気もするし
実験するのも面倒だな
だってOSや実行環境やバージョンで、
実験結果に再現性がない気もするし
てか、64bitのEXCELにすれば、
配列の要素数的に動画も丸ごとメモリに読み込ませられる
ぢゃーーーん。メモリが、なくなって
障害が、発生が、するなんてことは、アリエナイ❓
b(i+clng(1)) = 128 にしなくてもOkかな
b(i+1#) = 128 にしようかな それとも
b(i+1&) = 128 にしようかな
&は文字連結だけどこの場合は
ま、1をlongで解釈というか
んー、まぁいいや。
453デフォルトの名無しさん
垢版 |
2024/01/29(月) 06:03:43.33ID:evC8W0zb
東証一部というか東京一部というか
東証プライムというか東京プライムというか
とにかく、変な名前に変更するのは、反対
64bitにするのは、反対の反対の反対の…なのだ

というか、東証一部なら名門だね。
というか、富士通とかNECとか東芝とかパナソニックとか
社内のは、まだ32ビットのエクセルなのかな❓
これらも、一部を除いて東証一部上場だな
454443
垢版 |
2024/01/29(月) 06:14:49.65ID:AKFLgh7s
ん、いろんな人による
いろんなアドバイス、ありがとう

i = 3840 * 3 * y + 3 * x
でオーバーフローエラーになったら
今度は、
i = 3840 * 3 * y + 3 * x + 32768 - 32768
って、修正してみようかな❓
ゼッタイ、上手くいくハズだよね❓
でも、面倒だし、次回も3は3#にしゃおうかな
by 姑息な対応するデバッグプログラマでした
455454 自作自演ぢゃありません。∵自己レビュー
垢版 |
2024/01/29(月) 08:04:04.78ID:AKFLgh7s
>>0454 1h40min前の自分に返信してあげる。
いま、1h40min前の自分の通り実験したけど、
❌ i = 3840 * 3 * y + 3 * x + 32768 - 32768
オバーフローエラーになっちゃたよん。
ちなみに、#とか定数にヤケクソでつけてもいいけどさ
やっぱり、&の方がヨイ
🙆 i = 3840& * 3& * y + 3& * x って感じでバッチリだ
でも、
❌ i = 1& - 1& + 3840 * 3 * y + 3 * x
の様な気もする。∵イロイロやってみた感触

というか、#とか&を定数の後にくっつけるのってヤヴァイ
様な気もするが、とにかく、珍しく、EXCELがバッチリ動いた\(^o^)/
456455
垢版 |
2024/01/29(月) 08:12:40.14ID:AKFLgh7s
>>455 5min前の自分に返信してあげる
その数式ないの定数 3とか3840とかの全て、全て、全部に
Clng(3)とかClng(3840)に置き換えなさい。

神からお告げなのだ。ていうか、今実験してみた結果ぢゃ
でも、&とか#の方が短くて見易い
2024/01/29(月) 08:31:12.61ID:yN7n5dLr
>>451
64bit問題生じて何年経ってると思ってるんだよ
流石に後手に回りすぎ
458デフォルトの名無しさん
垢版 |
2024/01/29(月) 10:01:16.80ID:AKFLgh7s
VBAには、on error goto という、
エラーが発生しても、エラー発生の行でエラー発生せず
処理を続行させちゃう ウレピィー機能が存在がするようぢゃ、

i = 3*なんちゃらかんちゃら数式 ……🐌
BDATA(i) = 128
というコードで🐌の行でオバーフローエラーに
なってももしかするとErrをトラップ💃
BDATA(i) = 128 を実行させれるコードも可能ぢゃ
モチロン、配列BDATAの内容はメチャクチャだが
気にしなければ、これでヨシ(๑•̀ㅂ•́)و✧

だって、エラー発生しちゃったらやだろ😎

いや、それより、ドンドン64ビットのエクセルに
移行して、ドンドンバグを潰そう。
テーブルが壊れてバグ発生させても、キニシナイ
ていうか、その方が、バグ対策のノウハウが
バッチリになって株価急上昇の予感がしてきました。
東証プライムどんどん📈しろっう。
てか、そうだ今日は、平日だっけ?
株価をチェックしなければいけないので、では
また今度だ
459デフォルトの名無しさん
垢版 |
2024/01/29(月) 10:08:59.28ID:eJ6L0Jkg
>>451
改修できないのは能力不足なだけでは
2024/01/29(月) 11:00:49.76ID:L9ToZbOs
>>454
i = 32768 + 3840 * 3 * y + 3 * x - 32768
2024/02/01(木) 09:50:16.10ID:qkLEEfNI
>>453
NECはLANPLAN、LANWORDだよ。
462デフォルトの名無しさん
垢版 |
2024/02/06(火) 21:11:58.14ID:tk+LFJYg
以下のコードで構文エラーになる、ならない区別がつかなくて質問します。

クラスモジュール
Function 背景色(ByVal range1 As Range, ByVal range2 As Range)
Dim lng_color As Long
lng_color = range2.Interior.Color
range1.Interior.Color = lng_color
End Function

標準モジュール
Sub test()
Dim rng1 As Range
Dim rng2 As Range
Dim mc As New Class1
Set rng1 = Range("C3") 'C3の色を
Set rng2 = Range("A3") 'A3に適用する
Dim str As String

str = mc.背景色(rng1, rng2)

End Sub

これで、str=の部分をなくすと構文エラーになってしまうのはなぜでしょうか?
2024/02/06(火) 21:29:12.00ID:rCver0bK
うちではならない
464デフォルトの名無しさん
垢版 |
2024/02/06(火) 22:51:37.41ID:8QVr9gKs
Functionだから? callで呼んだり、Subに変えては。
2024/02/07(水) 00:03:31.59ID:/C0r4gOv
>>464の言うとおりだと思うけど、Subにしても Call はつけないとダメかな
それか引数を囲うカッコをつけないか
466465
垢版 |
2024/02/07(水) 00:06:06.47ID:/C0r4gOv
ごめん、クラスモジュールだとどうだか分からないや
>>465は撤回します
ごめんなさい
2024/02/07(水) 05:24:58.93ID:ptzdB5MT
>>462
VBAの謎な仕様の一つ

Functionの戻り値を受け取らない時、Functionは関数ではなくステートメントの一種と解釈されてしまう(らしい)
ステートメントの書き方が、VBAでは「命令と引数を空白で区切る」というルールになっているから

ステートメントの具体的な例を挙げると、
Dim a, b
これを
Dim (a, b)
と書くとエラーになるのと一緒

Callで呼んだときに挙動が変わるのは、こんどは関数がCallステートメントのパラメータになるから、構文の解釈が変わる

さらにややこしいことに、引数が1つだとエラーにならない
これは、カッコが演算子とも解釈できてしまうから

a = b

a = (b)
と書いても、無意味だけどエラーにならないのと同じで、カッコが必要なケースではそのまま解釈され、必要ないケースでは演算子とみなすことが可能なので結局エラーにならない
468デフォルトの名無しさん
垢版 |
2024/02/07(水) 05:54:42.53ID:TWD16jEo
皆様ありがとうございます。
VBA学習を始めて間もないので、RangeがなぜStringに入るのだろう?
などと考えて悩んでいました。
とりあえず空白にすればいいのかな?と思い、

mc.背景色 rng1, rng2

としたらエラーなく実行できました。
2024/02/07(水) 08:03:51.30ID:2Cso54Y+
>>467
謎も何もパーサの都合
470デフォルトの名無しさん
垢版 |
2024/02/07(水) 10:12:34.77ID:p6WTk8Ln
カッコ悪っ
2024/02/07(水) 21:43:51.95ID:rJek+uci
(悪)
472デフォルトの名無しさん
垢版 |
2024/02/08(木) 15:06:23.74ID:AG84sVu5
workbookとworksheetsを両方変数で繋げるにはどうしたらよいのでしょうか?
それぞれsetでwb, wsとした場合、

ws.cells(n,n)やwb.worksheets(n).cells(x,x)なんかは問題なく動くのですがwb.ws.,,,,とするとエラーが起きてしまいます
2024/02/08(木) 16:06:23.33ID:5OVFjneR
ワークシートの親ワークブックは特定されるので指定は不要
wsだけで使えば良い

相互参照したいなら
set ws = wb.Worksheets(n)
set wb = ws.Parent
2024/02/08(木) 17:26:16.95ID:EcJUi253
>>472
Setしたwsにはwb要素も含まれてて変更できない
複数のブックでシート名を共通にしたい時はWorksheetオブジェクトじゃなくて文字列にシート名を入れる
Dim stnam As String
stnam = "Sheet1"
wb.Worksheets(stnam)
みたいに書く
475デフォルトの名無しさん
垢版 |
2024/02/08(木) 19:08:54.01ID:AG84sVu5
出来ました!ありがとうございます!
2024/02/08(木) 20:49:29.84ID:szZI865F
ListBoxの要素をクリックしても枠線が表示されるだけで
青色に反転しないことが時々あるのですが、何故でしょうか?
2024/02/09(金) 12:00:32.11ID:VUVEy040
エスパーするとデザインモードになっていたりマクロ禁止状態だったりするから
478476
垢版 |
2024/02/09(金) 21:03:02.70ID:Essi4uO7
どうもListBoxの端っこをクリックするとListBox自体がアクティブになり
前回選択していた要素にフォーカスが当たるようです(フォーカスするだけで選択はしない、青色にも反転しない)
2024/02/10(土) 12:07:45.28ID:oVCg53lr
プロパティウィンドウで何か設定イジったとか?
480デフォルトの名無しさん
垢版 |
2024/02/10(土) 22:18:00.43ID:3oPB1Oyo
VBAベーシック合格したから、スタンダードも挑戦したい。
その前に 「日商プログラミング検定 STANDARD VBA」をAmazonで買って読んでみたけど、
載ってるプログラムが糞すぎて話にならない。
俺が10行で書ける奴を40行ぐらいでやってる。
買って損した。
481デフォルトの名無しさん
垢版 |
2024/02/10(土) 22:52:32.27ID:3oPB1Oyo
>>180
ChatGPTで教えてもらった。
これからやってみるw


Sub GetVegetableInfo()
Dim sheet1 As Worksheet
Dim sheet2 As Worksheet
Dim lastRow As Long
Dim i As Integer

' 「Sheet1」と「Sheet2」を取得
Set sheet1 = Worksheets("Sheet1")
Set sheet2 = Worksheets("Sheet2")

' 「Sheet2」のA1:B5を順番に処理
For i = 1 To 5
' 「Sheet1」で条件に合う最後の行を取得
lastRow = sheet1.Cells(sheet1.Rows.Count, "A").End(xlUp).Row
Do While lastRow > 1 And (sheet1.Cells(lastRow, 1).Value <> sheet2.Cells(i, 1).Value _
Or sheet1.Cells(lastRow, 2).Value <> sheet2.Cells(i, 2).Value)
lastRow = lastRow - 1
Loop
482デフォルトの名無しさん
垢版 |
2024/02/10(土) 22:52:57.45ID:3oPB1Oyo
続き


' 購入年月日と価格を「Sheet2」に記入
If lastRow > 1 Then
sheet2.Cells(i, 3).Value = sheet1.Cells(lastRow, 3).Value
sheet2.Cells(i, 4).Value = sheet1.Cells(lastRow, 4).Value
Else
sheet2.Cells(i, 3).Value = "条件に合うデータが見つかりません"
sheet2.Cells(i, 4).Value = "条件に合うデータが見つかりません"
End If
Next i
End Sub
483デフォルトの名無しさん
垢版 |
2024/02/10(土) 22:59:51.09ID:3oPB1Oyo
一発でできたw
ChatGPTはすごいww
484デフォルトの名無しさん
垢版 |
2024/02/10(土) 23:03:48.85ID:3oPB1Oyo
こういう文を自分で分かるようになるまで1行づつ勉強していけば良いのかな。
485デフォルトの名無しさん
垢版 |
2024/02/11(日) 00:18:22.77ID:gsh865m+
>>484
こんなのがわからん人には一生無理だよ
486デフォルトの名無しさん
垢版 |
2024/02/11(日) 08:41:00.98ID:4jVVlROf
Excel2019だから仕方ないけど、2021や365ならワークシート関数で簡単に出来る内容だね。
2024/02/11(日) 10:25:34.29ID:ectqOeXX
んなこたーない
千里の道も一歩から
488デフォルトの名無しさん
垢版 |
2024/02/11(日) 11:10:11.68ID:KVjYyEwK
>>487
賛成
2024/02/11(日) 13:11:20.60ID:Uyf5FkAB
構造体の項目名を取ってくることって可能
Type type社員
  番号 As Long
  氏名 As String
  所属 As String
  住所 As String
  電話 As String
End Type

こんな風になってる場合、
「番号」、「氏名」とかの項目名を取ってきたい
2024/02/11(日) 13:13:40.26ID:ODGSF/9t
Chatgptに頼るとそれが癖になりそうでよ。
2024/02/11(日) 13:31:41.97ID:RI7D2x7j
>>489
VBAでは無理
VB(.net)ならできるんだけど
492デフォルトの名無しさん
垢版 |
2024/02/11(日) 13:57:26.10ID:KVjYyEwK
>>490
そもそも、こういう計算関係の問題ならChatGPTの方が人間よりも数万倍能力高いのに、どうして人間がやらなきゃいけないのか?
2024/02/11(日) 14:03:59.06ID:Uyf5FkAB
>>491
てことは、構造体の中身を一括でワークシートに書き出すことも不可能?
Cells(1,1)= type社員
みたいなことはできない?
494デフォルトの名無しさん
垢版 |
2024/02/11(日) 15:16:37.77ID:1/wSFivK
千里は約3900kmだから歩くのはちょっと無理かな
2024/02/11(日) 17:35:01.49ID:N93Z/F6t
>>494
「千里之行 始於足下 (千里の道も一歩から)」は2500年前の中国が発祥の言葉
古代中国の単位で換算すると千里は415kmだから、実は江戸~伊勢神宮の460kmより短いという
2024/02/11(日) 17:37:11.13ID:n3f0KEJ+
>>492
失業者が増えるのはまずいから、わざと無駄な仕事を増やしてる
どこの業界でもね
2024/02/11(日) 18:53:55.53ID:ODGSF/9t
Excelもそのうち完全自動化になって手作業が無くなると聞いたしね。
2024/02/12(月) 02:43:42.58ID:rGOG+Ewu
完全自動化にはならない
少なくとも仕様をExcelに伝えないといけない
しかも正確に
これは結構大変だと思う
499デフォルトの名無しさん
垢版 |
2024/02/12(月) 06:48:14.86ID:+xqPKZXk
結局、馬鹿にできることは限られる
500デフォルトの名無しさん
垢版 |
2024/02/12(月) 07:23:59.37ID:QaD8MNfw
いまだに古いexcel使っているから関係ない
2024/02/12(月) 15:27:03.31ID:Ey14GliG
何かの記事か動画で、ケースの中にノーパソがあって、csvから自動で読み込んで手作業の如く加工したり関数が自動的に入力されているのを見た記憶ある。
将来的に完全自動になるとかなんとか
2024/02/12(月) 17:36:44.35ID:rGOG+Ewu
それだけなら今の技術でもできる
問題は入力をどう捌くか
仕様は人間にしかわからないし
ケース分けはすぐに複雑になるので
うまく指示しないと
すぐに保守不能になる
503デフォルトの名無しさん
垢版 |
2024/02/12(月) 22:27:01.21ID:+xqPKZXk
>>501
頭悪そう
504デフォルトの名無しさん
垢版 |
2024/02/12(月) 23:37:18.45ID:Ulhaap3A
どんなにいいものでも頭の悪い人には宝の持ち腐れになるな
2024/02/13(火) 01:00:51.32ID:rVlFUe7M
高度な科学技術は(バカには)魔法と区別がつかない
2024/02/13(火) 01:02:28.32ID:RhcUAVku
「猿でもわかるようにしろ」と猿が言う
2024/02/13(火) 11:52:54.11ID:5h/UERvP
例のRPAの事か。
508デフォルトの名無しさん
垢版 |
2024/02/13(火) 15:20:55.90ID:A8w0YSx0
DIM 社員番号 As Long
DIM 社員氏名(99) As String
DIM 社員所属(99) As String
DIM 社員住所(99) As String
DIM 社員電話(99) As String
では、🙅ですか❓
2024/02/13(火) 18:34:38.38ID:l+mukg6e
200ぐらいは必要だな
2024/02/13(火) 19:29:15.56ID:gT/Ie7tm
chatgptに聞いてみたら?
2024/02/13(火) 19:50:47.77ID:NapwYJ4w
ChatGPTに書かせまくってます
2024/02/14(水) 01:36:32.34ID:TDgQUPLD
そんなのに頼っていたらスキル上がらないだろ
2024/02/14(水) 19:27:17.85ID:39zPDMmV
AIが先に学習するんじゃね
514デフォルトの名無しさん
垢版 |
2024/02/14(水) 20:58:16.61ID:tCnXYZyu
>>512
ChatGPTにできない事でスキル上げしないと将来無いと思ってる。
2024/02/15(木) 05:36:09.01ID:y76Vsl10
ChatGPTの倒し方?
2024/02/15(木) 07:21:00.00ID:dt58r8nV
ChatGpt、間違っていたり動かないコードを提示される場合あるみたいね。
2024/02/15(木) 09:00:47.65ID:rrljL6vB
そら完全じゃないからな、やれば分かるよ
でも理解してればすごい便利
2024/02/15(木) 11:17:18.79ID:e8ChaJiV
わざわざ聞くのはコマンドを知らないから?
Excelなら記録でわかるから機能を知らないからか?
もしくはキー入力が遅い?
文法すら分からないってのは流石に使えないだろうし
2024/02/15(木) 11:54:24.32ID:rrljL6vB
普段色んな言語扱ってると思い出せないときとかあるからね
「この言語ってlengthとcountどっちだったっけ、これanyとか使えたっけ?」
「配列ってnewとかだっけ」
「あれこの言語const,define,var,val,letどれが使えないんだっけ」
「Integerはintでいいんだっけ、あれInt32だっけ」
みたいな細かい所を確認したりせずに
まるっとどーんと一旦サンプルとして形にできるからラク
アルゴリズムとかはそこから見直せば良い

vbeはcopilot対応してないし(よね?)
2024/02/15(木) 17:50:12.85ID:UJmHWKAW
色んな言語使ってない人は迷わないってことならそれでいいんじゃね
2024/02/15(木) 18:44:29.22ID:00CMZm7v
まあそらVBA専従なら自分で書きはじめたほうが早いかもしらんね
2024/02/15(木) 18:47:58.30ID:G5y7v+SU
VBAの知識あります
でも職層も低く若手に馬鹿にされまくってますって化石おじさんいるわ
絶望的に発想もセンスも乏しい
そんなことVBAでやるまでもないそんな処理意味ないけどってとこまで
まるでお前らです
523デフォルトの名無しさん
垢版 |
2024/02/15(木) 19:21:27.05ID:SrphZNWT
>>519
xxx まるっと
o まるごと

変な言葉使うな。方言らしいけど。
2024/02/18(日) 19:40:32.04ID:Jd2tuU++
保存に失敗したのか何なのか分からんが
標準モジュールの中身が突然消えた(フォームは残ってる)
復旧も無理そうなので、今度の連休にまた最初から書き直すことにする
2024/02/18(日) 19:46:11.18ID:+FxfYFYB
windowsにもExcelにも自動バックアップ機能あるぞ
うっかり上書き保存しても前のファイルが取り戻せる
ぐぐって設定しとけ
2024/02/18(日) 20:04:54.83ID:Jd2tuU++
今度からそうする
自分の知らないうちにどこか分からない場所に勝手に保存される
というのがなんか嫌で、あまり使ったことなかった
527デフォルトの名無しさん
垢版 |
2024/02/19(月) 06:48:23.74ID:w7/dFwx/
ポクは、自動バックアップは、よく解らんけど、いつの間にか
自動バッチリアップされてるけど、何か、ヤダから、
標準モジュール内のVBAコードは、丸ごと手作業で
シート内に、コピペしてる。文字化けもほぼ皆無
場合によっては、メモ帳に貼り付け、テキストで保管
ま、念の為だから、保管したテキストも数日でゴミ箱にポイだ
BY 🤡
528527
垢版 |
2024/02/19(月) 06:54:55.85ID:w7/dFwx/
あっそうだ、コメント行で、'とかあうのが
シート貼り付けで、消えたように見えるので、
ポクは、コメントは、'は一文字ではなく、
'''''ポクはやり方はバッチリだから文句いうな
って感じで、'は沢山つなげております。
2024/02/19(月) 08:48:43.14ID:1uSUYqxO
>>524
コード触る前に枝番違いで保存するようにしてる
小変更なら下一桁、大きく変更したら上の桁をという感じ
2024/02/19(月) 09:24:14.83ID:CiX+tN/V
男はゴミ箱の中に溜めたが多い。女はゴミ箱に溜めない、即消去する傾向があるw
2024/02/19(月) 19:27:36.95ID:2s0lLr+U
まだ根拠のないことを
2024/02/19(月) 22:06:40.75ID:CiX+tN/V
恋愛を引き出しにゴミ箱に例えただけだよ。男っていつまで未練タラタラじゃん。
2024/02/19(月) 22:25:41.40ID:2s0lLr+U
自己紹介乙
2024/02/20(火) 07:38:20.43ID:aIKR0wuU
変数の宣言してからにしてください
535465
垢版 |
2024/02/20(火) 09:18:26.52ID:mq9qgv3z
>>524
Office365で同じような現象がありましたが、古い2010でマクロブックを開いたらちゃんと標準・クラスモジュールが見え、エクスポートできました
あと、OSをシフトキーを押下したまま(完全な)シャットダウンするとよいという情報もありました
後者はうろ覚えなので、間違いだったらスマヌ
2024/02/20(火) 09:19:50.79ID:mq9qgv3z
>>535 の投稿者ですが
僕は465ではありません
537デフォルトの名無しさん
垢版 |
2024/02/20(火) 12:31:23.17ID:mTqV5HiO
AIなら競馬とか株とかで儲かる奴わかるかな
2024/02/20(火) 13:17:34.25ID:gHDpofJ4
お世話になります。Microsoft365を使用しております。
納品書作成で別シートのマスタからvlookupで商品名に対応する単価を引っ張って来ています。ただ、全社共通単価の商品と、取引先ごとに単価が違う商品があります。
単価が違う商品のために取引先ごとにシートを分けて各社のマスタをつくり、それとは別に共通マスタ(全社共通単価商品リスト)を作って、一つのファイルで各社納品書を作成というのをしたいです。

例えば
シート1:納品書原本
シート2:トヨタマスタ
シート3:ホンダマスタ
シート4:全社共通マスタ

シート1のA1セルにプルダウンで、トヨタ、ホンダ、を選択する。
トヨタを選んだ場合は、トヨタマスタから単価を引っ張ってくる。
もしトヨタマスタに当該商品がない場合は、共通マスタから引っ張ってくる。
ということをやりたいのですが、できますか?
ChatGPTに投げてみましたが、トヨタに当該商品名がない場合→ホンダ→全社共通検索するみたいな感じで、ちょっと芯をつけませんでした。(同じ商品名でも単価が違う)

ちなみにトヨタとかにしてますが扱う商品は食品です。
例えばキャベツは全社共通単価だけど牛肉は会社によってグレードも違うので単価が異なるみたいな感じです。
また野菜は時価なので共通マスタの単価修正も頻繁で、会社ごとにファイルを作るのは大変なので一つのファイルでやりたいと思った次第です。

これよりもっと簡単な方法でも結構ですので、アドバイスなどご教示いただければ幸いです。よろしくお願いします。
2024/02/20(火) 13:51:18.21ID:dLB+ndOn
トヨタに当該商品名がない場合→→全社共通検索する

でいいと思います
2024/02/20(火) 14:41:09.38ID:gHDpofJ4
>>539
早速ありがとうございます
そのようにしたいのですが、現状のこのコードをどう改良したら良いのか教えていただけませんか?

=IF($C11="","",VLOOKUP($C11,'共通マスタ'!$A$2:$F$49,3,FALSE))

A1にトヨタまたはホンダを選択→まずは当該マスタから検索、ヒットしなければ共通マスタから検索
541デフォルトの名無しさん
垢版 |
2024/02/20(火) 14:50:02.37ID:M78wyy3v
>>538
365で、もうVSTACK関数も使える状況ならVlookupの対象配列の部分を
VSTACK(if(A1=ホンダ,ホンダマスタの配列, トヨタマスタの配列), 全社共通マスタ)
みたいにすればいけるんじゃない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況