Ir ao conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Mostrando resultados para as tags ''Visual Basic''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Categorias

  • Armazenamento
  • Áudio
  • Energia
  • Entrada
  • Feiras e Eventos
  • Gabinetes
  • Memória
  • Museu
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Rádio CdH
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Armazenamento
  • Áudio
  • Câmeras
  • Computadores
  • Consoles
  • Eletrônicos
  • Energia
  • Entrada
  • Gabinetes
  • Impressão
  • Jogos
  • Memória
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Livros disponíveis
  • Livros esgotados

Fóruns

  • Mensagens do Clube do Hardware
    • Regras gerais
    • Boletins do Clube do Hardware
    • Notícias da administração
  • Hardware
    • Recomendações de computadores
    • Placas de vídeo
    • Placas-mãe e chipsets
    • Processadores
    • Problemas de gargalo e desempenho
    • Memórias
    • Armazenamento
    • Refrigeração e superaquecimento
    • Fontes e energia
    • Gabinetes e casemods
    • Placas de som e áudio on-board
    • Periféricos
    • Mac
    • Overclock
    • Hardware - outros
  • Computação móvel
    • Notebooks
    • Tablets
    • Smartphones e apps
  • Redes e Internet
    • Redes e Internet
    • Hospedagem de sites e registro de domínios
  • Segurança da informação
    • Remoção de malware
    • Dúvidas sobre invasões e infecções
    • Programas de proteção
  • Programação e desenvolvimento
    • Java
    • C/C#/C++
    • Pascal/Delphi
    • .NET
    • Bancos de dados
    • Programação web
    • Programação - iniciantes
    • Programação de microcontroladores
    • Programação - outros
  • Software
    • Jogos
    • Pacotes de escritório
    • Computação distribuída (Folding@Home, Bitcoin etc.)
    • Virtualização
    • Design, animação e tratamento de imagens
    • Edição, autoração e gravação de áudio e vídeo
    • Programas
  • Sistemas Operacionais
  • Eletrônicos
  • Outros
  • Clube do Hardware

Categorias

  • Hardware
  • Redes
  • Eletrônica
  • Sistemas operacionais

Encontrar resultados em...

Encontrar resultados que...


Data de criação

  • Iniciar

    FIM


Última atualização

  • Iniciar

    FIM


Filtrar pelo número de...

Data de registro

  • Iniciar

    FIM


Grupo


