USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  VB + Planilha do Excel
Fuhrer
SP
SP - BRASIL
ENUNCIADA !
Postada em 21/02/2006 14:10 hs            
mas a minha duvida está exatamente na formatação =/
vlw pela ajuda
 
alguem tem algo q traga progresso?
TÓPICO EDITADO
 
Fuhrer
SP
SP - BRASIL
ENUNCIADA !
Postada em 22/02/2006 17:31 hs            
aew galera....
tow colocando como outra responsta pra o topico subir pq preciso disso com urgencia...
eu peguei um exemplo com um amigo....de como inserir dados...
ele tem um contador em mdb....
entaum ele insere no A(contador+1)
pra eu inserir mais nas coluas B C D......blz eu ja me liguei como eh...
soh q no exemplo dele...
num tem como eu poderia EDITAR um cadastro
e nem como BUSCAR um cadastro
   
Bruno
não registrado
ENUNCIADA !
Postada em 26/04/2011 18:42 hs   
Como voces determinam o caminho correto da planilha de origem? Não consegui de jeito nenhum...
   
J.Carlos
Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
ENUNCIADA !
Postada em 28/04/2011 08:14 hs            
Veja esse exemplo se ajuda em algo.
Private Sub Command1_Click()
    On Error Resume Next
    'variáveis para soma de horas
    Dim tempo As Long
    Dim min As Long, hora As Long
    Dim matriz
    Dim matriz2
    Dim TotalMin, TotalHoras
   
    Dim Linha As Double
    Dim Horas As Date
    Horas = "00:00"
    TotalMin = 0
    TotalHoras = 0
   
    Screen.MousePointer = 11
   
    'Carregar o Excel:
    Set Planilha = CreateObject("Excel.Application")
    Set PlanilhaExistente = Planilha.Workbooks.Open(App.Path & "pasta2.xls") ' chama a planilha existente
    Set NomePlanilha = Planilha.Worksheets("Plan1") ' a plan que ira receber os dados
   
    'valores nas células
    Data1.DatabaseName = App.Path & "compras.mdb"
    Data1.RecordSource = "select * from apontamento where nome='" & CboNome.Text & "' and datalancamento between #" & Format(TxtInicial.Text, "mm/dd/yyyy") & "# and #" & Format(TxtFinal.Text, "mm/dd/yyyy") & "# order by pspf,datalancamento desc"
    Linha = 5
    PsPf = 0
    Data1.Refresh
    Data1.Recordset.MoveMin
    While Not Data1.Recordset.EOF
       
        'por existir dias que não serão lançados, ou por serem feriados, finais de semana
        'ou mesmo por não ter 31 dias, foi colocado esse rotina para posicionar o dia correto
        If Data1.Recordset!Dia = "01" Then coluna = 13
        If Data1.Recordset!Dia = "02" Then coluna = 14
        If Data1.Recordset!Dia = "03" Then coluna = 15
        If Data1.Recordset!Dia = "04" Then coluna = 16
        If Data1.Recordset!Dia = "05" Then coluna = 17
        If Data1.Recordset!Dia = "06" Then coluna = 18
        If Data1.Recordset!Dia = "07" Then coluna = 19
        If Data1.Recordset!Dia = "08" Then coluna = 20
        If Data1.Recordset!Dia = "09" Then coluna = 21
        If Data1.Recordset!Dia = "10" Then coluna = 22
        If Data1.Recordset!Dia = "11" Then coluna = 23
        If Data1.Recordset!Dia = "12" Then coluna = 24
        If Data1.Recordset!Dia = "13" Then coluna = 25
        If Data1.Recordset!Dia = "14" Then coluna = 26
        If Data1.Recordset!Dia = "15" Then coluna = 27
        If Data1.Recordset!Dia = "16" Then coluna = 28
        If Data1.Recordset!Dia = "17" Then coluna = 29
        If Data1.Recordset!Dia = "18" Then coluna = 30
        If Data1.Recordset!Dia = "19" Then coluna = 31
        If Data1.Recordset!Dia = "20" Then coluna = 32
        If Data1.Recordset!Dia = "21" Then coluna = 2
        If Data1.Recordset!Dia = "22" Then coluna = 3
        If Data1.Recordset!Dia = "23" Then coluna = 4
        If Data1.Recordset!Dia = "24" Then coluna = 5
        If Data1.Recordset!Dia = "25" Then coluna = 6
        If Data1.Recordset!Dia = "26" Then coluna = 7
        If Data1.Recordset!Dia = "27" Then coluna = 8
        If Data1.Recordset!Dia = "28" Then coluna = 9
        If Data1.Recordset!Dia = "29" Then coluna = 10
        If Data1.Recordset!Dia = "30" Then coluna = 11
        If Data1.Recordset!Dia = "31" Then coluna = 12
       
        If PsPf = 0 Then
            PsPf = Data1.Recordset!PsPf
        Else
            If PsPf <> Data1.Recordset!PsPf Then
                If TotalMin <= 9 Then TotalMin = Format(TotalMin, "0#")
                If TotalHoras <= 9 Then TotalHoras = Format(TotalHoras, "0#")
                TotalHoras = TotalHoras & ":" & TotalMin
                NomePlanilha.Cells(Linha, 33).value = TotalHoras
                Linha = Linha + 1
                PsPf = Data1.Recordset!PsPf
                TotalMin = 0
                TotalHoras = 0
            End If
        End If
       
        NomePlanilha.Cells(Linha, 1).value = PsPf
        NomePlanilha.Cells(Linha, coluna).value = Data1.Recordset!Horas
       
        'se tivesse mais horas, poderia colocar dentro do array, separado
        'por vírgula e entre aspas
        matriz = Array(Data1.Recordset!Horas)
        tempo = 0
               
        'o For ,caso tenha mais horas ele parte para a próxima
        For I = 0 To UBound(matriz)
            matriz2 = Split(matriz(I), ",")
            'nesse caso ele dividiu a hora em duas partes, pois ele achou a ,
            tempo = tempo + (CLng(matriz2(0)) * 3600) 'retira a hora e transforma em nº
            tempo = tempo + (CLng(matriz2(1)) * 60) 'retira os minutos e transforma em nº
        Next
        tempo = tempo / 60 'Tempo = total em segundos
        min = tempo Mod 60
        hora = Val(tempo / 60) 'O val está pegando o número inteiro, já que os minutos já foram calculados
       
        TotalMin = TotalMin + min
        If TotalMin > 59 Then
            TotalMin = TotalMin - 60
            TotalHoras = TotalHoras + 1
        End If
        TotalHoras = TotalHoras + hora
        TotalMinGeral = TotalMinGeral + min
       
        Data1.Recordset.MoveNext
    Wend
    'exibe o último cálculo
    If TotalMin <= 9 Then TotalMin = Format(TotalMin, "0#")
    If TotalHoras <= 9 Then TotalHoras = Format(TotalHoras, "0#")
    TotalHoras = TotalHoras & ":" & TotalMin
    NomePlanilha.Cells(Linha, 33).value = TotalHoras
   
    Data1.RecordSource = "select * from pspf order by Npfps"
    Data1.Refresh
    Data1.Recordset.MoveMin
   
    Linha = 32
    While Not Data1.Recordset.EOF
        If Data1.Recordset!Status = "Edição" Then
            NomePlanilha.Cells(Linha, 10).value = Data1.Recordset!npfps
            NomePlanilha.Cells(Linha, 13).value = Data1.Recordset!Descricao1
            NomePlanilha.Cells(Linha, 25).value = Data1.Recordset!Cliente
            Linha = Linha + 1
        End If
        Data1.Recordset.MoveNext
    Wend
       
    NomePlanilha.Cells(31, 2).value = CboNome.Text
    NomePlanilha.Cells(32, 2).value = CDate(TxtInicial.Text) & "  " & CDate(TxtFinal.Text)
    NomePlanilha.Cells(36, 2).value = "_________________________________"
   
    Planilha.Visible = True
    Screen.MousePointer = 0
   
    Set Planilha = Nothing
    Set PlanilhaExistente = Nothing
    Set NomePlanilha = Nothing
End Sub
 
   
Página(s): 2/2     « ANTERIOR  


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página