Ir ao conteúdo
  • Cadastre-se

Midori

Membros Plenos
  • Total de itens

    1.055
  • Registro em

  • Última visita

  • Qualificações

    0%

Tudo que Midori postou

  1. É 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).
  2. @KaKaBeCuDo É só mudar a atribuição de R para, Set R = Range(Target.Offset(3), Target.Offset(42))
  3. @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
  4. @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.
  5. @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
  6. @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
  7. @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
  8. @anders1405 Assumindo que os dados começam em C2, [C2].End(xlDown).Offset(-6).Resize(7, 1).Select
  9. @Nathanael Lacerda Coloque esta condição no loop, If Worksheets(lPlanAtual).Name <> "DADOS" Then ... End IF
  10. @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.
  11. @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;
  12. @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.
  13. 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.
  14. @crownics São variáveis que usei para as linhas de Cells
  15. 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
  16. @crownics Deu erro porque você não atribuiu nenhum valor a variável.
  17. @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 ...
  18. 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
  19. @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.
  20. Midori

    C++ Dica para exercicio Dev c++

    @Raphael21 Corrija os scanfs. Da forma que você fez é como se a função tivesse só um parâmetro: scanf("%d, &R1"); Esta é a forma correta: scanf("%d", &R1); Declare a variável Vout como float e calcule, Vout = R2/(float)(R1 + R2)*Vin;
  21. @Nathanael Lacerda Considerando p.ex as disciplinas em B2:B11 e a tabela 2 em C2:E7, Sub Macro() Dim L, C, I As Integer L = 2 C = 3 I = 2 Do Cells(L, C) = Cells(I, 2) If (I > 10) Then I = 1 If (L = 7) Then L = 1 C = C + 1 End If L = L + 1 I = I + 1 Loop Until C = 6 End Sub
  22. Você pode usar um vetor que represente o alfabeto para ir incrementando as posições e considerar apenas as que aparecem uma vez, int main(){ char palavra[30]; scanf("%s", palavra); printf("%d\n",letras_diferentes(palavra, strlen(palavra))); return 0; } int letras_diferentes(char palavra[] , int tam){ char aux[27] = {0}, a; int i = 0, t = 0; for(t=0;t<tam;t++){ a = palavra[t]; if(a>=65 && a<=90) a-=65; else a-=97; aux[a]++; if(aux[a]==1) i++; } return i; }
  23. Boa alternativa. Outra forma de carregar a matriz poderia ser assim, char idx[256]={0}; idx[65]='A'; idx[97]='a'; idx[69]='E'; idx[101]='e'; idx[73]='I'; idx[105]='i'; idx[79]='O'; idx[111]='o'; idx[85]='U'; idx[117]='u'; Pela quantidade de testes (OU) este código ainda não seria tão eficiente quando o outro com a matriz de referência, não é? #include <stdio.h> int main(){ char c, palavra[20]={0}, *p = palavra; int i = 0; while((c = fgetc(stdin)) != '\n'){ if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'|| c=='A'||c=='E'||c=='I'||c=='O'||c=='U'){ *p++ = c; } i++; } if(i % 2) printf("%s", palavra); return 0; }
  24. A função strchr também pode auxiliar nesse tipo de questão, int main(){ char palavra[20], *p = palavra; scanf("%s", p); if(strlen(p) % 2){ while(*p){ if(strchr("aeiou", *p)){ printf("%c\n", *p); } p++; } } return 0; }
  25. Midori

    C Struct Família em c

    Quando comparar os nomes/strings terá que usar a função strcmp, p.ex if(!strcmp(vetorPessoas[1].nome, vetorPessoas[0].pai))

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...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!