-
Posts
3.601 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Midori postou
-
Editar varios documentos do Microsoft Word 2010
Midori respondeu ao tópico de luis.gondim em Microsoft Office e similares
@23lrcosta Você pode usar uma macro. Nesta abro o arquivo Teste.docx e edito o cabeçalho e rodapé do arquivo. Para abrir vários documentos é só colocar um loop para pegar por exemplo todos os docx de um determinado diretório. Sub Macro() Dim ArquivoDoc As Document Set ArquivoDoc = Documents.Open("C:\Teste.docx") With ArquivoDoc.Sections(1) .Headers(wdHeaderFooterPrimary).Range.Text = "NOVO CABEÇALHO" .Footers(wdHeaderFooterPrimary).Range.Text = "NOVO RODAPÉ" End With End Sub -
Excel índice.corresp - pesquisa em duas abas diferentes para retornar valores
Midori respondeu ao tópico de Fagner Toledo em Microsoft Office e similares
Você pode colocar a uma das fórmulas onde a outra encontra o erro. Por exemplo, na coluna certidão/ofício célula b3 =SEERRO(ÍNDICE(OFÍCIO!A:A;CORRESP(A3;OFÍCIO!T:T;0));SEERRO(ÍNDICE(CO!A:A;CORRESP(A3;CO!Q:Q;0));"FALTA PREENCHIMENTO")) -
Excel Repetir informação da célula acima
Midori respondeu ao tópico de Rodrigo Trevas em Microsoft Office e similares
Veja se esta resolve. Cole em B2 e depois copie e cole para as outras células, =SE(A2="Tipo Desembolso";C2;B1) -
Excel Extrair mais de um dado de uma célula
Midori respondeu ao tópico de Yskhadar em Microsoft Office e similares
@Yskhadar Fiz outro código mais simples e com o tratamento do caso de 1 seção, Sub Macro() Dim PlanTRE As Worksheet Dim A1, A2 As Range Dim L, U As Integer On Error GoTo FIM Set PlanTRE = ThisWorkbook.Worksheets("TRE PR (2)") For L = 2 To 4892 Set A1 = PlanTRE.Cells(L, 1).Resize(1, 8) Set A2 = PlanTRE.Cells(L, 1).Offset(0, 9) If A2.Offset(0, 1) <> "" Then Set A2 = PlanTRE.Range(A2.Address & ":" & A2.End(xlToRight).Address) End If With ThisWorkbook.Worksheets("Listagem") U = .Range("A1048576").End(xlUp).Row + 1 A1.Copy .Cells(U, 1).Resize(A2.Columns.Count, 1).PasteSpecial A2.Copy .Cells(U, 9).PasteSpecial Transpose:=True End With Next L FIM: If Err.Number = 1004 Then MsgBox "Erro" End Sub -
Excel Extrair mais de um dado de uma célula
Midori respondeu ao tópico de Yskhadar em Microsoft Office e similares
@Yskhadar Agora vi que tinha alguns problemas no código, fiz uma correção e coloquei um If para tratar o caso onde tenha apenas uma seção. Isso deixava a macro bugada no Area2. Sub Macro() Dim Celula As Range Dim Area1, Area2 As Range Dim LinhaListagem As Long On Error GoTo FIM For Each Celula In ThisWorkbook.Worksheets("TRE PR (2)").Range("A2:A4892") Set Area1 = Celula.Resize(1, Celula.Offset(0, 10).End(xlToRight).Column).Resize(1, 8) Set Area2 = Celula.Offset(0, 9).Resize(1, Celula.Offset(0, 9).End(xlToRight).Column - 9) If Area2.Cells(1, 1).Offset(0, 1) = "" Then Set Area2 = Area2.Cells(1, 1) End If With ThisWorkbook.Worksheets("Listagem") LinhaListagem = .Range("A1048576").End(xlUp).Row + 1 If .Cells(LinhaListagem, 1) <> "" Then MsgBox "Erro 1" Exit Sub End If Area1.Copy .Cells(LinhaListagem, 1).Resize(Area2.Columns.Count, 1).PasteSpecial Area2.Copy .Cells(LinhaListagem, 9).PasteSpecial Transpose:=True End With Next Celula FIM: If Err.Number = 1004 Then MsgBox "Erro 2" End Sub Area1 pega as linhas da primeira tabela, por exemplo A2:H2, A3:H3, etc. Area2, onde eu acho que está dando problema, pega as linhas das colunas que variam. Por exemplo na planilha que você postou pega J2:T2, J3:O3, J4:AW4, etc. Para colar/transpor na outra planilha. -
Excel Extrair mais de um dado de uma célula
Midori respondeu ao tópico de Yskhadar em Microsoft Office e similares
@Yskhadar Retornou esse erro porque está chegando no limite de linhas... E o código não copia linha repetida. Se tem dado repetido é porque você rodou mais de uma vez antes de limpar a planilha Listagem. Ou seja, antes de rodar a macro a planilha Listagem deve conter apenas a primeira linha com os nomes das colunas. E se mesmo após tudo isso acontecer o Erro 2, será preciso rever se é o caso de usar Excel mesmo (criando outras abas quando isso acontecer) ou tentar com outro aplicativo tipo Access ou um TXT.... -
Excel Extrair mais de um dado de uma célula
Midori respondeu ao tópico de Yskhadar em Microsoft Office e similares
@Yskhadar Alterei o código para interromper quando chegar no limite de linhas e já ajustei o range. Veja o que acontece. Sub Macro() Dim Celula As Range Dim Area1, Area2 As Range Dim LinhaListagem As Long On Error GoTo FIM For Each Celula In ThisWorkbook.Worksheets("TRE PR (2)").Range("A2:A4892") Set Area1 = Celula.Resize(1, Celula.Offset(0, 10).End(xlToRight).Column).Resize(1, 8) Set Area2 = Celula.Offset(0, 9).Resize(1, Celula.Offset(0, 9).End(xlToRight).Column - 9) With ThisWorkbook.Worksheets("Listagem") LinhaListagem = Range("A1048576").End(xlUp).Row + 1 If .Cells(LinhaListagem, 1) <> "" Then MsgBox "Erro 1" Exit Sub End If Area1.Copy .Cells(LinhaListagem, 1).Resize(Area2.Columns.Count, 1).PasteSpecial Area2.Copy .Cells(LinhaListagem, 9).PasteSpecial Transpose:=True End With Next Celula FIM: If Err.Number = 1004 Then MsgBox "Erro 2" End Sub -
Excel Extrair mais de um dado de uma célula
Midori respondeu ao tópico de Yskhadar em Microsoft Office e similares
Se a planilha TRE for até linha 4892, é só substituir A13 por A4892. Depois de rodar a planilha Listagem ficou com quantas linhas? -
Excel Extrair mais de um dado de uma célula
Midori respondeu ao tópico de Yskhadar em Microsoft Office e similares
@Yskhadar Sim e se a planilha TRE passar de 1M de linhas vai ter que alterar o range usado em LinhaListagem -
Excel Extrair mais de um dado de uma célula
Midori respondeu ao tópico de Yskhadar em Microsoft Office e similares
@Yskhadar A macro pega da linha 2 até a 13, quando houver mais é só editar o range ou implementar uma variável para verificar a última linha como fiz na variável LinhaListagem. Sub Macro() Dim Celula As Range Dim Area1, Area2 As Range Dim LinhaListagem As Long For Each Celula In ThisWorkbook.Worksheets("TRE PR (2)").Range("A2:A13") Set Area1 = Celula.Resize(1, Celula.Offset(0, 10).End(xlToRight).Column).Resize(1, 8) Set Area2 = Celula.Offset(0, 9).Resize(1, Celula.Offset(0, 9).End(xlToRight).Column - 9) With ThisWorkbook.Worksheets("Listagem") LinhaListagem = Range("A1000000").End(xlUp).Row + 1 Area1.Copy .Cells(LinhaListagem, 1).Resize(Area2.Columns.Count, 1).PasteSpecial Area2.Copy .Cells(LinhaListagem, 9).PasteSpecial Transpose:=True End With Next Celula End Sub -
Excel Como colocar valor em uma celula dependendo dos valores de outras duas células
Midori respondeu ao tópico de Nathalya Lima em Microsoft Office e similares
Outra alternativa seria esta fórmula, mas a coluna de condutividade tem que estar no formato numérico e na mesma unidade. =SE(B6<E3;F3;ÍNDICE(F3:F10;CORRESP(B6;E3:E10)+1))*B6 -
Excel Como colocar valor em uma celula dependendo dos valores de outras duas células
Midori respondeu ao tópico de Nathalya Lima em Microsoft Office e similares
condutividade = célula B6? A condutividade deve ser multiplicada por qual fator? Ao lado tem outra tabela com uma lista de valores. -
Excel Extrair mais de um dado de uma célula
Midori respondeu ao tópico de Yskhadar em Microsoft Office e similares
@Yskhadar Se puder usar macro vai facilitar o trabalho. -
Dá pra fazer um por um, mas você pode criar um loop e ir somando a divisão entre um contador (1 até 11) e o quadrado dele, contador = contador + 1 x = x + contador/(contador * contador)
-
Excel Pesquisa em toda Pasta de Trabalho
Midori respondeu ao tópico de Igor F. em Microsoft Office e similares
Para testar a macro cole na planilha que tem as Listas e deixe as duas planilhas abertas. A busca será feita na coluna A da planilha pesquisa com base na célula D3 da lista, altere para o forma que achar mais adequada. Sub Macro() Dim Chassi As String Dim PlanilhaPesquisa As Worksheet Chassi = ThisWorkbook.ActiveSheet.Range("D3") For Each PlanilhaPesquisa In Workbooks("Pesquisas leilão Minas Gerais.xlsx").Worksheets If Pesquisa(PlanilhaPesquisa, Chassi) <> "" Then MsgBox "O Chassi " & Chassi & " está na planilha " & PlanilhaPesquisa.Name End If Next PlanilhaPesquisa End Sub Function Pesquisa(Planilha As Worksheet, Chassi As String) As String On Error GoTo FIM Pesquisa = Planilha.Range("A:A").Find(Chassi, Planilha.Range("A1")).Address FIM: If Err.Number = 91 Then Pesquisa = "" End Function -
100 é o tamanho do vetor, Já nos outros casos como se trata de ponteiros, você só está pegando o tamanho do ponteiro. E esse valor é fixo independente de alocação dinâmica.
-
@pabrul Testei a minha e rodou sem erro. Para melhor a identificar o seu problema coloque como está o seu código agora e indique onde está o erro.
-
@pabrul Pode ser assim... int main(){ int gp[12] = {3, 2, 1, 0, 2, 4, 1, 0, 0, 1, 0, 1}; int gc[12] = {0, 2, 0, 0, 2, 1, 1, 0, 2, 2, 0, 2}; int x,y,z,a; int val, derrota=0; int result; for(x=0;x<12;x++){ if(gp[x]<gc[x]) derrota++; val=pontos(gp[x],gc[x]); printf("\n %d= %d",x+1,val); } printf("Derrota = %d\n", derrota); return 0; }
-
@pabrul Na função você estava não estava comparando com "==", int pontos(int golsfeito, int golstomado){ int valor=0; if(golsfeito>golstomado){ valor=3; }else if(golsfeito==golstomado){ valor=1; } return valor; } Para contabilizar os outros valores é só usar a mesma lógica da função no for. if(gp[x]>gc[x]) v++; else if(gp[x]==gc[x]) e++; else d++;
-
Excel Combo Box auto preenchível em formulário
Midori respondeu ao tópico de Jessy_1985 em Microsoft Office e similares
Na propriedade RowSource você pode atribuir um range da planilha. ComboBox1.RowSource = "Teste!A1:A10" Por meio de algum evento do formulário, você também pode ir adicionando com base na quantidade de linhas de uma coluna, Por exemplo, ComboBox1.RowSource = "Teste!A1:A" & UltimaLinha -
Word Como remover hifen e quebra de linha inadequadas automaticamente?
Midori respondeu ao tópico de LeandroRT em Microsoft Office e similares
@LeandroRT No docs.microsoft.com tem a documentação do FileSystemObject. Mas a formatação não dá para manter no txt. -
Word Como remover hifen e quebra de linha inadequadas automaticamente?
Midori respondeu ao tópico de LeandroRT em Microsoft Office e similares
Isso talvez não seja tão simples de resolver, Mas para manipular as linhas do ebook acho melhor trabalhar no formato Txt em vez de Doc, assim você poderá usar FileSystemObject no VBA para tratar o arquivo texto original e ir gerando outro com as correções. Sobre a quebra de parágrafos, manipulando um txt linha a linha você pode verificar se o último caractere não for um ponto final e assim juntar com a próxima linha Para resolver a questão do hífen fiz essa macro que funcionou nesse caso, não testei em um ebook completo para ver se tem algum problema. Sub Macro() Dim Texto As String Dim NovoTexto As String Dim I As Integer Dim N As Integer Texto = "auto-escola tradição anteior de radicalismo psica- nalítico para- quedas micro-ondas" For I = 1 To Len(Texto) If Mid(Texto, I, 1) = "-" And Mid(Texto, I + 1, 1) = " " Then N = I + 1 While Mid(Texto, N, 1) = " " N = N + 1 Wend Texto = Mid(Texto, 1, I - 1) & Mid(Texto, N - 1, Len(Texto)) Else NovoTexto = NovoTexto & Mid(Texto, I, 1) End If Next I MsgBox NovoTexto End Sub -
C++ Preciso resolver o exercício e porém estou com muita dificuldade
Midori respondeu ao tópico de Joabson Nunes da Rocha em C/C#/C++
@Joabson Nunes da Rocha Segue um modelo para ajudar a começar, #include <stdio.h> int main(){ int tipo_de_cerveja=0; int unidade=0; printf("Tipo (1)Lata/(2)Garrafa: "); scanf("%d", &tipo_de_cerveja); printf("Unidades: "); scanf("%d", &unidade); if(tipo_de_cerveja==1){ unidade = unidade * 350; } printf("Quantidade ml: %d", unidade); return 0; } -
A dica do @vangodp é a forma mais indicada de fazer. Mas só por curiosidade segue uma forma não muito elegante usando string, #include <stdio.h> int main(){ char n[4]; scanf("%s", n); printf("%d\n", (n[0]-'0')*(n[1]-'0')*(n[2]-'0')); return 0; }
-
Outro Manipulação de String VBA
Midori respondeu ao tópico de Matheus Alvares em Programação - outros
Você pode usar um loop para marcar quando o dígito passa a ser numérico, Sub Macro() Dim Texto As String Dim I As Integer Texto = "AMA015246" For I = 1 To Len(Texto) If IsNumeric(Mid(Texto, I, 1)) Then Exit For Next I Texto = Left(Texto, I - 1) & "-" & Mid(Texto, I, Len(Texto)) MsgBox Texto End Sub
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