Quero dividir uma célula com dados em outras células com base nos dados da célula original. Os dados da célula original são assim (todo o conteúdo em uma única célula):
Field95-4,Field97-4,Field98-0,Field100-2,Field103-0,Field105-3,Field107-4,Field109-4,Field110-2,Field111-0,Field112-0,Field113-192,Field114-87,Field115-0,Field116-0,Field117-60
Ele deve ser dividido usando "," como delimitador. Eu descobri que eu poderia fazer isso com um script:
Private Sub CommandButton1_Click()
Dim X As Variant
X = Split(Range("A1").Value, ",")
Range("A1").Resize(UBound(X) - LBound(X) + 1).Value = Application.Transpose(X)
End Sub
Então o resultado é assim:
Field95-4
Field97-4
Field98-0
Field100-2
Field103-0
Field105-3
Field107-4
Field109-4
Field110-2
Field111-0
Field112-0
Field113-192
Field114-87
Field115-0
Field116-0
Field117-60
Cada valor é um único token que contém duas partes divididas por um hífen; o conteúdo original da célula e seu valor de substituição. O script deve procurar uma célula contendo a primeira parte do token, a parte 'fieldnumber'.
Por exemplo, há uma célula que contém o texto 'Field95' e uma célula com o texto 'Field97' etc. etc. Desejo substituir a primeira parte do token pela segunda parte. Portanto, para 'Field95-4', uma célula com o conteúdo 'Field95' deve ser encontrada e substituída pelo texto '4'. A célula com o conteúdo 'Field97' deve ser substituída por '4'. etc.
Este é um arquivo do Excel que eu enviei, para que você possa ver do que se trata minha pergunta. Ele contém os dados. ligação
Sei que é pedir muito, mas tentamos muito e não consigo fazê-lo funcionar.
Estou ansioso por suas respostas. Desde já, obrigado!
Respostas:
Supondo que seus valores estejam em um intervalo e seu intervalo de pesquisa e substituição não inclua esse intervalo , algo como isso pode funcionar (ajuste os intervalos, experimente uma cópia dos seus dados) -
fonte
for each c in range(
linha, diz "A: A", que é o intervalo em que você precisa alterar em que seus valores estão. Narange("B:B").cells.replace
linha, o "B: B" precisa ser alterado para o intervalo que você está pesquisando.