Como posso preencher automaticamente uma série no excel, com base no valor de outra célula?

0

Como altero automaticamente o comprimento de uma coluna com os números 0-n , em que n = a number in a certain field ?

Estou pensando em algo assim:

EDITAR:Parecequeeueraruimemexplicarexatamenteoqueeugostaria.AquiestáumasegundatentativaEstouprocurandoumasoluçãoquemepermitainserirumnúmeroemumcampoquecrieumacolunadenúmerosde0aonúmerodeentrada.Vejacomoficariacomnúmerosdiferentes.Nota:Eusóprecisodeumcampoparaentradadenúmeros,oquecriariaacolunadenúmeros,conformeilustrado.

    
por Mike Haye 16.12.2014 / 14:33

2 respostas

0

Isso faz o que você quer.

No seu exemplo, você tem 4 colunas (C, D, E e F). Bem, você poderia adicionar outro (G, H, I, J etc) e o código abaixo ainda será executado para todas essas colunas.

Você precisará dizer algumas coisas, como rowsRequired (neste caso, esta é a linha 2, é a linha onde você define os requisitos (como quantos valores você quer)).

Você precisa dizer qual linha para iniciar os resultados, neste caso eu escolhi a linha 4

Você precisa dizer a coluna inicial, neste caso C

Sub DoTheThing()

@AHOY ME HEARTIES, SEE BELOW FOR WHAT YE CAN EDIT

Dim rowsRequired As Integer
rowsRequired = 2  ' THIS IS THE ROW NUMBER WHERE YOU ENTER THE NUMBER YOU WANT TO SEE

Dim startingRow As Integer
startingRow = 4 ' THIS IS THE ROW NUMBER YOU WANT TO START SHOWING RESULTS

Dim startingColumn As String
startingColumn = "C" ' THIS IS THE FIRST COLUMN

'I SUGGEST YOU LEAVE THE BELOW ALONE LESS YE WALK THE PLANK

Dim startingColumnInt As Integer
startingColumnInt = Asc(startingColumn)

Do While (Range(Chr(startingColumnInt) & rowsRequired).Value <> "")

    Dim valToUse As String
    valToUse = Range(Chr(startingColumnInt) & rowsRequired).Value

    Dim row As Integer
    row = startingRow

    Dim i As Integer
    For i = 0 To valToUse

        Range(Chr(startingColumnInt) & row).Value = i
        row = row + 1
    Next i

    startingColumnInt = startingColumnInt + 1
Loop

End Sub

Antes

ApósaexecuçãodoVBa

Como eu adiciono o VBA no MS Office?

Lembre-se de que, com o VBa, não há botão de desfazer (normalmente), portanto, salve primeiro ou crie um backup!

    
por 18.12.2014 / 09:43
1

Aqui está um código para você começar (baseado no posicionamento da célula na sua imagem).

Sub SeriesFill()
    Dim RowCount As Long
    Range("C4:C1000").Cells.Clear
    RowCount = Range("C2").Cells.Value + 4
    Range("C4").Cells.Value = "0"
    Range("C4").AutoFill Destination:=Range("C4:C" & RowCount), Type:=xlFillSeries
End Sub

Isso foi testado no Excel 2010. Você precisará determinar como ativá-lo e modificá-lo para funcionar em outras colunas.

    
por 17.12.2014 / 16:29