Encontrado 238 registros

  1. Boa Noite! Peço a ajuda de vocês, pra ver se conseguem resolver um problema. Tenho uma planilha com duas abas: "Medias de Tempo" e "Medias". Preciso copiar dados da planilha "Medias de Tempo" para a planilha "Medias", porém com algumas condições. Quero associar um botão "OK" na planilha "Medias de Tempo", que quando acionado ele copia dados das celulas "A6" e "C6" para a planilha "Medias" em "A4" e "B4", e a cada clique colasse na linha seguinte: "A5" e "B5", "A6" e "B6" e assim por diante. porém há um detalhe: Como podem ver na planilha anexa, o intervalo de linhas na planilha "Medias", vai de "A4:B4" a "A13:B13". Gostaria que quando preenchesse "A13:B13", voltasse a colar novamente em "A4" e "B4", mas sem apagar os dados das celulas restantes. Ficaria algo assim. Primeiro clique: Copia "A6" e "C6" de "Medias de Tempo e cola em "A4" e "B4" de "Medias" Segudo clique: Copia "A6" e "C6" de "Medias de Tempo e cola em "A5" e "B5" de "Medias" Terceiro clique: Copia "A6" e "C6" de "Medias de Tempo e cola em "A6" e "B6" de "Medias" . . Décimo clique: Copia "A6" e "C6" de "Medias de Tempo e cola em "A13" e "B13" de "Medias" Agora é que o bicho pega. Décimo Primeiro clique: Copia "A6" e "C6" de "Medias de Tempo e volta a colar em "A4" e "B4" de "Medias", mantendo as informações de A5:B5 até A13:B13 Décimo Segundo clique: Copia de "Medias de Tempo" A6 e C6 e cola em "Medias" A5 e B5, mantendo as informações de A4:B4, A6:B6 até A13:B13 Até chegar em "A13:B13' novamente e repetir o processo. Deu prá enterder? O intervalo de colagem será sempre o mesmo, colando nas celulas destino, mas sem apagar as outras. OBS: Notem que quando me referi às celulas "A6" e "C6", coloquei o E entre elas, é preciso apenas dessas duas celulas, e não do intervalo "A6:B6", ou seja "A6:B6:C6" Abaixo a macro que tenho, mas só funciona metade do que preciso Sub Macro2() Dim r As Integer Sheets("Medias").Activate 'Determina qual a ultima linha com valor na coluna A e adiciona 1 r = Range("A13").End(xlUp).Offset(1, 0).Row 'Copia a celula A6 da planilha Medias de Tempo Sheets("Medias de Tempo").Range("A6").Copy 'Cola os dados sem formulas (se houver) Sheets("Medias").Range("A" & r).Activate Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'Copia a celula C6 da planilha Medias de Tempo Sheets("Medias de Tempo").Range("C6").Copy 'Cola os dados sem formulas (se houver) Sheets("Medias").Range("B" & r).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Sheets("Medias de Tempo").Activate Application.CutCopyMode = False End Sub Obrigado Telmo teste1hardware.xls
  2. Olá amigos, A rotina abaixo verifica a existência ou não de um determinado arquivo na unidade C:\ Tenho uma planilha com algumas centenas de nomes de diretórios de arquivos na coluna B e procuro uma forma de fazer essa mesma função do código abaixo para verificar se os arquivos não foram alterados. Ou seja, antes de abrir a planilha executaria a macro para verificar se houve alteração. No caso seria um Loop, mas como sou barriga verde em VBA, não faço ideia de como fazer. Agradeço a quem poder da essa força. Sub Verifica_Arquivo() Dim pesquisa As Variant pesquisa = "C:\Users\PC\Desktop\PASTA\NOME DO ARQUIVO" If Dir(pesquisa) = vbNullString Then strCheck = False Else strCheck = True End If If strCheck Then MsgBox " encontrado" Else MsgBox " arquivo inexistente" End If End Sub
  3. Boa Tarde! Queria saber onde posso encontrar uma boa apostila de vba + mysql para poder inserir, excluir, atualizar dados dentro do banco de dados
  4. Bom dia Pessoal! Precisando de uma ajuda aí em VBA, seguinte: Tenho um código atribuído em um botão na planilha do excel entitulada Ordem de carregamento FGDd, funciona normal esse código...ele seleciona um range e converte para .pdf e logo em seguida abre uma nova mensagem no outlook para enviar...beleza..funciona...o que eu estava querendo melhorar ele é no seguinte: Depois que o código convertesse para .pdf e anexasse essa range no outlook, ele copiasse e colasse uma nova range (B36:K60)no corpo do mesmo email, entende? ou seja, gostaria de acrescentar algumas linhas nesse código para selecionar mais um range (B36:K60) e colocar no corpo do email; Disponibilizo o código que uso atualmente....ele funciona bem, mas gostara de dar um "upgrade" ... Sub email() Dim rng As Range Dim OutApp As Object Dim OutMail As Object Dim intervalo As Range Set intervalo = Planilha1.Range("B36:K60") intervalo.Copy Para = "cleomir.leite@lhoist.com" 'destinatátio de email ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "Y:\02 - Controle de Operação\" & [B1] & ".pdf" ' Caminho onde se encontra o arquivo a ser convertido - Célula B1(Nome da planilha) File = "Y:\02 - Controle de Operação\Ordem de coleta de carga.pdf" Set rng = Nothing On Error Resume Next Set rng = Range("A1:K33").SpecialCells(xlCellTypeVisible) On Error GoTo 0 Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) On Error Resume Next With OutMail .To = Para .Subject = "Relatório Diário de Produção Belocal Rio " & Format(Now, "dd/mmm/yyyy") .Attachments.Add File .Display End With On Error GoTo 0 With Application .EnableEvents = True .ScreenUpdating = True End With Set OutMail = Nothing Set OutApp = Nothing ActiveWorkbook.Save End Sub Está salvo como pasta de trabalho sem macro porque não consegui anexar a que está habilitada...mas a que uso está habilitada. Ordem de carregamento FGDd.xlsx
  5. deku221

    Visual Basic vba- codigos de barras

    Boa noite , estou fazendo um projeto da faculdade , criei um sistema para computar saída e entrada de equipamentos para uma empresa de locação , com o sistema do Excel - VBA o sistema esta quase perfeito se não for por uma unica coisa , que nao consigo resolver e ja faz tempo , a ideia era computar os códigos de barras usando o celular com o App " scan it " que linka o celular com o Excel assim lendo os códigos de barras e jogando no Excel , só que em vez dele ler e passar para a ttext box " código " ele manda direto para a planilha o que eu não queria alguém poderia me ajudar com isso por favor . Para deixar um pouco mais claro ... preciso ler o código de barras e ele computar na "text box" , para que depois que eu preencher manualmente as outras informações ai sim ele mandar para planilha.
  6. Tenho esse código que extrai o conteúdo do corpo do email e coloca em uma planilha no excel. Até ontem ele estava funcionando, porém hoje ele apareceu que " Objeto não aceita essa propriedade ou método" na linha que está em vermelho. Se alguém por favor poderia me ajudar? <>Sub lerEmail() 'Ler o e-mail e copiar para o excel as informações na aba "BD" Application.DisplayAlerts = False 'Desabilitar alertas Application.ScreenUpdating = False 'Desabilitar atualização de tela ActiveWorkbook.Save 'Salvar planilha Dim outApp As Outlook.Application 'Variável da aplicação do outlook Dim outMapi As Outlook.MAPIFolder 'Variável de conexão com as pastas desejadas, acesso ao e-mail 'Dim outMail As Outlook.MailItem 'Variável do objeto e-mail Dim outHTML As MSHTML.HTMLDocument 'Variável HTML document Dim sh_capa, sh_bd As Worksheet 'Variáveis das abas do excel Set sh_capa = Sheets("Capa") 'Configura aba Capa Set sh_bd = Sheets("BD") 'Configura aba BD Dim pasta, subpasta, mover As String 'Variável pasta e subpasta outlook Dim num_email, num_db, i, j, k, l, m, num As Long 'Variáveis auxiliares Dim data As Date 'Variável da data de recebimento do e-mail pasta = sh_capa.Cells(6, "B").Value 'Configura pasta outlook subpasta = sh_capa.Cells(6, "C").Value 'Configura subpasta outlook mover = sh_capa.Cells(6, "D").Value 'Pasta destino On Error Resume Next 'Habilita tratamento de erros Set outApp = GetObject(, "OUTLOOK.APPLICATION") 'Tenta configurar a aplicação do outlook If (outApp Is Nothing) Then 'Se outlook não estiver aberto... Set outApp = CreateObject("OUTLOOK.APPLICATION") 'Configura a aplicação do outlook End If On Error GoTo 0 'Desabilita tratamento de erros Set outMapi = outApp.GetNamespace("MAPI").Folders(pasta).Folders(subpasta) 'Configura a variável de conexão com as pastas desejadas do outlook Set outHTML = New MSHTML.HTMLDocument 'Configura a variável HTML document para ler o corpo do e-mail 'Verifica se existem e-mails disponíveis na subpasta desejada If outMapi.Items.Count = 0 Then MsgBox "Não foram encontrados e-mails" Exit Sub 'Interrompe o programa caso não encontre e-mails na subpasta End If num_email = outMapi.Items.Count 'Quantidade de e-mails na subpasta 'Conta quantas linhas existem na aba "BD" para que os novos dados possam ser inseridos de forma sequencial num_db = sh_bd.Cells(Rows.Count, "A").End(xlUp).Row - 1 num = 0 ' Variável responsável por contar quantos e-mails serão salvos For i = 1 To num_email Set outMail = outMapi.Items(i - num) 'Configura a variável do e-mail atual e subtrai quantos e-mails já foram copiados, 'pois os e-mails são deletados da caixa de entrada 'Data de recebimento do e-mail data = DateSerial(Year(outMail.ReceivedTime), Month(outMail.ReceivedTime), Day(outMail.ReceivedTime)) 'Se satisfazer todas as condições definidas na capa, incluse a busca por remetente... If outMail.Subject Like "*" & sh_capa.Cells(9, "C").Value And _ outMail.SenderEmailAddress = sh_capa.Cells(10, "C").Value And _ data >= sh_capa.Cells(11, "C").Value And _ data <= sh_capa.Cells(12, "C").Value Then 'Recebe o codigo HTML correspondente ao corpo do e-mail outHTML.Body.innerHTML = outMail.HTMLBody 'Configura a variável para leitura da tabela recebida Set outTable = outHTML.getElementsByTagName("table") 'Copia os campos da tabela para o excel For x = 1 To outTable(0).Rows.Length - 1 For y = 0 To outTable(0).Rows(x).Cells.Length - 1 sh_bd.Cells(1 + num_db + x, 1 + y).Value = outTable(0).Rows(x).Cells(y).innerText Next y Next x 'Variável auxiliar para copiar os dados de forma sequencial num_db = num_db + outTable(0).Rows.Length - 1 'Conta quantos e-mails já foram salvos num = num + 1 'Move o e-mail para a pasta de concluídos outMail.Move outApp.GetNamespace("MAPI").Folders(pasta).Folders(mover) 'Se satisfazer todas as condições definidas na capa, exceto a busca por remetente... ElseIf outMail.Subject Like "*" & sh_capa.Cells(9, "C").Value And _ sh_capa.Cells(10, "C").Value = "" And _ data >= sh_capa.Cells(11, "C").Value And _ data <= sh_capa.Cells(12, "C").Value Then 'Recebe o codigo HTML correspondente ao corpo do e-mail outHTML.Body.innerHTML = outMail.HTMLBody 'Configura a variável para leitura da tabela recebida Set outTable = outHTML.getElementsByTagName("table") 'Copia os campos da tabela para o excel For x = 1 To outTable(0).Rows.Length - 1 For y = 0 To outTable(0).Rows(x).Cells.Length - 1 sh_bd.Cells(1 + num_db + x, 1 + y).Value = outTable(0).Rows(x).Cells(y).innerText Next y Next x 'Variável auxiliar para copiar os dados de forma sequencial num_db = num_db + outTable(0).Rows.Length - 1 'Conta quantos e-mails já foram salvos num = num + 1 'Move o e-mail para a pasta de concluídos outMail.Move outApp.GetNamespace("MAPI").Folders(pasta).Folders(mover) End If Next i 'Se algum e-mail foi salvo... If num > 0 Then 'Mensagem apresentada para o usuário MsgBox "Processamento Concluído! " & num & " e-mail carregados!" sh_bd.Select Else 'Mensagem apresentada para o usuário MsgBox "Nenhum e-mail carregado!" End If 'Volta a exibir alertas Application.DisplayAlerts = True 'Volta a atualizar a tela Application.ScreenUpdating = True End Sub
  7. Bom dia Senhores, Estou criando um sistema que carrega imagens em um formulário. Uso o código abaixo para pegar a pasta que contem os nome e o caminhos das imagens que serão postas na coluna 2. O problema é que algumas pastas vem com aquele chato arquivo Thumps.db acaba assumindo o lugar de outra imagem gerando erro ao acionar o comando referente aquela célula. Queria saber se tem como interceptar esse tipo de arquivo. Algo como: caso exista na pasta arquivo Thumps.db fosse executado alguma ação como, desviar para ultima linha ou de preferência excluir. abç Option Explicit Sub Pega_pasta_Shove_nash() Dim rowB As Long: rowB = 2 Dim rowC As Long: rowC = 2 Dim xDirect, xFname, InitialFoldr InitialFoldr = "C:\" With Excel.Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = Excel.Application.DefaultFilePath & "\" .Title = " Selecione o Aquivo " .InitialFileName = InitialFoldr .Show If .SelectedItems.Count <> 0 Then xDirect = .SelectedItems(1) & "\" xFname = VBA.Dir(xDirect, 7) Do While xFname <> "" Range("B" & rowB) = xFname Range("C" & rowC) = xDirect + xFname rowB = rowB + 1 rowC = rowC + 1 xFname = VBA.Dir Loop End If End With End Sub
  8. Existe a possibilidade de nesse arquivo constar o numero subsequente junto com a data que eu estiver fazendo a proposta, por exemplo 01290120, que seria 01 o número da proposta e 290120 a data da proposta sem o /. Outro ponto é que quando eu fecho o documento sem salvar ele automaticamente muda a sequencia, gostaria que ele só mudasse quando eu salvasse, pois se eu não salvar e depois abrir novamente ele está alterando a sequencia. Uma outra questão é que quando salvo este documento na rede, e outra pessoa abre na máquina dela, não está considerando a sequencia, aparece a mensagem "Não é possível executar código em modo de criação". Sub Cartanumerada() On Error GoTo Erro Documents.Add Template:="Nota_debito_center" DocDir$ = "Z:\Logística\NOTA DEBITO" ArqIni$ = "Z:\Logística\NOTA DEBITO" AnoAtual$ = Year(Now()) If ArquivoExiste(ArqIni$) <> -1 Then Call ZeraContagem(AnoAtual$, ArqIni$) Else AnoIni$ = System.PrivateProfileString$(ArqIni$, "Contador", "Ano") DIf = Val(AnoAtual$) - Val(AnoIni$) If DIf > 0 Then Call ZeraContagem(AnoAtual$, ArqIni$) ElseIf DIf < 0 Then MsgBox "Erro no relógio do micro ou arquivo INI adulterado." GoTo Fim End If End If nuMicrosoft = System.PrivateProfileString$(ArqIni$, "Contador", "CartaNum") n = Val(nuMicrosoft) + 1 Valor$ = Right$("001" & n, 3) AnoAtual$ = Right$(AnoAtual$, 2) NovoTexto$ = Valor$ + "/" + AnoAtual$ Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "Autonumeração" .Replacement.Text = NovoTexto$ .Forward = True .Wrap = wdFindContinue End With Selection.Find.Execute Replace:=wdReplaceAll nomedoc$ = DocDir$ + Valor$ + "-" + AnoAtual$ + ".doc" If ArquivoExiste(nomedoc$) = -1 Then MsgBox "O arquivo " + nomedoc$ + " já existe. Operação cancelada." Else ActiveDocument.SaveAs FileName:=nomedoc$ System.PrivateProfileString(ArqIni$, "Contador", "CartaNum") = Valor$ End If GoTo Fim Erro: MsgBox "Não foi possível abrir o Arquivo." Fim: End Sub Function ArquivoExiste(Arq$) On Error GoTo ArqExiste_Err Open Arq$ For Input As #1 Close #1 ArquivoExiste = -1 GoTo FimArq ArqExiste_Err: ArquivoExiste = 0 FimArq: End Function Sub ZeraContagem(AnoNovo$, Ini$) System.PrivateProfileString(Ini$, "Contador", "Ano") = AnoNovo$ System.PrivateProfileString(Ini$, "Contador", "CartaNum") = "0" End Sub
  9. Bom dia, gostaria de saber como baixar em código VBA planilha do EXCEL no formato PDF, só a área selecionada da planilha, pois o resto da planilha esta formatada, mas só quero a parte com conteúdo ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=(MyLocal & Planilha4.Range("b" & pk)), Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False eu usei esse comando, só que ele trás paginas em branco junto desde já agradeço adicionado 22 minutos depois bom dia pessoal, só pra informar consegui fazer esse trabalho, segue o codigo Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=(MyLocal & Planilha4.Range("b" & pk)), Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
  10. Caros amigos, preciso de uma força para realizar uma atividade. Preciso que o Outlook avalie se o anexo (caso exista) contém determinadas palavras, como "CONFIDENCIAL", "RESTRITO". Caso a palavra esteja no nome do anexo o e-mail poderá ser enviado, do contrário aparece msgbox pedindo para renomear o arquivo e não permite o envio da mensagem. Exemplo: [CONFIDENCIAL] Anexo do Outlook Restrito - Anexo do Outlook Nos dois casos acima, o outlook permitiria a mensagem.
  11. Boa tarde Mediante um procv identtifico o conteudo na planilha1 de uma celula que este em outra planilha. Como substituir o conteudo da celula da outra planilha
  12. Boa Noite Procuro ajuda para o seguinte: - Numa coluna está inscrito os nomes de várias pessoas. Procuro uma forma de substituir, somente parte do nome, mantendo o resto nome já existente. Ex. Maria dos Santos Valerio Na minha coluna, tenho várias Marias, porém pretendo substituir, as 'Marias que eu quiser por 'Ana', mantendo o resto do nome Em vba Obrigado
  13. Boa tarde Incluo aqui o código que o Sr. Basole colocou. A minha questão é a seguinte: - Como marcar a linha toda a amarelo, depois da localização ser feita. Neste caso, marca somente a(s) célula(s) encontradas Muito Obrigado Dim y As Integer, rSearch As Range, RangeFim As Range LblOcorrencias.Caption = Empty n = 0 Set rSearch = PROFISSIONAIS.Range("c12", Range("c1000").End(xlUp)) y = rSearch.Rows.Count Set RangeFim = Range("c" & y) LocalizarString = Me.TextBox1.Value If LocalizarString <> "" Then With rSearch Set rng = .Find(LocalizarString, after:=RangeFim, SearchOrder:=xlByRows) If Not rng Is Nothing Then .Interior.ColorIndex = xlNone rng.Interior.ColorIndex = 6 Localizar = LocalizarString PrimeiraCelula = rng.Address VaiEndereco = rng.Address n = 1 Else MsgBox "Item Não Existe ", vbInformation End If End With End If Set rng = Nothing End Sub
  14. Olá, Estou criando um código para que a cada número gerado, ele toque um som específico. Se o número gerado for o 10, ele toca o som 1 e se for qualquer outro, ele toca o som 2. Porém eu só consigo fazer com que ele gere todos os números e toque os sons somente no final. É possível fazer com que a cada número gerado seja tocado o som específico? Desde já, agradeço. Segue abaixo o meu código. <Sub GerarNumerosAleatoriosSemRepeticao() Dim i As Integer Dim j As Integer Dim bRandomOk As Boolean Dim valor_aleatorio As Integer Dim valor_maior As Integer Dim total_numeros_gerados As Integer Dim total_numeros_para_gerar As Integer Dim iControleGerar As Integer Dim iColunaCelula As Integer valor_maior = 99 'Informe o maior número que poderá ser gerado total_numeros_para_gerar = 15 'Informe a quantidade de números aleatórios que deseja gerar total_numeros_gerados = 0 iLinhaCelulaInicial = 2 'Informe a linha da primeira célula que será escrito o número iColunaCelula = 9 'Informe a coluna. Exemplo: Coluna B = 2 iControleGerar = total_numeros_para_gerar + iLinhaCelulaInicial - 1 'Gera quantos números forem indicados na variável 'total_numeros_gerados' For i = iLinhaCelulaInicial To iControleGerar total_numeros_gerados = total_numeros_gerados + 1 'Fica executando a geração de um novo número enquanto houver duplicidade Do 'Verifica se ainda existem números possíveis a serem gerados If valor_maior < total_numeros_gerados Then valor_aleatorio = 0 bRandomOk = True Exit Do End If 'Gera um novo número Randomize valor_aleatorio = Int((valor_maior * Rnd) + 1) bRandomOk = True 'Verifica se já saiu este número For j = iLinhaCelulaInicial To i If Cells(j, iColunaCelula).Value = valor_aleatorio Then bRandomOk = False Exit For End If Next j Loop While bRandomOk = False 'Escreve o número na célula e toca o som If valor_aleatorio = 10 Then Plan1.WindowsMediaPlayer1.URL = (ThisWorkbook.Path & "\Som1.mpeg") Cells(2, iColunaCelula).Value = valor_aleatorio Else Plan1.WindowsMediaPlayer2.URL = (ThisWorkbook.Path & "\Som2.mpeg") Cells(i + 1, iColunaCelula).Value = valor_aleatorio End If Next i End Sub>
  15. Boas Malta, Quem puder dar uma ajudar para um leigo. Trabalho em uma escola municipal, onde temos grande problema com o controle do horário de entrada dos alunos, eu peguei uma planilha que me deu uma ideia e quem puder me ajudar. Seria algo como: Aluno terá um código de barras. Chega na escola, passa no leitor de código e este registra o nome, data e horário que o mesmo passou no leitor, e depois MSG que esta Validado ou não encotrado, favor procurar o Mestre. Na base de dados para consulta do leitor com dados: Nome, ano que esta estudando, (dados normais do aluno). após a leitura estiver OK, ele da uma msg e ja libera para o proximo alugo passar. peguei o modelo porém não sei mexer rsrs .... https://www.sendspace.com/file/c0zdwo no final eu terei uma base mensal onde eu possa fazer um balanço de faltas e atrasos. quem puder me ajudar nisso meu muito obrigado!!!
  16. Bom dia a todos. Tenho uma planilha que contém uma lista de codigos seguido de um texto e mais um código, tudo em uma mesma coluna. Queria uma macro que extraía os códigos e deixasse apenas o texto. Ex: A6D5.TEXTO.A7B5 Sempre dois pontos entre o TEXTO. Sei que há formas de fazer sem VBA, mas não quero correr o risco de alguém deletar as fórmulas. Grato!
  17. Bom dia! Preciso criar um arquivo em Word que ao abrir ele me dê um número de proposta sequencial automática, tipo 01280120 que seria 01 o número da proposta e 280120 a data da proposta, quando eu salvar este documento e abrir outro ele me dê a sequencia 02280120 considerando o próximo número de proposta e a data, estou montando a expressão abaixo, mais não consigo finalizar para que funcione da forma que descrevi acima, alguém pode me ajudar? Private Sub Document_Close() If ActiveDocument.Saved Then contador = 0 arquivo = "c:\contador.txt" If Dir(arquivo) <> vbNullString Then n = FreeFile() Open arquivo For Input As #n Input #n, contador Close #n End If contador = contador + 1 n = FreeFile() Open arquivo For Output As #n Print #n, contador Close #n End If End Sub Private Sub Document_New() arquivo = "c:\contador.txt" If Dir(arquivo) <> vbNullString Then n = FreeFile() Open arquivo For Input As #n Input #n, contador Close #n End If Selection.TypeText "Proposta:" & Date & "" End Sub
  18. Bom dia a todos, Tenho um sisteminha que carrega imagens da planilha com base no Nome e endereço completo da imagem para um userform. Até aqui tudo bem, funcionando tudo ok. O problema é que tenho uma pasta que tem algumas centenas de imagens que preciso inserir no sistema. Como são muitas, Preciso criar uma macro que me permita baixar todas, em vez de uma a uma. Esse código que Encontrei na Internet faz parte do que preciso, busca o Arquivo e baixa, só que tem dois problemas: Não pega o endereço completo, apenas o nome da imagem, e o outro é que você precisa clicar na célula onde vai iniciar o primeiro nome. No meu caso seria: NOME DA IMAGEM Iniciar na célula (B2) e ENDEREÇO COMPLETO DA IMAGEM na (C3). Gostaria de saber se é possível adapta esse código para realizar essa façanha. Option Explicit Sub GetFileNames() Dim xRow As Long Dim xDirect, xFname, InitialFoldr InitialFoldr = "C:\" With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = Application.DefaultFilePath & "\" .Title = " Selecione o Aquivo " .InitialFileName = InitialFoldr .Show If .SelectedItems.Count <> 0 Then xDirect = .SelectedItems(1) & "\" xFname = Dir(xDirect, 7) Do While xFname <> "" ActiveCell.Offset(xRow) = xFname xRow = xRow + 1 xFname = Dir Loop End If End With End Sub
  19. doug21

    Visual Basic VBA Excel (Print Screen)

    Pessoal, boa tarde! Tenho uma macro que roda em um ambiente de emulação e tira um print da tela, porém gostaria de salvar este print que foi feito com VBA (na área de transferência) e salvá-lo como arquivo, sem mexer com Paint ou algo do tipo. Procurei em vários sites, mas não achei nenhum conteúdo. O formato vem como .png Atenciosamente, Douglas
  20. Boa tarde, Estou trabalhando em um sistema de vendas no visual basic com banco MySql, atualmente funciona da seguinte forma. Quando eu lanço o produto na venda ele grava no banco o produto com a chave id venda zerado. ou seja um registro temporario. se eu fecho o formulario sem finalizar ele exclui os produtos do banco que estão com id venda zerados, e quando registro a venda, ele altera os produtos para o id correto. o estoque é retirado da tabela de produtos no momento que adiciono o resgistro temporario, mas nao sei como fazer para o estoque retornar em caso de fechar sem concluir, no momento de excluir os registros temporarios. entao minha duvida se resume em: como fazer para pegar a quantidade no de cada produto individual retornar a quantidade pro estoque e excluir, sem precisar ir la e selecionar um por um no DataGridView? ou enta resolveria remover o estoque so no momento de fechar o pedido, mas ai me vem a mesma pergunta q fiz a cima, como pegar os valores sem precisar selecionar e pegar o ID de cada um? A tabela de detalhe de venda tem essa estrutura id - id_venda - id_produto - quantidade - valor_unit - Subtotal
  21. Bom dia, pessoal! Gostaria da ajuda de vocês para o seguinte problema: Preciso comparar os dados entre duas planilhas do mesmo arquivo de trabalho. Planilha de BASE e Planilha de RESULTADOS. Para isso gostaria de fazer uma rotina de VBA, pois terei que fazer essa comparação várias vezes. Preciso verificar se todos os dados da BASE estão contidos em RESULTADOS. Caso não esteja, preciso copiar a linha da BASE e colar em RESULTADOS. Como no exemplo, as linhas 5, 9 e 10 da BASE não estão em RESULTADOS, então preciso copiar essas linhas para RESULTADOS. Não precisa ser colado na sequência, pode ser na última linha da planilha, o importante é ter todos os dados. Desde já agradeço a ajuda. Exemplo BASE DE DADOS Exemplo RESULTADOS
  22. boa noite Minha planilha excel traz os seguintes resultados: gravei uma macro que copia e cola em outra planilha, sendo que ao copiar desloca para baixo. quando é colado o excel insere outra linha, então minha formula somase mesmo travando com $ altera o valor da formula, com essa alteração, não consigo fazer com que as linhas se correspondem e minha formula nao funciona. gostaria da ajuda de vocês desde ja agradeço
  23. Boa tarde. Conseguiriam me auxiliar mais uma vez, por gentileza. Localizei este código para importação CSV, porém quando fui conferir os dados importados, o último registro de cada arquivo não carrega, tentei identificar o erro no código abaixo, mas meu conhecimento não permitiu localizá-lo. Dim xSht As Worksheet Dim xWb As Workbook Dim xStrPath As String Dim xFileDialog As FileDialog Dim xFile As String On Error GoTo ErrHandler Set W = Sheets("Arq_Recarga_Certa") W.Select W.UsedRange.EntireColumn.Delete Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker) xFileDialog.AllowMultiSelect = False xFileDialog.Title = "Selecione o diretório que conste os arquivos de Recarga Certa" If xFileDialog.Show = -1 Then xStrPath = xFileDialog.SelectedItems(1) End If If xStrPath = "" Then Exit Sub Set xSht = ThisWorkbook.ActiveSheet Application.ScreenUpdating = False xFile = Dir(xStrPath & "\" & "*.csv") Do While xFile <> "" Set xWb = Workbooks.Open(xStrPath & "\" & xFile) ActiveSheet.UsedRange.Copy xSht.Range("A" & Rows.Count).End(xlUp) xWb.Close False xFile = Dir Loop
  24. Boa tarde pessoal, tudo bem? Estou precisando de uma ajuda para criar uma macro do excel. Nessa Macro, eu teria que percorrer todas as linhas da minha tabela(a quantidade de linhas sempre mudam), fazer uma comparação se na tabela possui código e número (Coluna A e B ) iguais, se possuir, ela faria o agrupamento dos valores da nota(Coluna C, D e E ) em uma linha só. Coloquei em anexo um exemplo de como preciso que seja feito. Agradeço desde já a ajuda, Muito obrigado! Novo(a) Planilha do Microsoft Excel.xlsx
  25. Bom dia amigos. Na pasta anexa, tenho uma planilha ROMANEIO, que faço a impressão manual de uma quantidade variável conforme a necessidade. A cada 30 linhas de documentos preenchidos na página LISTAGEM, preciso de uma página dessas, e na célula E4 já coloquei um contador pra saber quantas imprimir. A planilha LISTAGEM tem uma função IMPRIMIR, para imprimir as páginas da planilha IMPRESSAO. O que eu precisava, era que antes de imprimir as páginas da planilha IMPRESSAO, a função imprimisse a planilha ROMANEIO, na quantidade necessária, conforme a quantidade de linhas preenchidas, entre 1 e 30 linhas, 1 página, entre 31 e 60 linhas, 2 páginas, entre 61 e 90 linhas 3 páginas e assim por diante. O limite de linhas pra lançar são 256, a cada 30 linhas, eu precisava de uma página de romaneio, então a quantidade varia entre 1 e 9 páginas. Obrigado!!! PLANILHA.rar

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

×
×
  • Criar novo...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

ebook grátis "Aprenda a ler resistores e capacitores", de Gabriel Torres

GRÁTIS! BAIXE AGORA MESMO!