Ir ao conteúdo
  • Cadastre-se

Jimmy 2

Membros Plenos
  • Total de itens

    236
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

7

Informações gerais

  • Cidade e Estado
    São Paulo
  1. Edson, O motivo das minhas dificuldades está mais claro agora. Já estava com vontade de trocar o Win7 Light pelo 10, e agora a troca do Office 64 pelo 32 é o empurrão que faltava. Aproveitando... como configuro este post coo RESOLVIDO? Obrigado.
  2. Olá Edson, Obrigado pelas informações. Acho que o problema é mais sério do que eu imaginava. Eu não tenho o mscomctl.ocx no meu Windows. Eu uso o Win 7 Light 64bits, porque foi esse o instalado quando mandei formatar o PC. Pode ser que esse Windoiws não tenha uma série de DLL e OCS, etc, o que o torna Light. Acho mesmo que vou ter que formatar novamente com um Windows mais completo. Tenho um I3 com 4Gb que comporta um Windows melhor. Consegui pegar o mscomctl.ocx na internet mas não soube coo registrar no Windows. Tentei usando o regsvr32, mas não funcionou "Erro ao carregar o módulo". Meu office é o 2013 64 e acredito que por ser 64 não registrou com regsvr32. O estranho é que no notebook tenho um Win8.1 legal, Office 2013 também, e também não achei o mscomctl.ocx.
  3. Você pode anexar a planilha, pronta pra macro ser executada?
  4. Obrigado Dif. Problema resolvido. Não sei como fechar o tópico
  5. Olá, Alguém sabe onde obter um controle que permita selecionar pastas do windows e arquivos, e que tenha aquela "+" para expandir e contrair? Algo parecido com isso: Jimmy 2
  6. Não entendi o porque a cópia e a cola devem seguir uma ordem específica, mas respeitei. Teste isso: Sub copiar() 'Define numa variável string (texto) as células na ordem em que devem ser copiadas. A posição zero não é usada. Range1 = "dummy,B06,B11,B7,C9,H15,A1,G2,M19" 'Define numa variável string (texto) as colunas onde vão ser coladas as células copiadas 'Manter as informações alinhadas para ficar mais fácil de ver de onde copia para onde Range2 = "dummy,A, H, C, J, M, D, B, K" 'O endereço das células são passadas do texto para as posições de um vetor (matriz) Range1 = Split(Range1, ",") Range2 = Split(Range2, ",") 'Procura na coluna A, de baixo para cima, a última linha preenchida (similar a teclar END e seta para cima na planilha) LinhaB = Sheets("HISTÓRICO VENDAS").Cells(Rows.Count, "A").End(xlUp).Row + 1 'Percorre cada um dos elementos da matriz (o zero não é usado) For Idx = 1 To UBound(Range1) 'Copia o endereço que consta naquela posição da matriz e cola na linha branca (LinhaB) a partir da coluna 1 ("A") Sheets("CALCULAR PRODUTO").Range(Range1(Idx)).Copy _ Destination:=Sheets("HISTÓRICO VENDAS").Range(Cells(LinhaB, Trim(Range2(Idx))).Address) 'Volta para a linha do FOR para processar a próxima posição da matriz. Se já foi a última, segue para baixo Next End Sub Jimmy San Juan
  7. Olá Dif, Obrigado pela sua ajuda. Vou testar, mas antes quero te fazer uma pergunta. Se eu hospedo uma imagem no IMGUR e coloco o link numa mensagem aqui do fórum, daqui há alguns meses ou anos, essa imagem ainda estará disponível e aparecendo na mensagem do fórum, ou tem data de validade e vai ser apagada,e consequentemente não aparece mais na mensagem? Você conhece o hospedador https://snag.gy/ ?
  8. Olá, Não conheço nada de linguagem de páginas da internet mas tenho um necessidade. Coloquei um arquivo de imagem no DropBox, compartilhei e gerei um link. https://www.dropbox.com/s/m1n92opvknq4l2d/Untitled.jpg# Enviei o link para uma pessoa, que quando o usa, entra na página do DropBox, visualiza o conteúdo do arquivo, e tem disponível um botão "Baixar" (canto superior direito), que abre um menu com a opção "Download Direto". Preciso de alguma forma obter um link que quando utilizado faz o download direto, sem necessidade de dar click em lugar algum. Minha intenção é colocar figuras diretamente em mensagens de outro fórum, que devem ser colocadas entre [ img ] e [ /img ]. Se o link que eu colocar não fizer o download direto, a imagem não sai no post. Sei que há diversos sites para hospedar imagens, mas uma vez que tenho o DropBox e confio nele, gostaria de usá-lo. Por falar nisso, como faço para colocar imagens diretamente no post aqui do Clube do Hardware, que já façam parte da mensagem, sem ter que clicar em link? Obrigado pela ajuda. Jimmy San Juan
  9. Olá @osvaldomp , Obrigado pela sua ajuda e esforço A solução que você apresentou permite obter o último arquivo, porém difere do FSO em 2 aspectos: o acesso às propriedades, e principalmente a data de modificação. A obtenção de dados do arquivo via SHELL/DIR apresenta hora no formato hh:mm enquanto que via FSO o formato é hh:mm:ss. Os segundos são importantes no meu caso pois a macro analisa se houve mudanças nos arquivos. Outro obstáculo é o tempo de resposta. Via SHELL/DIR fica aproximadamente 15 vezes mais lento do que ficaria se eu usasse o FOR EACH para percorrer todos os arquivos e pegasse apenas o último. Estava tentando uma forma de indexar diretamente para reduzir o tempo de processamento. Pelo que pude concluir, a coleção de arquivos e pastas do FSO tem índice alfabético, que é o próprio nome da pasta ou arquivo, e não aceita indexação numérica-sequencial. Uma pena! Abraço, Jimmy San Juan
  10. Alguém saberia se isso é possível ou não?
  11. A título de colaboração apresento uma alteranativa, que segue numa linha um pouco diferente da apresentada pelo @deejaywesley . Com a macro abaixo, inserida no evento CHANGE da planilha, as correções de retirada de espaços ocorre no momento da digitação do nome, assim que é dado o ENTER. Dessa forma, a planilha está sempre "arrumadinha". Private Sub Worksheet_Change(ByVal Target As Range) Set Intervalo = Intersect(Target, Range("C1:C1000,L10:N20,Q20:Q25")) If Not Intervalo Is Nothing Then For Each Cel In Intervalo Aux1 = Application.WorksheetFunction.Trim(Cel.Value) If Cel.Value <> Aux1 Then Cel.Value = Aux1 Next End If Set Intervalo = Nothing End Sub Eu inventei 3 intervalos (Ranges) aleatórios sobre os quais deseja-se executar a correção de espaços. Eles estão na segunda linha do código, em negrito vermelho, e devem ser alterados para a necessidade da planilha. Tudo o que for digitado dentro desses intervalos, vai ter os espaços repetidos, e espaços no início e final, retirados no momento do ENTER após digitação. Tudo o que for digitado fora desses intervalos, ficará da forma que foi digitado. Jimmy San Juan
  12. Não sei se é bem isso que você quer, pois não entendi bem sua explicação. Estou fazendo apenas uma tentativa. Fiz uma macro que faz o seguinte: A) Você seleciona uma célula da Plan1, apenas para indicar em que linha os dados a serem copiados estão. Você seleciona a planilha Plan2 C) Dá um duplo-click uma única célula da coluna C, na linha para onde quer copiar as informações vindas de Plan1. D) A macro copia da Plan1, da linha que tem a célula selecionada, os dados das colunas J, M e Y. E) Copia esses valores para a Plan2, para a linha onde foi dado o duplo-clique, para as colunas E, G e I. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column <> 3 Or Target.Count > 1 Then Exit Sub Sheets("Plan1").Select: LinOri = ActiveCell.Row 'Linha na planilha ORIgem Sheets("Plan2").Select: LinDes = ActiveCell.Row 'Linha na planilha DEStino Range("E" & LinDes).Value = Sheets("Plan1").Range("J" & LinOri).Value Range("G" & LinDes).Value = Sheets("Plan1").Range("M" & LinOri).Value Range("I" & LinDes).Value = Sheets("Plan1").Range("Y" & LinOri).Value End Sub Escolhi colunas aleatórias. Adapte para a sua necessidade. Jimmy San Juan
  13. Olá. Estou usando File System Object para verificar arquivos em determinado Path, como no exemplo abaixo: Set FSO = CreateObject("Scripting.FileSystemObject") Set ConteudoPath = FSO.Getfolder(“D:\”) Gostaria de gerar um objeto “arquivo” com o último arquivo da coleção de arquivos que tem dentro de ConteudoPath. Sei que posso percorrer todos eles usando as linhas abaixo: For Each ARQ in ConteudoPath.Files Next e após percorrer todos, terei o último, mas gostaria de acessar diretamente o último. Sei a quantidade de arquivos pelo ConteudoPath.Files.COUNT. Tentei algo do tipo: Qtd = ConteudoPath.Files.Count Set ARQ = ConteudoPath.Files.Item(Qtd) Set ARQ = ConteudoPath.Files(Qtd) Ou Debug.Print ConteudoPath.Files.Item(Qtd).Name Debug.Print ConteudoPath.Files(Qtd).Name mas não consegui indexar dessa forma pois dá erro. Se souber como posso fazer esse acesso direto ao enésimo arquivo, sem passar pelos outros, agradeço pela ajuda. A mesma pergunta vale para Subfolders. Jimmy San Juan
  14. Acredito ser possível fazer isso com ajuda de macros. Você pode criar uma macro no evento SELECT, que dependendo da coluna selecionada, se ela for menor que X, congela 3 linhas, se ele for maior que Y, congela 5, se estiver no meio não congela nada. adicionado 39 minutos depois Abra a planilha. Tecle ALT + F11. Deve abrir a janela de desenvolvimento. Na arvore de planilhas que aparece da coluna da esquerda do vídeo, dê um duplo-clique na planilha em questão. Na janela grande, da direita, na parte superior há 2 campos de seleção. O primeiro está escrito (Geral); altere para WorkSheet. O segundo campo deve ser SelectionChange. Devem aparecer as 2 linhas abaixo: Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub Incremente para que fique da seguinte forma: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Aux1 = Target.Column 'Pega número da coluna ActiveWindow.FreezePanes = False 'Desliga o congelamento If Aux1 <= 10 Or Aux1 >= 20 Then 'Verifica se irá congelar Aux2 = Application.EnableEvents 'Guarda status dos eventos Application.EnableEvents = False 'Desabilita eventos If Aux1 <= 10 Then Range("A4").Select 'Prepara para congelar 3 linhas If Aux1 >= 20 Then Range("A6").Select 'Prepara para congelar 5 linhas ActiveWindow.FreezePanes = True 'Congela linhas Target.Select 'Seleciona onde estava Application.EnableEvents = Aux2 'Restaura status dos eventos End If End Sub No exemplo acima serão congeladas 3 linhas sempre que a seleção estiver em célula da 1ª (A) à 10ª coluna (J). Para seleção entre as colunas 11ª (K) e 19ª (S), nada é congelado. A partir da coluna 20ª (T), serão congeladas 5 linhas. Essa solução pode tornar a planilha lenta pois sempre que a seleção mudar, o procedimento será executado. Teste pra ver se na planilha real, com uma utilização típica, ela não torna a planilha não usável. Dá pra tentar otimizar a rotina guardando a quantidade de linhas atualmente congeladas em uma variável pública, e só recongelar se houver necessidade, mas teste antes pra ver se da forma acima te atende. Jimmy 2
  15. Olá Faller, Entendi o que disse sobre o DC. Realmente, com minha falta de conhecimento, não havia considerado a possibilidade do multímetro estar medindo DC, mas ser tensão pulsada. Havia pensado apenas no DC sem pulsos. Agora faz sentido! Obrigado. Vou medir agora a frequência. Está vendo? Já está valendo a pena consertar a fonte, mesmo que isso tudo acabe com ela no lixo, pois o conhecimento é o objetivo principal, como eu já havia mencionado. O processo está bem distante de ser apenas uma troca aleatória de componentes, na base da tentativa e erro. Por exemplo, a troca do opto envolveu pesquisa na internet, entendimento de seu funcionamento, publicações de como testá-los, etc. Processo parecido ocorrerá com relação aos transistores de potência, ou ao C.I. oscilador, caso sejam os próximos suspeitos. Essa é a forma que eu escolhi para formar meu conhecimento, e tem funcionado para mim. Obrigado por terem contribuído nesse processo.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×