Excel VBA質問箱 IV

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

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


38308 / 76738 ←次へ | 前へ→

【43569】Re:特殊なコピーできますか?
回答  Kein  - 06/10/19(木) 12:31 -

引用なし
パスワード
   まず初めに・・

Sub Data_Copy()
  With Sheets("Sheet2")
   Sheets("Sheet1").Range("X24:X65536").SpecialCells(2) _
   .Copy .Range("E23")
   With .Range("E23", .Range("E65536").End(xlUp))
     .Replace "監督人", 1
     .SpecialCells(2, 1).Delete xlShiftUp
   End With
   .Activate
  End With
End Sub

↑これを"一回だけ"実行して下さい。
Sheet2のE23以下に、人名だけが並んでコピーされているのを確認し、
Sheet1 のシートモジュールに、以下のイベントマクロを入れて下さい。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Mnm As String

  If Intersect(Target, Range("Z23:Z65536")) Is _
  Nothing Then Exit Sub
  With Target
   If .Count > 1 Then GoTo ELine
   If IsEmpty(.Value) Then Exit Sub
   If IsNumeric(.Value) Then GoTo ELine
   If .Value = "監督人" Then Exit Sub '←追加
   Mnm = .Value
  End With
  With Worksheets("Sheet2")
   If Not IsError(Application.Match(Mnm, .Range("E:E"), 0)) Then
     MsgBox "その名前は入力済みです", 48: GoTo ELine
   End If
   .Range("E65536").End(xlUp).Offset(1).Value = Mnm
  End With
  MsgBox Mnm & vbLf & "を転記しました", 64: Exit Sub
ELine:
  Application.EnableEvents = False
  Target.ClearContents
  Application.EnableEvents = True
End Sub
0 hits

【43523】特殊なコピーできますか? 無頼斎 06/10/18(水) 18:19 質問
【43525】Re:特殊なコピーできますか? Statis 06/10/18(水) 19:08 質問
【43563】Re:特殊なコピーできますか? 無頼斎 06/10/19(木) 11:30 発言
【43528】Re:特殊なコピーできますか? Kein 06/10/18(水) 19:26 回答
【43564】Re:特殊なコピーできますか? 無頼斎 06/10/19(木) 11:40 発言
【43569】Re:特殊なコピーできますか? Kein 06/10/19(木) 12:31 回答
【43570】Re:特殊なコピーできますか? Kein 06/10/19(木) 12:34 発言
【43594】Re:特殊なコピーできますか? 無頼斎 06/10/19(木) 16:31 発言
【43598】Re:特殊なコピーできますか? Kein 06/10/19(木) 20:58 発言
【43615】Re:特殊なコピーできますか? 無頼斎 06/10/20(金) 1:04 お礼

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