Excel VBA質問箱 IV

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

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


68800 / 76733 ←次へ | 前へ→

【12459】Re:入力規則
回答  Asaki  - 04/4/5(月) 11:32 -

引用なし
パスワード
   とりあえず、↓のような感じで。。。
ThisWorkbook に貼り付けてください。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

  Dim varRet       As Variant
  Dim rngTarget      As Range
  Dim rngLoop       As Range
  Dim rngDel       As Range

  If ActiveWindow.SelectedSheets.Count <> 1 Then Exit Sub
  If Not IsSheetExist(Sh.Name) Then Exit Sub
On Error Resume Next
  Set rngTarget = Intersect(Target, Sh.Columns("G"))
On Error GoTo 0
  If rngTarget Is Nothing Then Exit Sub

  With Application
    .EnableEvents = False
    .ScreenUpdating = False
  End With
  For Each rngLoop In rngTarget
    If Trim(rngLoop.Value) <> "" Then
      If IsSheetExist(rngLoop.Value) Then
        If Sh.Name <> rngLoop.Value Then
          If rngDel Is Nothing Then
            Set rngDel = rngLoop
          Else
            Set rngDel = Union(rngDel, rngLoop)
          End If
          rngLoop.EntireRow.Copy _
            Destination:=Worksheets(rngLoop.Value).Cells(65536, 1).End(xlUp).Offset(1)
        End If
      End If
    End If
  Next rngLoop
  If Not rngDel Is Nothing Then rngDel.EntireRow.Delete Shift:=xlUp
  With Application
    .EnableEvents = True
    .ScreenUpdating = True
  End With

End Sub

'-- シート存在チェック
Function IsSheetExist(ByVal strVal As String) As Boolean
  Dim varRet     As Variant

  IsSheetExist = False
  varRet = Application.CountIf(Range("ListItem"), strVal)
  If IsError(varRet) Then Exit Function
  If CLng(varRet) = 0 Then Exit Function
  IsSheetExist = True

End Function

前提として、
どのシートもレイアウトが同じ
どのシートも2行目以降にデータ移動
A列は、データがあれば必ず入力されている
ListItemという名前で、入力規則のリストが設定されている

>ボタンを置くのが一番賢明な方法でしょうか?
賢明かどうかは知りませんが、個人的に嫌だというだけです。
先にも書きましたが、手が滑って違うものを選択したときに、そのデータがどこに行ったか判らなくなりそうなので。

6 hits

【12397】入力規則 まぬた 04/4/2(金) 12:40 質問
【12419】Re:入力規則 まぬた@初心者 04/4/2(金) 17:30 質問
【12425】Re:入力規則 Asaki 04/4/2(金) 20:38 回答
【12427】Re:入力規則 まぬた@初心者 04/4/2(金) 21:29 質問
【12433】Re:入力規則 Asaki 04/4/3(土) 12:34 回答
【12458】Re:入力規則 まぬた@初心者 04/4/5(月) 10:04 質問
【12459】Re:入力規則 Asaki 04/4/5(月) 11:32 回答
【12463】Re:入力規則 まぬた@初心者 04/4/5(月) 12:41 お礼
【12500】Re:入力規則 まぬた@初心者 04/4/6(火) 13:55 質問
【12505】Re:入力規則 Asaki 04/4/6(火) 14:26 発言
【12507】Re:入力規則 まぬた@初心者 04/4/6(火) 15:57 質問
【12511】Re:入力規則 Asaki 04/4/6(火) 16:11 回答
【12518】Re:入力規則 まぬた@初心者 04/4/6(火) 17:33 質問
【12519】Re:入力規則 Asaki 04/4/6(火) 17:37 回答
【12521】Re:入力規則 まぬた@初心者 04/4/6(火) 18:27 発言
【12524】Re:入力規則 まぬた@初心者 04/4/6(火) 20:06 質問
【12528】Re:入力規則 Asaki 04/4/6(火) 22:30 回答
【12538】Re:入力規則 まぬた@初心者 04/4/7(水) 9:56 質問
【12539】Re:入力規則 Asaki 04/4/7(水) 10:00 回答
【12544】Re:入力規則 まぬた@初心者 04/4/7(水) 11:26 質問
【12546】Re:入力規則 Asaki 04/4/7(水) 11:37 回答
【12553】Re:入力規則 まぬた@初心者 04/4/7(水) 13:37 質問
【12508】入力規則(便乗質問) SHOW 04/4/6(火) 15:58 質問
【12509】Re:入力規則(便乗質問) Asaki 04/4/6(火) 16:05 発言
【12554】Re:入力規則 Asaki 04/4/7(水) 13:52 回答
【12557】Re:入力規則 でれすけ 04/4/7(水) 14:38 発言
【12560】普通の入力規則ですが..。 Jaka 04/4/7(水) 15:54 回答
【12561】Re:普通の入力規則ですが..。 でれすけ 04/4/7(水) 17:12 発言
【12562】Re:普通の入力規則ですが..。 Jaka 04/4/7(水) 17:15 発言
【12563】Re:普通の入力規則ですが..。 Asaki 04/4/7(水) 17:23 発言
【12569】入力規則 まぬた@初心者 04/4/7(水) 18:24 お礼
【12570】Re:入力規則 まぬた@初心者 04/4/7(水) 19:13 お礼

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