Concatena um intervalo com valores entre

0

Eu trabalho com dados de intervalo e quero preencher uma célula que inclua valores em incrementos definidos entre o mínimo e o máximo. Por exemplo, o diâmetro externo mínimo é de 1 1/16 "e o diâmetro externo máximo é de 1 11/32". Eu quero preencher uma terceira célula que inclui cada extremidade mais todos os valores entre os 32 de polegada: 1 1/16 "; 1 3/32"; 1 1/8 "; 1 5/32"; 1 3 / 16 "; 1 7/32"; 1 1/4 "; 1 9/32"; 1 5/16 "; 1 11/32"

Posso fazer isso no Excel 2007?

Até agora, estou apenas copiando e colando de uma lista mestre, delimitada por ponto e virgula, de todos os valores entre 1 1 / 64th e 2 "e, em seguida, voltando e copiando e substituindo" 1 "por" 2 "e adicionando-os à string e assim por diante.

Eu apenas tentei o código VBA do Madball73. Eu era capaz de obtê-lo para gerar valores iff o valor do número inteiro era o mesmo para cada limite e eu removi o ". Por exemplo, eu tentei 1 1/64 a 1 1/4 (e alterei o incremento para 0,015625 desde que este foi para o 64.) O código VBA retornou: "; 1 1/64"; 1 1/32 "; 1 3/64"; 1 1/16 "; 1 5/64"; 1 3/32 "; 1 7/64 "; 1 1/8"; 1 9/64 "; 1 5/32"; 1 11/64 "; 1 3/16"; 1 13/64 "; 1 7/32"; 1 15 / 64 "; 1 1/4"

Chegando mais perto!

Atualização: Ok, com um pouco de ajustes e adicionando o último "através da concatenação e aparando o anterior", eu sou capaz de fazer isso funcionar.

Atualização 2: parece que não está mais funcionando: (

    
por Elizabeth VO 10.04.2014 / 19:45

2 respostas

0

Aqui está uma função VBA personalizada para você. Use-o definindo sua fórmula: =IterateSizes(value(a1),value(a2))

Function IterateSizes(btmSize, topSize)
rtnValue = ""
incr = 0.03125

For i = btmSize To topSize Step incr
    fraction = Trim(Excel.WorksheetFunction.Text(i, "# ??/??"))
    rtnValue = rtnValue & """;" & fraction
Next i

IterateSizes = rtnValue
End Function

Nota. Ele foi rapidamente lançado e funciona para as poucas entradas que dei (que não incluíam as aspas duplas). Mas, isso não é totalmente testado não manipula entradas inválidas, não é testado limite, etc, mas é um ponto de partida.

    
por 10.04.2014 / 21:58
0

Há uma opção mais simples e não VBA aqui - Concatena um intervalo de células sem vba no excel

Existem os principais passos. Siga esse link para imagens, comentários e outros truques.

Create delimiting character

It would be great if we could have a character separating values. Here is how:

  • Select cell B2.
  • Type =A1:A50&", " in formula bar.
  • Edit: Depending on your regional settings, try this: =TRANSPOSE(A1:A50)&", "
  • Press F9.
  • Delete curly brackets in formula bar.
  • Delete last delimiting character.
  • Type =Concatenate( in front of all characters in formula bar.
  • Type ) after last character in formula bar.
  • Press Enter

Eu faço bastante isso e acho que essa pequena modificação é mais conveniente (Office 2016):

  • Como acima, insira algo como =A1:A50&" " e pressione F9
  • Exclua ={ do início e } do final e, em seguida, pressione Enter
  • Localize e substitua ( ctrl-H ) ";" por "&"
  • Adicione = ao início da célula
por 25.08.2015 / 20:24