

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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
楽天RSSからエクセルVBAを使用...
-
VBAで変数の数/変数名を動的に...
-
Count Ifのセルの範囲指定に変...
-
Changeイベントで複数セルへの...
-
VBAコードについて
-
【マクロ】実行時エラー '424':...
-
Excel UserForm の表示位置
-
ロックされていないセル内をクリア
-
あああ..ああい..ああう とい...
-
特定の文字がある行以外を削除...
-
結合されたセルをプルダウンの...
-
別ブックをダイアログボックス...
-
VBAで、特定の文字より後を削除...
-
エクセルでセルをクリックする...
-
Excelの行数、列数を増やしたい...
-
【VBA】【ユーザーフォーム_Lis...
-
エクセルマクロで、他ブックか...
-
Excel VBA アクティブセルから...
-
空白セルをとばして転記
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
EXCELのSheet番号って変更でき...
-
VBA別シートの最終行の次行へ転...
-
VBA 空白行に転記する
-
マクロ実行後に別シートの残像...
-
Count Ifのセルの範囲指定に変...
-
楽天RSSからエクセルVBAを使用...
-
VBA 別ブックからの転記の高速...
-
VBAで変数の数/変数名を動的に...
-
Changeイベントで複数セルへの...
-
100万件越えCSVから条件を満た...
-
【Excel VBA】自動メール送信の...
-
VBA 実行時エラー1004 rangeメ...
-
エクセルでデータの比較をした...
-
アクセスからエクセルへ出力時...
-
Excel VBA オートフィルターで...
-
【VBA】データを各シートに自動...
-
複数シートの複数列に入力され...
-
Unionでの他のシートの参照につ...
-
VBA Userformで一部別シートに...
おすすめ情報