Ir ao conteúdo

Midori

Membro Pleno
  • Posts

    3.601
  • Cadastrado em

  • Última visita

Tudo que Midori postou

  1. É só passar o caminho do arquivo para a propriedade TargetPath. As variáveis Temp e FileExt... não são do arquivo xlsx? Tente fazer assim, S.TargetPath = TempFilePath & TempFileName & FileExtStr
  2. @Douglas ianes Outra forma com Wsh, Dim Atalho, Pasta As String Dim W, S As Object Pasta = "C:\Users\douglas.i\Desktop\Nova pasta (2)\" Atalho = Pasta & ThisWorkbook.Name & ".lnk" Set W = CreateObject("Wscript.Shell") Set S = W.CreateShortcut(Atalho) S.TargetPath = ThisWorkbook.FullName S.IconLocation = Application.Path & "\Excel.exe" S.Save
  3. @KaKaBeCuDo Teste desta forma, veja se assim a inserção é feita, Sub InserirLinhaSemana_Teste() Dim L As Long L = [X:X].Find("REFERÊNCIA").Row ActiveSheet.Unprotect Rows(L + 2 & ":" & L + 3).Copy Rows(L + 2 & ":" & L + 3).Insert Shift:=xlDown Cells(L + 4, 19) = "2ª Parte" Application.CutCopyMode = xlCut ActiveSheet.Protect End Sub
  4. Inseri um valor na célula T71 da planilha NVMC1, cliquei no botão e não apresentou nenhum erro.
  5. @KaKaBeCuDo O erro acontece em ExcluirLinhaSemana1 quando a célula/linha que tem a REFERÊNCIA X é excluída. Nessa sub o correto não seria "Cells([Z:Z].Find " em vez de "Cells([X:X].Find"?
  6. Se puder disponibilizar o txt nesse formato talvez seja possível encontrar um padrão para importar para a planilha. Por exemplo, na primeira linha tem a palavra "Código" e na segunda "Descrição". Via macro seria possível usar isso como critério para importar as informações para os campos da planilha.
  7. É porque a formatação das células está como Texto. Selecione toda a coluna E da fórmula e escolha Formatar Célula > Categoria > Geral e Ok. Depois digite novamente a fórmula (ou F2 e ENTER sobre alguma fórmula).
  8. @KaKaBeCuDo É só mudar a atribuição de R para, Set R = Range(Target.Offset(3), Target.Offset(42))
  9. @KaKaBeCuDo Cole o código no módulo da planilha, Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim R As Range If Target.Row = 1 And Target.Offset(1) <> "" Then Set R = Range(Target.Offset(1), Target.End(xlDown)) R.Sort R, xlAscending End If End Sub
  10. @anders1405 Para selecionar todos tire a condição L < 7 do loop, mas dependendo da quantidade de linhas essa forma de seleção pode falhar. Acho melhor usar o Auto Filtro e selecionar os dados da filtragem.
  11. @Camila Haubert Crie um formulário com os botões e para abrir o formulário automaticamente use Workbook Open. O direcionamento pode p.ex assim, Private Sub OptionButton1_Click() Worksheets("Planilha1").Activate End Sub
  12. @anders1405 Sem considerar células filtradas e datas repetidas, Sub Macro() Dim L, I, D As Integer Dim V() As String I = [B2].End(xlDown).Row Do While L < 7 And I > 2 D = Now - Cells(I, 2) If D > 1 And D <= 8 Then ReDim Preserve V(L) V(L) = Cells(I, 2).Address L = L + 1 End If I = I - 1 Loop If L > 0 Then Range(Join(V, ",")).Select End Sub
  13. @anders1405 O ideal seria trabalhar apenas com as células visíveis da coluna, talvez algo com SpecialCells(xlCellTypeVisible), mas assim também dá certo, Sub Macro() Dim I, L, N, A As Integer I = [C2].End(xlDown).Row L = I N = I Do Until (I - L) = 7 Or (I - A) < 2 If Cells(I - A, 3).EntireRow.Hidden = False Then L = L - 1 N = Cells(I - A, 3).Row End If A = A + 1 Loop Range(Cells(I, 3), Cells(N, 3)).Select End Sub
  14. @anders1405 Assumindo que os dados começam em C2, [C2].End(xlDown).Offset(-6).Resize(7, 1).Select
  15. @Nathanael Lacerda Coloque esta condição no loop, If Worksheets(lPlanAtual).Name <> "DADOS" Then ... End IF
  16. @vitor.assuncao Você pode usar uma struct com estes registros, typedef struct trooper{ string nome; string planeta; int batalhas; }Trooper; Como os nomes dos planetas podem repetir durante o input, uma forma de totalizar e exibir as saídas é com dois loops sendo que o interno pode procurar o planeta e atribuir os valores que serão usados para calcular. for(i=0;i<quantidade;i++){ planeta=t[i].planeta; if(planeta!=""){ total = qtd = 0; for(int n=0;n<quantidade;n++){ if(planeta == t[n].planeta){ total+=t[n].batalhas; t[n].planeta=""; qtd++; } } } } As variáveis total e qtd podem ser usadas para calcular a média e a variável planeta na condicional para exibir os cálculos de cada planeta.
  17. @Jorge Curvelo Para mover os elementos o For pode iniciar da posição do índice que o usuário quer remover. A substituição será feita do elemento atual pelo próximo. Depois atribua 0 ao último, p.ex. for(int i = posicao; i < tamanho - 1; i++){ Elemento[i] = Elemento[i + 1]; } Elemento[tamanho-1]=0;
  18. @DaviCN A tabela 2 deve que ser gerada em um range sem dados e a macro usa os dados da tabela 1 durante a execução, então teria que copiar a 2 sobre a 1 depois desse processo.
  19. Para resolver isso você pode congelar as linhas do gráfico em Exibir > Congelar Painéis. Aí mesmo que o foco fique nas linhas o gráfico continuará visível.
  20. @crownics São variáveis que usei para as linhas de Cells
  21. Sub Macro() Dim I As Integer Dim C As Integer I = 2 C = 2 Do While Cells(I, 3) <> "" If Cells(I, 3) = "Em trânsito" Then Sheets("Cópia").Cells(C, 1) = Cells(I, 1) C = C + 1 End If I = I + 1 Loop End Sub
  22. @crownics Deu erro porque você não atribuiu nenhum valor a variável.
  23. @crownics Incrementando as variáveis das linhas em um loop você pode pegar e copiar esses registros, p.ex ... If Cells(I, 3) = "Em trânsito" Then Sheets("Cópia").Cells(C, 1) = Cells(I, 1) C = C + 1 End If I = I + 1 ...
  24. Para selecionar todos use ClearAllFilters e para desativar vazio atribua false para o item blank, With ActiveSheet.PivotTables("Tabela dinâmica1").PivotFields("Data") .ClearAllFilters .PivotItems("(blank)").Visible = False End With
  25. @Nathanael Lacerda Para pegar as disciplinas e preencher a outra tabela usei Cells para referenciar as células pelo número da linha e coluna delas (que são as variáveis). O loop além de incrementar essas variáveis testa algumas condições; If (I > 10) para reiniciar a contagem da variável (I) dos registros da Tabela 1; If (L = 7) para reiniciar a variável que conta as linhas (L) da Tabela 2 e incrementar a variável da coluna (C). O loop termina quando C (coluna da Tabela 2) chega a 6.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!