Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


52630 / 76736 ←次へ | 前へ→

【28941】Re:チェックボックスを含む行の追加
発言  ponpon  - 05/9/19(月) 1:02 -

引用なし
パスワード
   こんばんは。

一応考えてみましたが、これでうまくいくように見えますが、もしダメなら
仕様を変更することをお勧めします。印刷用のチェックなら、ichinoseさん
からも案が出ています。

チェックボックスを特定するために、以下のように修正してください。
チェックボックスに社員番号を追加し、特定します。


>////////////////////////////////////////////////////
>登録ボタン処理内容
>ユーザーフォーム上のコマンドボタンで入力項目を入力すると
>各シートに反映されます。
>
>各シートはA列職務、B列社員名、C列社員番号です。
>上期シートのチェックボックスはX列です。
>
>////////////////////////////////////////////////////
>Private Sub 登録ボタン_Click()
>  
>  Dim myR As Range
>  Dim chcB As Object
>  Dim myLeft As Single, myTop As Single
>  Dim myWidth As Single, myHeight As Single
>  Dim A As Variant
>  Dim B As Variant
>  Dim i As Integer
> 
>  If Me.社員番号TextBox1 = "" Then
>   MsgBox "社員番号を入力してください。"
>  ElseIf Me.社員名TextBox1 = "" Then
>   MsgBox "社員名を入力してください。"
>  ElseIf Me.社員登録ComboBox1 = "" Then
>   MsgBox "職務を入力してください。"
>  
>  Else
>  
>  '上期に登録
>  With Worksheets("上期")
>   A = Application.Match(Me.社員名TextBox1.Text, .Range("B:B"), 0)
>   B = Application.Match(Val(Me.社員番号TextBox1.Text), .Range("C:C"), 0)
>  
>   If Not IsError(A) Then
>    MsgBox "この人は登録済みです。"
>    Exit Sub
>   ElseIf Not IsError(B) Then
>    MsgBox "この社員番号は登録済みです。"
>    Exit Sub
>   End If
>
>    With .Range("A65536").End(xlUp)
>      .Offset(1, 0).Value = Me.社員登録ComboBox1.Text
>      .Offset(1, 1).Value = Me.社員名TextBox1.Text
>      .Offset(1, 2).Value = Me.社員番号TextBox1.Text
>      Set myR = .Offset(1, 23)
>       myTop = myR.Top
>       myLeft = myR.Left
>       myWidth = myR.Width
>       myHeight = myR.Height
>    End With
>    Set chcB = .CheckBoxes.Add(myLeft, myTop, myWidth, myHeight)
       chcB.Characters.Text = StrConv(Me.TextBox1.Text, vbNarrow) ’★
>   End With
>  
>     
>   'マ集計各月に登録
>   For i = 1 To 12
>   With Worksheets(i & "月")
>   A = Application.Match(Me.社員名TextBox1.Text, .Range("B:B"), 0)
>   B = Application.Match(Val(Me.社員番号TextBox1.Text), .Range("C:C"), 0)
>  
>   If Not IsError(A) Then
>    MsgBox "この人は登録済みです。"
>    Exit Sub
>   ElseIf Not IsError(B) Then
>    MsgBox "この社員番号は登録済みです。"
>    Exit Sub
>   End If
>
>    With .Range("A65536").End(xlUp)
>      .Offset(1, 0).Value = Me.社員登録ComboBox1.Text
>      .Offset(1, 1).Value = Me.社員名TextBox1.Text
>      .Offset(1, 2).Value = Me.社員番号TextBox1.Text
>    End With
>   End With
>   Next
>       
>   Me.社員番号TextBox1 = ""
>   Me.社員名TextBox1 = ""
>   Me.社員登録ComboBox1 = ""
>   
>  End If
>  
>End Sub
>
>//////////////////////////////////////////////////////////////////
>削除ボタン処理内容
>ユーザーフォーム上の削除ボタンで、入力された検索番号(=社員番号)に
>相当する各シートの行を削除します。
>
>/////////////////////////////////////////////////////////////////
>
>Private Sub 削除ボタン_Click()
>  
>  Dim myRow As Variant
>  Dim myRowtsuki As Variant
>  Dim ans As Variant
>  Dim i As Integer
>   
>   If Me.検索番号TextBox1.Text = "" Then
>    MsgBox "検索番号を入力してください。"
>   Else
>   With Worksheets("上期")
>    myRow = Application.Match(Val(Me.検索番号TextBox1.Text), .Range("C:C"), 0)
>     If IsError(myRow) Then
>      MsgBox "既に削除されています。"
>      検索番号TextBox1.Text = ""
>      Exit Sub
>     End If
>    ans = MsgBox("削除してもよいですか?", vbYesNo)

     If ans = vbYes Then
      For Each chcB In .CheckBoxes
       If chcB.Characters.Text = .Cells(myRow, "C").Text Then
        chcB.Delete
       End If
      Next
     .Cells(A, "B").EntireRow.Delete shift:=xlUp
           
