Estou automatizando um restaurante por quilho onde a Balança possui uma planilha, que, ao abrir uma comanda, cadastra-a com um ID em uma planilha de BD, e o Caixa por sua vez possui outra planilha onde capta os valores do BD por PROCV.
Por não conhecer VBA suficiente para programar, peguei um código similar e editei para a minha finalidade, abaixo segue o código:
Sub ABRIR_COMANDA()
'VARIÁVEL DE REGISTRO DOS ORÇAMENTOS CADASTRADOS
Dim NR As Long
'ATUALIZA DADOS DA DO BANCO DE DADOS BASEADOS NOS DADOS DO ORÇAMENTO
Application.ScreenUpdating = False
Dim COD As Integer
Dim NOME As String
Dim TELEFONE_RESIDENCIAL As String
Dim TELEFONE_COMERCIAL As String
Dim TELEFONE_CELULAR As String
Dim N As String
Dim ENDERECO As String
Dim AP As Variant
Dim EDIFICIO As String
Dim L1_LOCAL_INSTALACAO As Double
Dim L1_ALT As Variant
Dim L1_LARG As String
Dim L1_ALT_10 As Double
Dim L1_ALT_7 As Double
Dim L1_ALT_5 As Variant
Dim L2_LOCAL_INSTALACAO As String
Dim L2_ALT As Variant
Dim L2_LARG As String
Dim L2_ALT_10 As Double
Dim L2_ALT_7 As Double
Dim L2_ALT_5 As Variant
Dim L3_LOCAL_INSTALACAO As String
Dim L3_ALT As Variant
Dim L3_LARG As String
Dim L3_ALT_10 As Double
Dim L3_ALT_7 As Double
Dim L3_ALT_5 As Variant
Dim L4_LOCAL_INSTALACAO As String
Dim L4_ALT As Variant
Dim L4_LARG As String
Dim L4_ALT_10 As Double
Dim L4_ALT_7 As Double
Dim L4_ALT_5 As Variant
Dim L5_LOCAL_INSTALACAO As String
Dim L5_ALT As Variant
Dim L5_LARG As String
Dim L5_ALT_10 As Double
Dim L5_ALT_7 As Double
Dim L5_ALT_5 As Variant
Dim L6_LOCAL_INSTALACAO As String
Dim L6_ALT As Variant
Dim L6_LARG As String
Dim L6_ALT_10 As Double
Dim L6_ALT_7 As Double
Dim L6_ALT_5 As Variant
Dim L7_LOCAL_INSTALACAO As String
Dim L7_ALT As Variant
Dim L7_LARG As String
Dim L7_ALT_10 As Double
Dim L7_ALT_7 As Double
Dim L7_ALT_5 As Variant
Dim L8_LOCAL_INSTALACAO As String
Dim L8_ALT As Variant
Dim L8_LARG As String
Dim L8_ALT_10 As Double
Dim L8_ALT_7 As Double
Dim L8_ALT_5 As Variant
Dim L9_LOCAL_INSTALACAO As String
Dim L9_ALT As Variant
Dim L9_LARG As String
Dim L9_ALT_10 As Double
Dim L9_ALT_7 As Double
Dim L9_ALT_5 As Variant
Dim L10_LOCAL_INSTALACAO As String
Dim L10_ALT As Variant
Dim L10_LARG As String
Dim L10_ALT_10 As Double
Dim L10_ALT_7 As Double
Dim L10_ALT_5 As Variant
Dim L11_LOCAL_INSTALACAO As Variant
Dim L11_ALT_5 As Variant
'SELECIONA A ABA DA BALANÇA
Sheets("BALANÇA").Select
'VERIFICA SE O CAMPO CLIENTE ESTÁ VAZIO, SE não TIVER PREENCHE OS CAMPOS
If IsEmpty(Range("B5").Value) = False Then
'AS VARIAVEIS RECEBEM OS DADOS DA PLANILHA
COD = Range("B3").Value 'ID
NOME = Range("D3").Value 'NOME
TELEFONE_RESIDENCIAL = Range("C5").Value 'CPF
TELEFONE_COMERCIAL = Range("C4").Value 'SEXO
TELEFONE_CELULAR = Range("F4").Value 'Data de Nascimento
ENDERECO = Range("F5").Value 'E-mail
N = Range("J3").Value 'Dia
AP = Range("L3").Value 'Hora
EDIFICIO = Range("H7").Value
L1_LOCAL_INSTALACAO = Range("A41").Value 'Pega o Peso do Prato
L1_ALT = Range("C41").Value 'Preço do Prato
L1_LARG = Range("D41").Value 'Nome da Bebida
L1_ALT_10 = Range("E41").Value 'Quantidade de Bebida
L1_ALT_7 = Range("F41").Value 'Sobremesa
L1_ALT_5 = Range("G41").Value 'SubTotal
L2_LOCAL_INSTALACAO = Range("A42").Value 'Peso do Prato
L2_ALT = Range("C42").Value 'Preço do Prato
L2_LARG = Range("D42").Value 'Nome da Bebida
L2_ALT_10 = Range("E42").Value 'Quantidade de Bebida
L2_ALT_7 = Range("F42").Value 'Sobremesa
L2_ALT_5 = Range("G42").Value 'SubTotal
L3_LOCAL_INSTALACAO = Range("A43").Value 'Peso do Prato
L3_ALT = Range("C43").Value 'Preço do Prato
L3_LARG = Range("D43").Value 'Nome da Bebida
L3_ALT_10 = Range("E43").Value 'Quantidade de Bebida
L3_ALT_7 = Range("F43").Value 'Sobremesa
L3_ALT_5 = Range("G43").Value 'SubTotal
L4_LOCAL_INSTALACAO = Range("A44").Value 'Peso do Prato
L4_ALT = Range("C44").Value 'Preço do Prato
L4_LARG = Range("D44").Value 'Nome da Bebida
L4_ALT_10 = Range("E44").Value 'Quantidade de Bebida
L4_ALT_7 = Range("F44").Value 'Sobremesa
L4_ALT_5 = Range("G44").Value 'SubTotal
L5_LOCAL_INSTALACAO = Range("A45").Value 'Peso do Prato
L5_ALT = Range("C45").Value 'Preço do Prato
L5_LARG = Range("D45").Value 'Nome da Bebida
L5_ALT_10 = Range("E45").Value 'Quantidade de Bebida
L5_ALT_7 = Range("F45").Value 'Sobremesa
L5_ALT_5 = Range("G45").Value 'SubTotal
L6_LOCAL_INSTALACAO = Range("A46").Value 'Peso do Prato
L6_ALT = Range("C46").Value 'Preço do Prato
L6_LARG = Range("D46").Value 'Nome da Bebida
L6_ALT_10 = Range("E46").Value 'Quantidade de Bebida
L6_ALT_7 = Range("F46").Value 'Sobremesa
L6_ALT_5 = Range("G46").Value 'SubTotal
L7_LOCAL_INSTALACAO = Range("A47").Value 'Peso do Prato
L7_ALT = Range("C47").Value 'Preço do Prato
L7_LARG = Range("D47").Value 'Nome da Bebida
L7_ALT_10 = Range("E47").Value 'Quantidade de Bebida
L7_ALT_7 = Range("F47").Value 'Sobremesa
L7_ALT_5 = Range("G47").Value 'SubTotal
L8_LOCAL_INSTALACAO = Range("A48").Value 'Peso do Prato
L8_ALT = Range("C48").Value 'Preço do Prato
L8_LARG = Range("D48").Value 'Nome da Bebida
L8_ALT_10 = Range("E48").Value 'Quantidade de Bebida
L8_ALT_7 = Range("F48").Value 'Sobremesa
L8_ALT_5 = Range("G48").Value 'SubTotal
L9_LOCAL_INSTALACAO = Range("A49").Value 'Peso do Prato
L9_ALT = Range("C49").Value 'Preço do Prato
L9_LARG = Range("D49").Value 'Nome da Bebida
L9_ALT_10 = Range("E49").Value 'Quantidade de Bebida
L9_ALT_7 = Range("F49").Value 'Sobremesa
L9_ALT_5 = Range("G49").Value 'SubTotal
L10_LOCAL_INSTALACAO = Range("A50").Value 'Peso do Prato
L10_ALT = Range("C50").Value 'Preço do Prato
L10_LARG = Range("D50").Value 'Nome da Bebida
L10_ALT_10 = Range("E50").Value 'Quantidade de Bebida
L10_ALT_7 = Range("F50").Value 'Sobremesa
L10_ALT_5 = Range("G50").Value 'SubTotal
L11_LOCAL_INSTALACAO = Range("B51").Value
L11_ALT_5 = Range("G51").Value
'MUDA PARA A PLANILHA DE MOVIMENTO_DO_DIA E SALVA OS DADOS
Sheets("MOVIMENTO_DO_DIA").Select
LFound = False
lrow = 3
Do While LFound = False
'PROCURA O PRIMEIRO REGISTRO EM BRANCO PARA COLOCAR ALI OS DADOS DA PLANILHA
If IsEmpty(Range("A" & lrow).Value) = True Then
LFound = True
End If
lrow = lrow + 1
Loop
Sheets("MOVIMENTO_DO_DIA").Select
Range("a3").End(xlDown).Select
'NR = ActiveCell.Row
'Range("A65536").End(xlUp).Offset(1, 0).Select
'ActiveCell.Offset(0, 1).Value = NR
Range("A" & lrow - 1).Value = N
Range("B" & lrow - 1).Value = AP
Range("C" & lrow - 1).Value = lrow - 3
Range("D" & lrow - 1).Value = COD
Range("E" & lrow - 1).Value = NOME
Range("F" & lrow - 1).Value = TELEFONE_RESIDENCIAL
Range("G" & lrow - 1).Value = TELEFONE_COMERCIAL
Range("H" & lrow - 1).Value = TELEFONE_CELULAR
Range("I" & lrow - 1).Value = ENDERECO
Range("EA" & lrow - 1).Value = N
Range("EC" & lrow - 1).Value = EDIFICIO
Range("J" & lrow - 1).Value = L1_LOCAL_INSTALACAO 'Cola o Peso do prato
Range("K" & lrow - 1).Value = L1_ALT
Range("L" & lrow - 1).Value = L1_LARG
Range("M" & lrow - 1).Value = L1_ALT_10
Range("O" & lrow - 1).Value = L1_ALT_7
Range("P" & lrow - 1).Value = L1_ALT_5
Range("Q" & lrow - 1).Value = L2_LOCAL_INSTALACAO
Range("R" & lrow - 1).Value = L2_ALT
Range("S" & lrow - 1).Value = L2_LARG
Range("T" & lrow - 1).Value = L2_ALT_10
Range("V" & lrow - 1).Value = L2_ALT_7
Range("W" & lrow - 1).Value = L2_ALT_5
Range("X" & lrow - 1).Value = L3_LOCAL_INSTALACAO
Range("Y" & lrow - 1).Value = L3_ALT
Range("Z" & lrow - 1).Value = L3_LARG
Range("AA" & lrow - 1).Value = L3_ALT_10
Range("AC" & lrow - 1).Value = L3_ALT_7
Range("AD" & lrow - 1).Value = L3_ALT_5
Range("AE" & lrow - 1).Value = L4_LOCAL_INSTALACAO
Range("AF" & lrow - 1).Value = L4_ALT
Range("AG" & lrow - 1).Value = L4_LARG
Range("AH" & lrow - 1).Value = L4_ALT_10
Range("AJ" & lrow - 1).Value = L4_ALT_7
Range("AK" & lrow - 1).Value = L4_ALT_5
Range("AL" & lrow - 1).Value = L5_LOCAL_INSTALACAO
Range("AM" & lrow - 1).Value = L5_ALT
Range("AN" & lrow - 1).Value = L5_LARG
Range("AO" & lrow - 1).Value = L5_ALT_10
Range("AQ" & lrow - 1).Value = L5_ALT_7
Range("AR" & lrow - 1).Value = L5_ALT_5
Range("AS" & lrow - 1).Value = L6_LOCAL_INSTALACAO
Range("AT" & lrow - 1).Value = L6_ALT
Range("AU" & lrow - 1).Value = L6_LARG
Range("AV" & lrow - 1).Value = L6_ALT_10
Range("AX" & lrow - 1).Value = L6_ALT_7
Range("AY" & lrow - 1).Value = L6_ALT_5
Range("AZ" & lrow - 1).Value = L7_LOCAL_INSTALACAO
Range("BA" & lrow - 1).Value = L7_ALT
Range("BB" & lrow - 1).Value = L7_LARG
Range("BC" & lrow - 1).Value = L7_ALT_10
Range("BE" & lrow - 1).Value = L7_ALT_7
Range("BF" & lrow - 1).Value = L7_ALT_5
Range("BG" & lrow - 1).Value = L8_LOCAL_INSTALACAO
Range("BH" & lrow - 1).Value = L8_ALT
Range("BI" & lrow - 1).Value = L8_LARG
Range("BJ" & lrow - 1).Value = L8_ALT_10
Range("BL" & lrow - 1).Value = L8_ALT_7
Range("BM" & lrow - 1).Value = L8_ALT_5
Range("BN" & lrow - 1).Value = L9_LOCAL_INSTALACAO
Range("BO" & lrow - 1).Value = L9_ALT
Range("BP" & lrow - 1).Value = L9_LARG
Range("BQ" & lrow - 1).Value = L9_ALT_10
Range("BS" & lrow - 1).Value = L9_ALT_7
Range("BT" & lrow - 1).Value = L9_ALT_5
Range("BU" & lrow - 1).Value = L10_LOCAL_INSTALACAO
Range("BV" & lrow - 1).Value = L10_ALT
Range("BW" & lrow - 1).Value = L10_LARG
Range("BX" & lrow - 1).Value = L10_ALT_10
Range("BZ" & lrow - 1).Value = L10_ALT_7
Range("CA" & lrow - 1).Value = L10_ALT_5
Range("CB" & lrow - 1).Value = L11_LOCAL_INSTALACAO
Range("CC" & lrow - 1).Value = L11_ALT_5
End If
MsgBox ("Comanda cadastrado com sucesso!")
Application.ScreenUpdating = True
Sheets("BALANÇA").Select
LIMPAR_COMANDA_BALANCA
ENUMERA_ID
End Sub
Meu problema é o seguinte:
O código esta programado para procurar uma linha vazia, inserir +1 ao número de ID da linha anterior e despejar nela as informações da Balança.
Para reproduzir este código para o Caixa eu preciso que em vez de procurar uma linha vazia, ele procure o código (que ta em B3) e despeje as informações na mesma linha, substituindo os valores.
Pergunta
Daniel Brandt
Boa noite,
Estou automatizando um restaurante por quilho onde a Balança possui uma planilha, que, ao abrir uma comanda, cadastra-a com um ID em uma planilha de BD, e o Caixa por sua vez possui outra planilha onde capta os valores do BD por PROCV.
Segue algumas fotos
Balança: http://i.imgur.com/NcX55t4.jpg
Caixa: http://i.imgur.com/mKNAqYM.jpg
Banco de Dados: http://i.imgur.com/ceQmsZW.jpg
Por não conhecer VBA suficiente para programar, peguei um código similar e editei para a minha finalidade, abaixo segue o código:
Meu problema é o seguinte:
O código esta programado para procurar uma linha vazia, inserir +1 ao número de ID da linha anterior e despejar nela as informações da Balança.
Para reproduzir este código para o Caixa eu preciso que em vez de procurar uma linha vazia, ele procure o código (que ta em B3) e despeje as informações na mesma linha, substituindo os valores.
Será que vocês conseguem me ajudar?
Grande abraço!
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.