VBAド素人でネット参考に切って貼って編集して動くようにしていますm(__)m
うまくいきません、どのようにしたらよいのでしょうか?
Userformを開いて作業するシートはこのフォームで管理番号と使用者の該当する行を削除します
使用者(ComboBox1)条件抽出の為
管理番号(ComboBox6)条件抽出の為
メモ(ComboBox7)転記先シート”機器情報”
メモには在庫または使用を入力し別シートの管理番号行の転記する列はM列になります
わかる方からしたら酷いコードでしょうけどこんな感じです
Private Sub CommandButton1_Click()
Dim I As Integer
Dim iCheck As Integer
Dim sht As Worksheet
Dim RowNum As Long
Dim a
If Me.TextBox1 = "" Then
MsgBox "日付が入力されてません"
Exit Sub
End If
If Me.ComboBox1 = "" Then
MsgBox "使用者名が入力されてません"
Exit Sub
End If
For I = 2 To 1000
If Cells(I, 3).Value = "" Then Exit For
Next
'重複チェック
iCheck = I
For iCheck = 1 To I
'メモ/在庫変更
If Worksheets("機器情報").Cells(iCheck, 2) = ComboBox6 Then
Worksheets("機器情報").Cells(I, 13).Value = ComboBox7
Exit Sub
End If
If Cells(iCheck, 3).Value = Me.ComboBox6.text Then
MsgBox "PC名が重複してます"
Cells(iCheck, 3).Select
Exit Sub
End If
Next
'連番
Cells(I, 1).Value = I - 2
'編集日
Cells(I, 2).Value = CDate(TextBox1.Value)
'PC名
Cells(I, 3).Value = Me.ComboBox6
'使用者名
Cells(I, 15).Value = Me.ComboBox1
Cells(iCheck, 3).Select
Me.ComboBox6.SetFocus
Me.ComboBox6.text = ""
Me.ComboBox1.text = ""
Exit Sub
End Sub
'機器リスト表示
Private Sub UserForm_Initialize()
Dim lRow As Long
With Worksheets("機器在庫数")
lRow = .Range("M" & Rows.Count).End(xlUp).Row
End With
With ComboBox6
.ColumnCount = 12
.ColumnWidths = "\55;0;60;0;0;0;0;70;0;0;0;30"
.RowSource = "機器在庫数!A2:M1000" & lRow
End With
End Sub
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>【期待と現実】ってなに?
どのデータをどこに代入させたいけど、結果として意図しない場所に代入されてしまう。
とかを考えてました。
・ActiveSheet
・Worksheets("機器情報")
の2シートが対象なのか、
・ActiveSheet = Worksheets("機器情報")
になっているのかも不明。
だってSheet名を明確にしている部分と、それを省いている(アクティブなシート狙い?)部分の違いが不明。
もし代入されるシートが狙っている箇所でないなら、Sheet名の無指定が要因として挙げられると回答も可能。
それが【期待と現実】。
タイトルにあるのは【目的】じゃないかな。
No.1
- 回答日時:
【うまくいかない】から質問されているのでしょうけど、【期待と現実】をハッキリ記載した方が宜しいのでは?
>'重複チェック
>iCheck = I
この代入の必要性は次の
>For iCheck = 1 To I
から必要ない事はわかりますが。
>.RowSource = "機器在庫数!A2:M1000" & lRow
これも気になるのですが、本当は
.RowSource = "機器在庫数!A2:M" & lRow
こうされたい訳でもない?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
グラフマクロで系列を変数にす...
-
100万件越えCSVから条件を満た...
-
EXCELのSheet番号って変更でき...
-
Excel VBA オートフィルターで...
-
Excel2013で切り取り禁止
-
Excelで横書き50行の漢字テス...
-
VBAを使って複数のシートから抽...
-
楽天RSSからエクセルVBAを使用...
-
VBA 空白行に転記する
-
エクセル 複数シートの同一セ...
-
マクロ実行後に別シートの残像...
-
アクセスからエクセルへ出力時...
-
テキストボックスから、複数の...
-
月毎に現金出納帳に転記するコ...
-
複数シートの複数列に入力され...
-
Count Ifのセルの範囲指定に変...
-
vba 連続するとうまく作動せず
-
VBA 別ブックからの転記の高速...
-
VB2005でExcelのグラフのデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
マクロ実行後に別シートの残像...
-
VBAコードについて
-
VBA 空白行に転記する
-
EXCELのSheet番号って変更でき...
-
VBA 別ブックからの転記の高速...
-
【VBA】特定の条件でセルをコピー
-
VBA別シートの最終行の次行へ転...
-
100万件越えCSVから条件を満た...
-
VBAで変数の数/変数名を動的に...
-
Changeイベントで複数セルへの...
-
楽天RSSからエクセルVBAを使用...
-
Count Ifのセルの範囲指定に変...
-
Unionでの他のシートの参照につ...
-
Excel2013で切り取り禁止
-
Excel VBA オートフィルターで...
-
VBA 実行時エラー1004 rangeメ...
-
複数シートの複数列に入力され...
-
VBA Userformで一部別シートに...
-
ExcelのVBマクロを、バックグラ...
おすすめ情報