>      For i = 1 To 12
>       With Worksheets(i & "月")
>       myRowtsuki = Application.Match(Val(Me.検索番号TextBox1.Text), .Range("C:C"), 0)
>       .Cells(myRowtsuki, "C").EntireRow.Delete shift:=xlUp
>       End With
>      Next
>      
>      検索番号TextBox1.Text = ""
>      検索社員名TextBox1.Text = ""
>      検索現行職務TextBox1.Text = ""
>
>      Else
>      Exit Sub
>    End If
>   
>   End With
>   End If
> 
>End Sub
0 hits

【28685】チェックボックスを含む行の追加 toki 05/9/12(月) 21:27 質問
【28686】Re:チェックボックスを含む行の追加 ichinose 05/9/12(月) 21:54 発言
【28687】Re:チェックボックスを含む行の追加 toki 05/9/12(月) 22:43 質問
【28689】Re:チェックボックスを含む行の追加 ponpon 05/9/12(月) 23:36 発言
【28699】Re:チェックボックスを含む行の追加 toki 05/9/13(火) 8:45 お礼
【28722】Re:チェックボックスを含む行の追加 toki 05/9/13(火) 16:19 質問
【28736】Re:チェックボックスを含む行の追加 ponpon 05/9/13(火) 20:24 発言
【28746】Re:チェックボックスを含む行の追加 toki 05/9/13(火) 22:07 お礼
【28756】Re:チェックボックスを含む行の追加 ponpon 05/9/13(火) 23:32 発言
【28757】Re:チェックボックスを含む行の追加 toki 05/9/13(火) 23:52 質問
【28758】Re:チェックボックスを含む行の追加 ponpon 05/9/14(水) 0:44 発言
【28763】Re:チェックボックスを含む行の追加 toki 05/9/14(水) 9:18 お礼
【28937】Re:チェックボックスを含む行の追加 toki 05/9/18(日) 22:59 質問
【28938】Re:チェックボックスを含む行の追加 ponpon 05/9/18(日) 23:48 発言
【28939】Re:チェックボックスを含む行の追加 Hirofumi 05/9/19(月) 0:35 発言
【28945】Re:チェックボックスを含む行の追加 toki 05/9/19(月) 10:04 お礼
【28941】Re:チェックボックスを含む行の追加 ponpon 05/9/19(月) 1:02 発言
【28942】Re:チェックボックスを含む行の追加 ponpon 05/9/19(月) 1:08 発言
【28946】Re:チェックボックスを含む行の追加 toki 05/9/19(月) 10:15 お礼
【28696】Re:チェックボックスを含む行の追加 ichinose 05/9/13(火) 7:23 発言
【28700】Re:チェックボックスを含む行の追加 toki 05/9/13(火) 8:46 お礼

52630 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free