ロケーションの管理表をVBAを使って作成したいのですが、毎度のことですがコードがわかりません教えてください。
以下のように考えています。
①登録
1.フォームに品目とロケーションを入力してボタンを押すと、品目の重複チェックをおこなう(メッセージ[OK]or[キャンセル])
2.[OK]⇒シートのA列とB列に入力した品目とロケーションが登録される。
3.[キャンセル]⇒終了
ただし、重複していても同じ品目で複数のロケーションという場合があるため、ユーザーの判断で登録は可能
(1のメッセージは、あくまで重複品目があるかどうかの情報を表示するだけと考えています)
②削除
1.フォームに品目とロケーションを入力してボタンを押すと、表に登録されている一致するデータが削除される
できるかどうかわかりませんが、例えば品目のみ入力してボタンをおすと、フォームに更に何か追加してロケーションのみの修正できれば…とも思いますが、考えつかないので上記①②のコードを教えて下さい。
何卒よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんな感じになると思います。
登録については、エラーチェックをするように書かれていたので、チェックしていますが、削除の方はノーチェックです。登録のコードを参考に、自力で実装してみて下さい。
Private Sub 削除_Click()
Dim c As Variant
Dim firstAddress As Variant
With Worksheets("Sheet1").Range("A:A")
Set c = .Find(削除_品目, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
If c.Offset(0, 1) = 削除_ロケ Then
c.EntireRow.Delete Shift:=xlUp
Exit Sub
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub
Private Sub 登録_Click()
Dim StoreRow As Long
If 登録_品目 = "" Or 登録_ロケ = "" Then
MsgBox "入力してください!!"
Exit Sub
End If
With Worksheets("Sheet1")
If WorksheetFunction.CountIfs(.Range("A:A"), 登録_品目, _
.Range("B:B"), 登録_ロケ) > 0 Then
MsgBox "重複しています!!"
Exit Sub
End If
If WorksheetFunction.CountIf(.Range("A:A"), 登録_品目) > 0 Then
If MsgBox("重複があります。登録しますか?", vbOKCancel) = vbCancel Then
Exit Sub
End If
End If
StoreRow = .Cells(Rows.Count, "A").End(xlUp).Row + 1
.Cells(StoreRow, "A") = 登録_品目
.Cells(StoreRow, "B") = 登録_ロケ
End With
MsgBox "登録しました。"
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(買い物・ショッピング) JANコードの登録について 1 2022/07/23 14:19
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- Visual Basic(VBA) 3つの条件を指定してVBAで行を削除したい 条件1:分類1が重複 条件2:分類2が重複 条件3:個数 6 2022/06/24 11:07
- Windows 7 エクセルで重複データから抽出したい 2 2022/05/18 23:31
- Visual Basic(VBA) vbaマクロについて 【1.csv】をもとに【商品.csv】に有るものを【有り.csv】として名前を 1 2023/05/18 07:58
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Visual Basic(VBA) vbaマクロについて 次のようなマクロを組みたいです。 自分は初心者なので全くわかりません。 詳しく 8 2023/05/18 18:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーチューブのお気に入りが消...
-
三菱ufjニコスカードのVIZAを使...
-
自販機でモバイルPASMOが使えない
-
インスタグラムで儲け出す方法
-
あなたの電話帳、登録件数が多...
-
ocnのマイページでモバイルの契...
-
regsvr32.exe による DLLの登...
-
IME-2000の単語登録で単語内に改行
-
fc2登録について
-
いいね!ボタンを2回押しちゃっ...
-
九州電力の電気代・使用量をHP...
-
印鑑登録、やってますか?
-
ジャニーズウェブについてです...
-
習い事の退会届の書き方
-
至急!!ペアーズ登録直後に強...
-
X、嫌がらせで通報されまくって...
-
自筆と直筆の違いを教えてくだ...
-
LINEの履歴はいつまで残る...
-
私の回答は、妥当でしょうか?
-
言うだけ言ってブロックする人
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三菱ufjニコスカードのVIZAを使...
-
自販機でモバイルPASMOが使えない
-
私が精神病のことをどこから知...
-
インスタグラムで儲け出す方法
-
知恵袋登録したくて認証コード...
-
九州電力の電気代・使用量をHP...
-
ジャニーズショップの同行者登...
-
誰も電話帳にSNSプロフィールっ...
-
regsvr32.exe による DLLの登...
-
fc2登録について
-
電子書籍を利用されてる方へKin...
-
電話番号を変えたら、Yahoo!知...
-
ウェスタンユニオンの郵便番号...
-
マッチングアプリにいる女性に...
-
ユーチューブのお気に入りが消...
-
セゾンカードの2枚目のNet...
-
CDDBにデータが登録されるまで...
-
中国のファイル共有サイト115.c...
-
Benesseのマナビジョンで、氏名...
-
ヤマダモバイル機種変更
おすすめ情報