
kuroi
Membros-
Total de itens
7.184 -
Registro em
-
Última visita
Tudo que kuroi postou
-
em vez de declarar o objeto worksheets, tente pegar pelo nome direto. exemplo: Worksheets(data).Select Worksheets(data).Copy Before:=Workbooks( _ "Arquivo de destino").Sheets(53)[/code] de qualquer modo, você ta declarando como Worksheets. não abri o excel aqui pra testar, mas acho q isso ai seria uma colecao de Worksheets, não?? pra declarar um unica worksheet, acho q seria Worksheet sem s no final.
-
luckxander, onde você ta pondo os campos?? no page footer?? se você puser no report footer vai aparecer so no final, não vai?? de qualquer forma acho q o modo certo pra esconder nas demais paginas seria esse: if PageNumber = TotalPageCount then false else true[/code] assim deve funcionar, veja ai.
-
erika, essa funcao ai ta muito complicada. peguei essa daqui ó: Public Function CheckCNPJ(ByVal sCNPJ As String) As Boolean 'Objetivo: esta function valida o CNPJ 'Parametro: sCnpj número do sCnpj 'Retorno: True se for válido - False se não for válido Dim VAR1, VAR2, VAR3, VAR4, VAR5 If Len(sCNPJ) = 8 And Val(sCNPJ) > 0 Then VAR1 = 0 VAR2 = 0 VAR4 = 0 For VAR3 = 1 To 7 VAR1 = Val(Mid(sCNPJ, VAR3, 1)) If (VAR1 Mod 2) <> 0 Then VAR1 = VAR1 * 2 End If If VAR1 > 9 Then VAR2 = VAR2 + Int(VAR1 / 10) + (VAR1 Mod 10) Else VAR2 = VAR2 + VAR1 End If Next VAR3 VAR4 = IIf((VAR2 Mod 10) <> 0, 10 - (VAR2 Mod 10), 0) If VAR4 = Val(Mid(sCNPJ, 8, 1)) Then CheckCNPJ = True Else CheckCNPJ = False End If Else If Len(sCNPJ) = 14 And Val(sCNPJ) > 0 Then VAR1 = 0 VAR3 = 0 VAR4 = 0 VAR5 = 0 VAR2 = 5 For VAR3 = 1 To 12 VAR1 = VAR1 + (Val(Mid(sCNPJ, VAR3, 1)) * VAR2) VAR2 = IIf(VAR2 > 2, VAR2 - 1, 9) Next VAR3 VAR1 = VAR1 Mod 11 VAR4 = IIf(VAR1 > 1, 11 - VAR1, 0) VAR1 = 0 VAR3 = 0 VAR2 = 6 For VAR3 = 1 To 13 VAR1 = VAR1 + (Val(Mid(sCNPJ, VAR3, 1)) * VAR2) VAR2 = IIf(VAR2 > 2, VAR2 - 1, 9) Next VAR3 VAR1 = VAR1 Mod 11 VAR5 = IIf(VAR1 > 1, 11 - VAR1, 0) If (VAR4 = Val(Mid(sCNPJ, 13, 1)) And VAR5 = Val(Mid(sCNPJ, 14, 1))) Then CheckCNPJ = True Else CheckCNPJ = False End If Else CheckCNPJ = False End If End If End Function[/code] e ta funcionando certinho aqui, é so passar o cnpj sem ponto, barras, etc. exemplo: [code]Private Sub CNPJ_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) If CheckCNPJ(CNPJ.Text) Then 'valido Else 'invalido End If End Sub fonte: http://desenvolvedores.net/modules.php?nam...icle&sid=49
-
ele esta o tempo todo o primero registro. você tem q dar um movenext dentro do loop pra ir pro proximo registro. mas na verdade pra saber qtos registros tem não precisa fazer isso, é so pegar a propriedade RecordCount do RecordSet (so não sei se no DAO tb tem ela com esse nome, e se o modo como você ta abrindo te da permissao pra acessa-la).
-
visual basic 2008 é .net, la não tem sstab, e não sei como muda a cor, mas quando for postar sobre visual basic 2008 poste na sala de .net. vo mover esse tópico pra la pra ver se la alguém sabe como resolver.
-
Soma num intervalo de valores, mas que não ultrapasse o limite de X?
pergunta respondeu ao BStar de kuroi em Crystal Reports
Bstar, você já tentou aquilo q eu falei do Group Selecion Formula?? olha la, entra em menu Report -> Edit Selecition Formula. você vai ver as opcoes Record e Group. a opcao Group permite q você filtre por campos sumarizados. ai você poria o filtro de menor de 500 nela. -
nem, moro em sp. essa parte do for ai não entendi direito o q você precisa, mas se precisar de ajuda, pode postar ai.
-
erika, antes de executar o programa, aperta F9 nessa linha ai (ela vai ficar vermelha) e ai rode normalmente e tenta validar esse CNPJ. quando chegar nessa linha, a execucao deve pausar. ai se você parar o mouse em cima da variavel intNumero, ele deve mostar o valor dela. ai poste ai qual é o valor q ele mostrou.
-
não entendi direito. pra q você poe o null??
-
acho q é porque você ta tentando comparar numeros quando o conteudo do textbox não é numerico (o q inclui quando ele esta em branco). o percMA.Value > 100 vai retornar erro porque o percMA.Value não é numerico. você pode testar antes se é numerico com a funcao IsNumeric().
-
o codigo é esse: Sub Macro1() Selection.MoveUp Unit:=wdLine, Count:=1 Selection.EndKey Unit:=wdLine Selection.HomeKey Unit:=wdLine, Extend:=wdExtend Dim a As String a = CDbl(Selection.Text) Selection.MoveDown Unit:=wdLine, Count:=1 Selection.InsertRowsAbove 1 Selection.HomeKey Unit:=wdLine Selection.TypeText Text:=CStr(a + 1) Selection.MoveDown Unit:=wdLine, Count:=1 End Sub[/code] não entendi essa parte do for each. o q esse codigo faz é o seguinte: estando na linha logo abaixo da tabela (na posicao certinha pra acrescentar nova linha), eu movo o cursor uma linha pra cima, o q vai levar exatamente pra celula onde ta o numero da ultima linha. depois eu simulo o pressionamento de END e depois Shift + HOME pra selecionar a celula toda (assim o ultimo numero vai estar guardado na selecao) e pego o valor da selecao (o ultimo numero) e gravo na variavel a. depois, movo de volta pra linha abaixo da tabela (posicao certinha pra acrescentar nova linha), e insiro a linha, e escrevo, na primeira celula, o valor de a + 1. depois movo novamente pra linha abaxo da tabela pra poder acrescentar nova linha quando a macro for executada de novo.
-
(Resolvido) Seqüência de entrada não estava em um formato incorreto.
pergunta respondeu ao rodrigotnoma de kuroi em .NET
então, se o textbox ta vazio, ele tb entende como não numerico. ainda acho q aquilo q eu falei vai resolver. olhai: http://groups.google.com/group/microsoft.p...19147d6722b7fb9 http://msdn.microsoft.com/pt-br/library/sy...e.tryparse.aspx -
faca exatamente a mesma coisa na linha: If Not calculacpf(Text1.Text) Then
-
você vai usar o tb_unidades.ID em algum lugar?? tire ele do select, pegue so os outros dois campos.
-
(Resolvido) Seqüência de entrada não estava em um formato incorreto.
pergunta respondeu ao rodrigotnoma de kuroi em .NET
acho q no textbox você tem um texto não numerico, não?? você teria antes q testar se é numerico. no visual basic sei q tem a funcao IsNumeric(), agora no c# não lembro se tem (e meu .net framework ta com pau aqui e não vo conseguir testar), mas faca uma busca no google. -
ai é isso q nos comentamos q você vai ter q fazer: so presta atencao na parte q eu pus em negrito. e so você saber onde ta o cursor, levar ele pra celula do ultimo numero, pegar o valor e somar + 1. aqui esta um exemplo duma tabela q faz isso: xxxxx.rar posicione o cursor na ultima linha do arquivo (não é a ultima linha da tabela, é a ultima linha do arquivo embaixo da tabela) e execute a macro1 q eu dexei salva. você vai ver q vai somar + 1 certinho. olhe la como ta o codigo e veja se você consegue adaptar.
-
troque: If Not ValidaCGC(Text1.Text) Then por: Dim xxx As String xxx = Replace(Text1.Text, ".", "") xxx = Replace(xxx, "-", "") xxx = Replace(xxx, "/", "") If Not ValidaCGC(xxx) Then[/code]
-
o q faz a funcao ListView_SetItem()?? o q é m_hwndLV e qual o valor contido nele?? pra q serve o tipo LVITEM?? pelo q entendi td isso são das APIs q você falou, certo?? imagino q você esteja usando elas pra incrementar o visual, certo?? minha recomendacao, é q você comente todas a partes do codigo relacionada a essas APIs, e veja se funciona direito. se for mesmo um problema relacionado com as APIs, depois va descomentando as linhas aos poucos pra ver se você descobre qual parte causa esse erro.
-
isso não tem a ver com o outro tópico q você já abriu?? mas então, não acho q tenha como desabilitar essa opcao, e tb não acho q não devia existir como, porque por macro é uma das maneiras mais faceis de espalhar virus ne. tem sempre q dexar o cara desabilitar. mas abra um novo tópico (ou se for o mesmo assunto do otro tópico, continue la) q sempre pode aparecer alguém com uma solucao.
-
erika, se eu entendi o problema q aconteceu com você, acho q é o seguinte. em programacao existem (entre muitos outros) dois tipos de dados: texto (String) e numero (Integer, Double, etc). o tipo texto guarda o texto mesmo. agora o tipo numero guarda o valor, essa é a diferenca. então, se você armazena o dado numa variavel ou campo numerico, por exemplo, o numero 2.356,50, o q ele guarda é o valor. não existe a mascara (não existe o ponto nem a virgula como texto). quando você poe a mascara (com a funcao Format()), o dado é transformado em String (texto). então 2356,50 é transformado em "2.356,50" por exemplo. não é mais um valor. agora é um texto como "kuroi" ou outro qualquer, entendeu?? agora, no excel, quando você poe um numero na celula, ele já interpreta como sendo do tipo numerico. e quando você poe o formato a partir do excel, ele apenas exibe o texto com a mascara. mas na celula, ele continua gravado como numero (valor). quando você seta o rowsource, ele entende q o dado esta la como numerico. então a mascara não existe. por isso ele exibe sem formato pra você. entretanto, se você setar o formato com o formato pelo vba direto na celula, ela é convertida pra string (texto). é esse codigo aqui q eu passei antes: Worksheets("Plan1").Range("A1").Value = Format(Worksheets("Plan1").Range("A1").Value, "#,###.00") ai o dado dentro da celula vai estar armazenado como texto. então o formato faz diferenca. então se você setar o rowsource depois de fazer isso, ele deve exibir a mascara certinho sim, pelo menos fiz esse teste aqui e deu certo.
-
esse codigo ta complicado. você já tentou ir avancando linha por linha com o F8 pra ver exatamente em qual linha do codigo ele exclui os items anteriores??
-
(Resolvido) Exibir barra de progresso ao executar T-SQL sem retorno?
pergunta respondeu ao vilmarbr de kuroi em Visual Basic
entendi. mas ai você não sabe quanto tempo vai demorar, a barra não vai servir pra nd. se você ainda quer por a barra so pra ilustrar, então faca do jeito q você ta fazendo, se você tem uma ideia de quanto tempo mais ou menos demora essa query, você podia ajustar o max e o timer pra demorar o tempo q você acha q vai levar e, pra impedir q estore a barra, você simplesmente parava de somar quando o value alcancar o max. -
(Resolvido) Exibir barra de progresso ao executar T-SQL sem retorno?
pergunta respondeu ao vilmarbr de kuroi em Visual Basic
o mais normal a fazer seria você atribuir o numero de querys q você vai executar ao max da progressbar. ai a cada um q for executado você soma mais 1. -
gabriel, você mudou alguma coisa dentro da funcao, ou foi so no lostfocus?? normalmente nas funcoes de validacao q você encontra por ai, tem q passar o parametro sem barra e sem pontos (então você tera q usar um replace para tira-los antes de chamar a funcao).
-
bom, você postou na sala de vba, no tópico escreveu sobre visual basic e já vi q no otro tópico você ta postando sobre visual basic .net aqui na sala de vba. então não sei qual dessas tres ferramentas você ta usando, então: - se for no visual basic 6, entre no menu Project -> Components e adicione o Microsoft Tabbed Dialog Control 6.0 q a sstab aparece na toolbox. - se for no vba, entre no menu Ferramentas -> Controles Adicionais e adicione o Microsoft Tabbed Dialog Control 6.0 q a sstab aparece na toolbox. - se for no visual basic.net, me avisa q movo o tópico pra area correta.