Página 1 de 1

Inserir Datas específicas em células vazias.

Enviado: 03 Dez 2018 às 11:20
por CarlosAlberto
Olá amigos, bom dia!

Como sempre, estou pedindo ajuda novamente aqui no fórum.

Em anexo está o arquivo que preciso de ajuda.

Precisava de uma macro que inseri-se o mês de venda das casas na coluna "Recurso Lib".

O que a macro fará? Ela pegará a data de venda escrita na Célula ("B2"), replicará a informação de acordo com a quantidade X que estará preenchida em ("B3"), na coluna referente a obra preenchida em ("B4"), e colará a data de venda na coluna "Recurso Lib" referente a obra preenchida em ("B4"), somente nas células vazias ("") ou com "-".

As células que já tem data nas colunas "Recurso Lib", significa que a casa já foi vendida. A macro só trabalhará com Células vazias e com "-". As células que estão vazias, significam que as casas ainda não foram vendidas.

Em resumo, o que ela fará? Essa macro criará uma projeção de vendas de acordo b2(Mês de venda), b3(quantidade de casas vendidas), b4(obra que a casa será vendida).


Como sempre, obrigado!!

Inserir Datas específicas em células vazias.

Enviado: 04 Dez 2018 às 07:46
por CarlosAlberto
Bom dia, alguem consegue me ajudar?

Se não ficou muito claro, posso reformular a idéia.

Achei uma macro na net, mais não atende aos critérios que preciso :/.


Sub InserirDados()
Dim RefRange As Range
Set RefRange = Range("A1").End(xlDown).Offset(1, 0)
Set Categoria = RefRange.Offset(0, 1)
Set Quantidade = RefRange.Offset(0, 2)
Set Valor = RefRange.Offset(0, 3)
RefRange.Value = RefRange.Offset(-1, 0).Value + 1
Categoria.Value = InputBox("Categoria")
Quantidade.Value = InputBox("Quantidade")
Valor.Value = InputBox("Valor")
End Sub

Re: Inserir Datas específicas em células vazias.

Enviado: 04 Dez 2018 às 10:13
por osvaldomp
Experimente:
Código: Selecionar todos
Sub LançaDatas()
 Dim k As Long, v As Long, h As Range, FR As Long, i As Long, x As Long
  k = [B5:O5].Find([B4]).Column
  v = Columns(k + 1).Find("", after:=Cells(9, k + 1)).Row
  Set h = Range(Cells(9, k + 1), Cells(Rows.Count, k + 1).End(3)).Find("-")
   If Not h Is Nothing Then
    FR = Application.Min(h.Row, v)
   Else: FR = v
   End If
    Do Until i = [B3]
     If Cells(FR + x, k + 1) = "" Or Cells(FR + x, k + 1) = "-" Then
      Cells(FR + x, k + 1) = [B2]: i = i + 1
     End If
     x = x + 1
    Loop
End Sub
obs. para facilitar o trabalho de quem estiver disposto a te ajudar, na próxima vez coloque na planilha apenas a quantidade de linhas com dados que representem todas as variações possíveis de ocorrer e coloque as explicações na própria planilha