célula de formato Excel com seu valor sobre o valor de outra célula

1

Eu tenho um número na A1 (digamos que é 10 ). Isso representa o número de respostas em um teste.

Em B1, tenho o número de respostas corretas do teste (digamos que esse número seja 6 ).

Em B1, quero poder digitar o número 6 e exibi-lo como 6/10 (o /10 sendo extraído da célula A1).

O valor da célula ainda é 6 apenas. Isso é apenas para o efeito visual e a célula real pode ter fórmulas feitas nela e assim por diante.

Se eu selecionar B1 e digitar o número 7 , ele deverá ser atualizado visualmente como 7/10

Isso é possível sem coisas extravagantes do VBA? Muito obrigado

    
por Thomas Clayson 26.08.2014 / 15:58

3 respostas

1

Você poderia usar a próxima célula e adicionar '/ 10 nela para mostrar /10 . Assim, você pode ver isso como visual. Como alternativa, você pode usar essa fórmula em uma nova célula =TEXT.CONCATENATE(A1,"/10") , que fornecerá 6/10 como valor e atualizará isso quando A1 for alterado.

Observe que você pode ter uma planilha diferente na qual a fórmula text.concatenate é inserida, para que você possa ter uma planilha com todos os valores e outra para visualizar os resultados. Apenas certifique-se de que ambas as folhas fazem parte da mesma pasta de trabalho.

    
por 26.08.2014 / 16:20
1

Receio que isso não seja possível sem "coisas extravagantes do VBA". O melhor que você pode fazer sem o VBA é atribuir um formato personalizado a B1 com o valor de A1 codificado no formato.

Para definir o formato dessa forma, clique com o botão direito do mouse em B1 e selecione Format Cells... . Escolha a categoria Custom e digite o seguinte formato.

#"/10"

Mas é claro que você pode conseguir o que deseja com o VBA sem muita complicação.

Você só precisará adicionar o código abaixo ao módulo associado à planilha com essas células.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A1")) Is Nothing Then
    Me.Range("B1").NumberFormat = "#" & Chr(34) & "/" & CStr(Me.Range("A1").Value) & Chr(34)
End If
End Sub

Esse código é acionado toda vez que um valor é alterado na planilha. Se o valor que muda for A1 , ele redefinirá o formato numérico para B1 . Se o valor alterado estiver em uma célula diferente, ele não fará nada.

Para obter instruções sobre como adicionar esse código à sua pasta de trabalho, consulte minha resposta aqui . Certifique-se de seguir as etapas para adicionar o código que é acionado por um evento.

    
por 26.08.2014 / 16:28
1

Como solução, você pode tentar fazer um formato personalizado

#"/10"

A coisa ruim é que o / 10 é manual, você não pode se referir a uma célula. No entanto, você pode simplesmente selecionar um grupo de células e aplicar essa formatação!

Para fazer isso, clique com o botão direito do mouse em uma célula e selecione o formato das células.

Na parte inferior da categoria (na guia Número), selecione personalizado

Digite o código acima na caixa de texto (sobre gravação, o que já está lá, uma vez que irá salvá-lo automaticamente como uma nova entrada).

Agora, aplique esta formatação às células que você deseja. Naturalmente, não detectará se os valores são precisos, como 12/10!

    
por 26.08.2014 / 16:34