Se você quiser atualizar a planilha2 quando os dados da planilha1 forem modificados, você poderá usar o VBA para criar uma página resultante que seja atualizada dinamicamente.
- Na guia do desenvolvedor, clique em básico visual.
- Expanda a pasta Objetos do Microsoft Excel e visualize o código da Planilha1
-
Crie uma nova função chamada:
Private Sub Worksheet_ChangeByVal Target As Range) EndSub
Esta função é chamada sempre que os dados na planilha1 são modificados.
Para atualizar os dados com base na coluna de classificações e fazer essas suposições:
Os dados estão dentro dessas colunas Nome: coluna A, Idade: coluna B, Sexo: coluna C, Categoria: coluna D, Classificação geral: coluna E
Na subpasta Worksheet_Change, compare o valor na coluna E, a coluna de classificação e transfira o conteúdo da linha se o concorrente tiver colocado nas quatro primeiras posições.
'If data is changed within column 5 (ranking column), repopulate worksheet2
If Target.Column = 5 Then
'Remove all of the old rows except the header
Sheets(2).Rows("2:" & CStr(Sheets(2).UsedRange.Rows.Count)).EntireRow.Delete
'For each row on worksheet1 check if the value in column "E", if the ranking column is less than 4, if it is copy the row onto worksheet2
Dim rowCounter As Integer: rowCounter = 1
For i = 1 To Sheets(1).UsedRange.Rows.Count Step 1
If (Sheets(1).Range("E" & CStr(i)).Value < 4 And Sheets(1).Range("E" & CStr(i)).Value <> "") Then
Sheets(2).Range("A" & CStr(rowCounter + 1)).Value = Sheets(1).Range("A" & CStr(i)).Value
Sheets(2).Range("B" & CStr(rowCounter + 1)).Value = Sheets(1).Range("B" & CStr(i)).Value
Sheets(2).Range("C" & CStr(rowCounter + 1)).Value = Sheets(1).Range("C" & CStr(i)).Value
Sheets(2).Range("D" & CStr(rowCounter + 1)).Value = Sheets(1).Range("D" & CStr(i)).Value
Sheets(2).Range("E" & CStr(rowCounter + 1)).Value = Sheets(1).Range("E" & CStr(i)).Value
rowCounter = rowCounter + 1
End If
Next i
End If
Insira um algoritmo de classificação aqui, se necessário, após os dados terem sido migrados.
Se você precisar de mais detalhes ou ajudar com a classificação, informe-nos.