[[20210126161750]] 『全シートから特定の文字を含むセルを別のシートに』(がんばる事務員) >>BOT

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『全シートから特定の文字を含むセルを別のシートに一覧化し、一括修正』(がんばる事務員)

いつもお世話になっております。

全シート(複数のシート)から”図”と言う文字を含むセルを、
別のシートに一覧化して、一覧化したものを手入力で変更すると、元のデータも連動して変更されるような事は可能でしょうか。(一覧化されたシートから一括修正がしたいです。)

宜しくお願いいたします。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 置換ではだめなのですか?
(通りすがり) 2021/01/26(火) 17:24

 面白そうだったので作ってみました
 やっつけなので、それなりです。 

    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim aCell As Range
       Set Target = Intersect(Target, Me.Columns(2).Resize(Rows.Count - 1).Offset(1))

       On Error Resume Next
       For Each aCell In Target
           Application.Range(Target.Offset(, -1).Value) = aCell.Value
       Next
    End Sub

    Sub MakeFigureList()
      Dim ws As Worksheet
      Dim findCell As Range, firstCell As Range

      Application.EnableEvents = False

      Me.Cells.ClearContents
      Range("A1:B1").Value = Array("アドレス", "キャプション")
      i = 2
      For Each ws In ThisWorkbook.Worksheets
          Set firstCell = Nothing
          Set findCell = Nothing
          If ws.Name <> Me.Name Then
             Set findCell = ws.Cells.Find(What:="図", LookIn:=xlValues, LookAt:=xlPart)
             If Not findCell Is Nothing Then
                If firstCell Is Nothing Then Set firstCell = findCell
                Do
                   With Me.Cells(i, 1)
                      .Value = findCell.Address(External:=True)
                      .Offset(, 1).Value = findCell.Value
                      Me.Hyperlinks.Add Me.Cells(i, 1), Address:="", SubAddress:=findCell.Address(External:=True)
                   End With
                   i = i + 1
                   Set findCell = ws.Cells.FindNext
                Loop Until findCell.Address = firstCell.Address
             End If
          End If
      Next

      Application.EnableEvents = True

    End Sub
 2021/01/26(火) 17:36 一部修正しました
(´・ω・`) 2021/01/26(火) 17:36

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.