Eu quero escrever um código em vba com dividir as matrizes em uma célula para várias linhas [fechado]

0

Estou tentando dividir dados de uma única célula para várias linhas, conforme mostrado abaixo.

Estouusandoocódigoabaixo:

SubTransposeRange()DimrngAsRangeDimInputRngAsRange,OutRngAsRangexTitleId="Splitcell"
Set InputRng = Application.Selection.Range("A1")
Set InputRng = Application.InputBox("Range(single cell) :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Arr = VBA.Split(InputRng.Range("A1").Value, Chr(9))
OutRng.Resize(UBound(Arr) - LBound(Arr) + 1).Value = Application.Transpose(Arr)
End Sub
    
por user850468 06.12.2017 / 11:12

1 resposta

1

Certifique-se de que sua célula de entrada tenha guias horizontais. Seu código:

Sub TransposeRange()
    Dim rng As Range
    Dim InputRng As Range, OutRng As Range

    xTitleId = "Splitcell"
    Set InputRng = Application.Selection.Range("A1")
    Set InputRng = Application.InputBox("Range(single cell) :", xTitleId, InputRng.Address, Type:=8)
    Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)

    Arr = VBA.Split(InputRng.Range("A1").Value, Chr(9))
    OutRng.Resize(UBound(Arr) - LBound(Arr) + 1).Value = Application.Transpose(Arr)
End Sub

Resultado típico:

    
por 06.12.2017 / 14:38