エクセルで在庫表を作ろうとしているのですが、躓いてしまって困っています。
TEST1 コードを手入力した後実行
TEST2 出庫数を入力した後実行
Option Explicit
Option Base 1
Sub TEST1() 'コードを手入力した後実行
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim r&, i&
Dim vL1 As String
Dim vL2 As Long
Set ws1 = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")
r = ws1.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To r
vL1 = Application.WorksheetFunction.VLookup(ws1.Cells(i, 1), ws2.Range("A2:IV65536"), 2, False)
ws1.Cells(i, 1).Offset(, 1) = vL1
vL2 = Application.WorksheetFunction.VLookup(ws1.Cells(i, 1), ws2.Range("A2:IV65536"), 3, False)
ws1.Cells(i, 1).Offset(, 2) = vL2
Next i
End Sub
Sub TEST2() '出庫数を入力した後実行
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim r&, i&
Dim vL2 As Long
Dim vL3 As String
Dim syukko As Long
Dim fnd As Range
Dim zaiko As Long
Set ws1 = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")
r = ws1.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To r
If ws1.Cells(i, 4) > 0 Then
syukko = ws1.Cells(4, 1).Offset(, 3).Value
vL2 = Application.WorksheetFunction.VLookup(ws1.Cells(3, 2), ws2.Range("A2:IV65536"), 3, False)
Set fnd = ws2.Range("A:A").Find(ws1.Cells(i, 1))
If fnd Is Nothing = False Then
zaiko = vL2 - syukko
fnd.Offset(, 2) = zaiko
End If
MsgBox ws1.Cells(i, 2) & "を" & syukko & "出庫します" & vbLf & "在庫は" & zaiko & "になります。"
Else
MsgBox "出庫数を入力して下さい"
Exit Sub
End If
Next i
ws1.Range("A2:D65536").ClearContents
End Sub
ここまでは作りました。
ですが、プロシージャの外では無効です
と出てしまいます。
どうすればよいのでしょうか。
教えて下さい。
シート1のB2にコード・C3に名前・D2に現在個数・E2に出庫数を入力します。
実際にはB3からすうじを入力し、コードを入力すれば自然に名前と現在個数を
シート2から探してくるようにしたいです。
シート2にはA列にコード、B列に名前、C列に現在庫数が載っている表があります(量が半端ではないです)
出来れば、1度出庫数を入れたら、次開いた時にシート2のC列にある現在個数が自然に減っていて、シート1にはフォームしか残らない状態にしたいです。
お願いします<m(__)m>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
質問と同じコードですが、小数例でやってみるとうまく行き増した。
Sub TEST1() 'コードを手入力した後実行
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim r&, i&
Dim vL1 As String
Dim vL2 As Long
Set ws1 = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")
'--
r = ws1.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To r
vL1 = Application.WorksheetFunction.VLookup(ws1.Cells(i, "A"), ws2.Range("A2:IV65536"), 2, False)
MsgBox "vl1=" & vL1
ws1.Cells(i, "A").Offset(, 1) = vL1 'Sheet1の列へ
vL2 = Application.WorksheetFunction.VLookup(ws1.Cells(i, "A"), ws2.Range("A2:IV65536"), 3, False)
MsgBox "vl2=" & vL2
ws1.Cells(i, "A").Offset(, 2) = vL2 'Sheet1のC列へ
Next i
End Sub
ーー
雑感
(1)チェック用に上記のようにMsgbox うお入れてみるのはどうか
(2)Sheet2は
A列 B列 C列
aaa1
bbb2
ccc3
のようにB列文字列、C列数字にアンって居るか。
(3)VLOOKUP関数で見つからなかった場合の手を打っておく必要はあるのでは無いか。
ーー
標題の
>エクセルで在庫表を作ろうとしています ・・
は不適当ではないか?台が大きすぎて実態を表してない。
上記なら、VLOOKUP関数の利用の質問ではないか
ーーー
時間なく
質問後半は省略したが、
>躓いてしまって困っています
前半か後半かを明記すべきでは。
iでForNextで繰返しの中で
syukko = ws1.Cells(4, 1).Offset(, 3).Value
に i ガ無いのはこれで良いのか?
忙しい回答者に生のコードをコピペするだけでなく(また読み解かせるのでなく、シートの情況との関連も質問に書くこと。
全く予備知識が無いものが読むのだ。
No.1
- 回答日時:
まず、[F8]でステップ実行させて変数の値があなたが考えている通りになっているのかを確認してください。
それでも解決しなければ、エラーが何処で出たのか、その時の使用している変数の値がどうなっているのかを明記してください。
ソースをざっと眺めた限りではシート1のB2セルに入っているはずのコードを参照している箇所が「出庫します」のメッセージ以外何処にもありません。
ソースか説明が間違っていませんか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セックスについて。 彼が正常位...
-
セックスする度に胸が大きくな...
-
週1ペースで会うカップルでデー...
-
性欲と、人を好きになるって別...
-
セックスの2回目が無理
-
彼女とのセックスの頻度につい...
-
初めて泊まりにきてくれる彼女...
-
彼氏が私の性格も見た目も褒め...
-
30代前半男性の性欲
-
恋人とセフレの違いはなんです...
-
彼女をイかせたい
-
彼女とのセックスに新鮮味を感...
-
セックス前にAV
-
俗にいうセフレの定義を知りた...
-
彼女と旅行
-
彼女が噛んできます。 歯型がつ...
-
好きな人の胸が密着してる時に...
-
男性の性欲
-
おじさんになってから若い女性に
-
セックスする時なぜ声出るの
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報