プロが教える店舗&オフィスのセキュリティ対策術

ど素人で説明が難しいのですが
Sheet1でセルE列(商品名)とセルJ列(販売形式)の組み合わせ(参照)で価格がセルw列に表示する方法ありますでしょうか?価格は別シートに記載してあるので計算入りません
価格の組み合わせ記載場所は別シートの部類はI2(商品1)I4(商品2)I6(商品3)~I12(商品5)販売形式はJ2(通常)J3(お試し)J4(サンプルは商品すべてに適応)売値K2~12で金額を記載はしています
出荷時に価格が表示してほしいので出荷のfoamでコマンドボタン押したらになります
tbl = Range("D1:N" & Cells(Rows.Count, 4).End(xlUp).Row)

Dim i As Long
ListBox1.Clear
For i = 1 To UBound(tbl)
If tbl(i, 2) = ComboBox3.Value And _
tbl(i, 3) = ComboBox4.Value And _
tbl(i, 10) = "" And _
tbl(i, 6) = ListBox2.List(ListBox2.ListIndex) * 1 Then
tbl(i, 10) = "" '出荷日空白のみ
With ListBox1
.AddItem tbl(i, 1)
End With
これを手を加えればできますかね?
AndのあたりをCellsかRangeで指定して
リストボックスに表示ではなくセルに転記とか…(;^_^A安易ですかね
どなたかご指導お願いいたしますm(__)m

「VBAコードで質問があります」の質問画像

A 回答 (2件)

こんばんは


処理について一例(案)です
配列tblの2次側インデックス7の条件を設定するオブジェクトが必要です
(オプションボタン、チェックボックス、コンボボックスなどを追加)

設定条件(~And~など)で配列tblのtbl(i, 6)がヒットした時に
上記オブジェクトで指定した条件で カウント変数 iを+0又は+1して
2次側インデックス8の配列要素を取得、出力すれば良いと思います

if 設定条件=tbl(i, 6) then
if オプションボタン then x=0 else x=1
出力先=tbl(i+x,8)
exit for
end if
糸口がありそうですか?

>どなたかご指導お願いいたします

ご質問、コードを拝見するにご質問者様が作成されたVBAコードではないように思います
コード内容とご質問の差異が大きいように思います

ご自身で理解できないプログラムを作成、改修を行い使用するのは
あらゆる面でリスクが高くやめた方が良いと思います

(学習や十分な時間をかけデバッグを行い理解して使うのなら良いと思いますが業務で使うなら引継ぎできるところまで作り込むマニュアルやコードの解説)

当該プログラムを作成した方に頼むか、すでに連絡が取れない状況であれば
常に連絡が取れる知識のある方に相談するか、それも思い当たる方がいないのであれば、プロに作成(改修)依頼をされるのが良いと思います
(業務で使用するのならサポートなどがある方が良いです)
    • good
    • 3
この回答へのお礼

回答ありがとうございます
ごもっともな意見ありがとうございますm(__)m
色々ネットから拾ってきて修正し足り追加したりで何とか動いた感じです
なのでエクセル内のコード統一感ないです(;^_^A

お礼日時:2022/10/20 22:58

>Sheet1でセルE列(商品名)とセルJ列(販売形式)の組み合わせ



>画像はI~K列

>If tbl(i, 2) = ComboBox3.Value And _
tbl(i, 3) = ComboBox4.Value
ここではE・F列

>価格の組み合わせ記載場所は別シート

シートもですがBookの構成が良くわかりません。
多分ですがBookを見ればわかるのでしょうけど(複数シート?の画像とか)、初級者レベルだからなのかこの内容は厳しいのではないかなと。
以前でしたらダミーデータのBookを添付して質問出来たサイトはありましたが、今もどこかにかあるのかな?

あとAndを使いすぎると最後まで確認して、結局ダメだったら時間の無駄にもなります。
比較する左辺・右辺をそれぞれで1つの文字列に連結させた方が1回で済みそう。
Join関数とか使って。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
マクロの設定追加をド素人にお願いしている時点で時間の無駄と思いますが(;^_^A色々ネットから拾ってきて試行錯誤しております
現状で稼働中で容量も高くなく動きも重くはなく普通に問題なく動いてますのでよしとしています
イメージでは動きそうなんですが説明が難しくいろんな方に理解して頂けていないのが現状です(;^_^A

お礼日時:2022/10/20 23:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!