Ir para conteúdo
Fórum Script Brasil

KodornaRocks

Membros
  • Total de itens

    13
  • Registro em

  • Última visita

Tudo que KodornaRocks postou

  1. De 2 a uma, Ou isso aqui resolve: modelo = Str(Cells(x, 1).Value) OUUUUU a célula x,1 possui um valor que não bate com nenhum sheet que exista no workbook... faz algum teste do genero: found = 0 modelo = Str(Cells(x, 1).Value) For Each Worksheet In Worksheets If Worksheet.Name = modelo Then found = 1 End If Next Worksheet If found = 0 Then MsgBox "O Worksheet '" & modelo & "' não pode ser encontrado dentre os Worksheets do Workbook atual." Else Worksheets(modelo).Select End If
  2. KodornaRocks Obrigado por responder a minha pergunta, porem não consegui entender a sua resposta..poderia explica-la por gentileza? Pelo que entendi você só queria saber o comando que arredonda um número com N casas depois da virgula para apenas 2, não é? Seguindo a sintaxe: Round("Valor Float", "Numero de casas depois da vírgula") Ex 1: a = 11/3 ' Logo o valor de a é 3,666...... b = Round(a,2) MsgBox b ' A resposta será 3,67 Ex 2: a = 11/3 ' Logo o valor de a é 3,666...... b = Round(a,3) MsgBox b ' A resposta será 3,667 Ex 3: a = 10/3 ' Logo o valor de a é 3,333...... b = Round(a,2) MsgBox b ' A resposta será 3,33 Pelo menos foi isso que eu entendí de sua pergunta.
  3. Ele não quer que delete, ele quer que fique o aviso "Entre em contato comigo para comprar outra licença!" =D
  4. KodornaRocks

    Filtro via VBA

    http://scriptbrasil.com.br/forum/index.php?showtopic=133452
  5. KodornaRocks

    Ajuda!

    D: nunca aconteceu comigo enfim, tenta colocar pro excel recalcular depois da sub... Faça algo mais ou menos assim: Application.DisplayAlerts = False Application.ScreenUpdating = False @@@ SEU CÓDIGO AQUI @@@@ Application.Calculate Application.DisplayAlerts = True Application.ScreenUpdating = True
  6. bom, eu não consegui uma formula no excel para forçar esse erro pra testar HAUHAUHAU.. mas enfim testei com o !REF For i = 1 To 480 For j = 1 To 40 If IsError(Worksheet.Cells(i, j).Value) Then If Worksheet.Cells(i, j).Value = CVErr(xlErrRef) Then err_count = err_count + 1 err_locate(err_count) = Worksheet.Name err_locate(err_count) = err_locate(err_count) & "-" & i & "-" & j Worksheet.Cells(i, j).Value = "-" End If End If Next j Next i Funcionou perfeitamente pra mim.. tipo, o valor tem importancia se for erro? caso não tenha, taca um "on error resume next" e já era Espero ter ajudado boróther, boa sorte ae
  7. KodornaRocks

    ajuda com data

    Acho que você quer algo assim: Dim dia As Date dia = "01/01/2009" semana = 0 If Year(dia) > 2009 Then For i = 2009 To Year(dia) - 1 semana = semana + WorksheetFunction.WeekNum(DateSerial(i, 12, 31)) - 1 Next i End If semana = semana + WorksheetFunction.WeekNum(dia) MsgBox semana
  8. Eu entendi o que você quer fazer, enfim, se você quer limitar sem o uso de código: Dim daate As Date daate = "3/9/2009" If Date < daate Then Call AddMenus Else On Error Resume Next Application.CommandBars("Worksheet Menu Bar").Controls("&KTools").Delete On Error GoTo 0 MsgBox "Desculpe o incômodo, sua licença do KTools expirou, procure informações com o seguinte contato:" & vbCrLf & _ "Diogo Lima Paim - diogo.paim@egs.com.br - 011 93511493" End If Agora para o uso de códigos (Licensas, GUIs) .. você vai precisar de uma pagina web para isso... Ai você faria a sua planílha acessar a pagina da seguinte forma: Workbooks.Open "http://seusite.seudominio/licensecheck.php?licenseID=" & license E caso ela receba na célula A1 por exemplo, 1 e na célula A2 um nome de usuário, na célula A3 a data que expira a licença, ela confirme a licença da ferramenta e a data para expirar. Em server side, você só deve tomar cuidado para deixar que cada licença só pode ser acessada 2x anted de deixar 0 na primeira linha, pois o Office ele manda uma query na pagina pra ver se existe antes de abrir.. conta 2 acessos..serverside a resposta do servidor seria algo dessa maneira: if ($row['use'] =< 2) { echo "1/r".$usercontrol_row['userrealname']."/r".$row['expiration_period"]; UPDATE o campo USE no DB incrementando em 1. } Else { echo "0/r0/r0" } Espero ter ajudado em algo, um grande abraço!
  9. Isso deve lhe ajudar: For i = 1 To 65536 For j = 1 To 256 Workbooks("Planilha1.xls").Worksheets("Plan1").Cells(i, j).Value = Workbooks("Planilha2.xls").Worksheets("Plan1").Cells(i, j).Value Next j Next i Não sei bem como é o ambiente da planílha se não poderiamos usar xlTypeLastCell para demorar um pouco menos a execução.
  10. Se você está em um módulo, para usar referencia a um formulário: myVar = UserForm1.TextBox1.Value Worksheets("Sheet1").Cells(1,1).Value = myVar o que faltou no seu exemplo alí foi o userform do campo txt_data... você pode ter 10 userforms e dentro de cada 1 deles uma TextBox1 que não da nada... Se você tivesse colocado este código dentro da sub de algum botão do mesmo forumlário da textbox, não daria esse problema. Wah.. acho que agora compliquei.. enfim... testa isso ae que eu mandei
  11. Dim linha_inicial, colunacomparada, counter As Integer Dim novo_valor As Variant linha_inicial = 2 'Primeira linha de valores da tabela coluna_comparada = 3 'Coluna onde deseja procurar o valor novo_valor = "valorqualquer" 'Valor que não pode ter duplicado counter = 0 'Seta nosso contador de redundâncias For i = linha_inicial To Cells.SpecialCells(xlCellTypeLastCell).Row If Cells(i, coluna_comparada).Value <> "" Then If Cells(i, coluna_comparada).Value = novo_valor Then counter = counter + 1 Else GoTo next_00 End If Next i next_00: a = 6 '6 é o valor de a caso a resposta do msgbox seja Sim. If counter <> 0 Then a = MsgBox("Esse valor já existe nessa coluna, deseja prosseguir?", vbYesNo, "Redundância encontrada") If a <> 6 Then Exit Sub
  12. Sub teste() a = 11 / 3 MsgBox Round(a, 2) End Sub
×
×
  • Criar Novo...