Respostas criadas no fórum
-
AutorArtigos
-
25 de Junho de 2014 às 21:02 em resposta a: ViAtribuir valor a uma variavel de modo a que funcione numa subrotina #4714jorgerodAdministrador
Luis,
Em 1º lugar, para a próxima vez, envia o ficheiro em formato ZIP, talvez seja mais fácil.
Em 2º lugar, não pretenderás isto? : check = CheckBox1.Value
Fica bem e diz qq coisa, ok?
jorgerodAdministradorDesculpa, mas não me é possível perceber o que pretendes… é tudo demasiado vago. Apenas tens 3 colunas: a 1ª com uma referência, a 2ª com outra referência e a 3ª com um valor que mostras apenas com um número: 48. Dizes: “tenho que transferir essas unidades que podem não ser todas para a caixa de destino quando não é total a transferência o emulador fica com a caixa de origem se der enter ou espaço como esta na coluna D volta tudo ao inicio”. Não se percebe… 🙁 🙁
jorgerodAdministradorBoas,
Estive a ver a tua tabela, mas não consigo perceber o que pretendes, porque é muito vago o que referes: “quero a partir de um emulador ir ler esta tabela”… ou seja, ler a tabela para ver o quê? No exemplo, a tua coluna “C”, tem sempre o valor 48… Podes tentar explicar melhor? Talvez o melhor, seja escreveres no próprio ficheiro e a partir do que tens, o que pretendes, ok?
Fica bem e diz qq coisa.
jorgerodAdministradorVerifica se a imagem que te envio tem a resposta à tua questão:
Attachments:
You must be logged in to view attached files.jorgerodAdministradorTens que colocar aqui em formato legível e não em código, ok?
jorgerodAdministradorAlbino,
Ainda bem que te serviu.
BOA!!!!!
Abraço.
jorgerodAdministradorAlbino,
Experimenta o seguinte código e adapta:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
‘If the double click occurs on the header row or an empty cell, exit the macro.
If Target.Row = 1 Then Exit Sub
If Target.Row > ActiveSheet.UsedRange.Rows.Count Then Exit Sub
If Target.Column > ActiveSheet.UsedRange.Columns.Count Then Exit Sub‘Override the default double-click behavior with this function.
Cancel = True‘Declare your variables.
Dim wks As Worksheet, xRow As Long‘If an error occurs, use inline error handling.
On Error Resume Next‘Set the target worksheet as the worksheet whose name is listed in the first cell of the current row.
Set wks = Worksheets(“Folha2”)
‘If there is an error, exit the macro.
If Err > 0 Then
Err.Clear
Exit Sub
‘Otherwise, find the next empty row in the target worksheet and copy the data into that row.
Else
xRow = wks.Cells(wks.Rows.Count, 1).End(xlUp).Row + 1
wks.Range(wks.Cells(xRow, 1), wks.Cells(xRow, 7)).Value = _
Range(Cells(Target.Row, 1), Cells(Target.Row, 7)).Value
End If
End SubjorgerodAdministradorAlbino,
Podes tentar utilizar, para as duas situações (nome e depois password), uma tipologia de código, aproveitando este exemplo:
Sub x()
Dim xlVntPasswords As Variant
Dim xlInputPass As String
Dim xlOutputMessage As String
Dim i As IntegerxlInputPass = Application.InputBox(“Please Enter Password”, “Password Input”, Type:=2)
xlOutputMessage = “Password Not Found”xlVntPasswords = Sheet1.Range(“L4:L20”)
For i = LBound(xlVntPasswords) To UBound(xlVntPasswords)
Select Case xlInputPass
Case Is = xlVntPasswords(i, 1)
xlOutputMessage = “Password Found Do Stuff”
Exit ForEnd Select
Next i
MsgBox xlOutputMessage, vbOKOnly + vbInformation
End Sub
Vê e depois diz qq coisa, ok?
jorgerodAdministradorOlá Samuel Henriques,
Estive a ver e julgo que consegui aquilo que pretendes, ou seja, no caso do exemplo, de uma só “virada”, imprimires o conteúdo da tua “Packing List” (3 folhas), apresentando o template que tens na tua “Palete Info”.
Envio-te o ficheiro para experimentares, sendo que o código VBA está contido no botão a que denominaste Botão 4.
O código, é o seguinte:
‘—————————————————————————————
‘ Procedure : Botão4_Click
‘ DateTime : 14-03-2014 22:30
‘ Author : JRod (Excel MVP)
‘ Purpose : Cria impressão em série. Ideia base de Tom Ogilvy (Excel MVP)
‘—————————————————————————————
‘
Private Sub Botão4_Clique()
Dim rng As Range
With Worksheets(“Packing List”)
Set rng = .Range(.Cells(25, 1), .Cells(25, 1).End(xlDown))
End With
For Each cell In rng
Worksheets(“Palete Info”).Range(“A19”).Value = cell.Value
Worksheets(“Palete Info”).Range(“C18”).Value = cell.Offset(0, 1).Value
Worksheets(“Palete Info”).Range(“F19”).Value = cell.Offset(0, 6).Value
Worksheets(“Palete Info”).Range(“K19”).Value = cell.Offset(0, 7).Value
Worksheets(“Palete Info”).Range(“A25”).Value = cell.Offset(0, 5).ValueWorksheets(“Palete Info”).PrintOut
NextWorksheets(“Palete Info”).Range(“A19”).Value = “”
Worksheets(“Palete Info”).Range(“C18”).Value = “”
Worksheets(“Palete Info”).Range(“F19”).Value = “”
Worksheets(“Palete Info”).Range(“K19”).Value = “”
Worksheets(“Palete Info”).Range(“A25”).Value = “”End Sub
Nota: para que imprimas só as linhas que deves imprimir, a coluna A da tua Packing List só deverá conter os números a que correspondem dados na mesma linha, ou seja, como está no exemplo que te envio, são 3 linhas com dados para impressão.
Fica bem e diz qualquer coisa sobre o assunto, ok?
JRod
Attachments:
You must be logged in to view attached files.jorgerodAdministradorSamuel,
Quando puder, envie o ficheiro, ok?
Obrigado.
jorgerodAdministradorOlá Albino!!
Em primeiro lugar, obrigado pela dica. Vou “falar” com o meu Webmaster, para ver o que se pode melhorar ☺☺
Quanto à tua questão: podes mandar um ficheiro com exemplo? Talvez seja mais fácil. Se quiseres, manda-me por e-mail, ok?
Abraço.
jorgerodAdministradorBcneres, coloca o ficheiro em formato zip.
jorgerodAdministradorBoas,
Será isto que pretendes? Vê: http://office.microsoft.com/en-us/excel-help/print-a-worksheet-or-workbook-HA102748994.aspx
jorgerodAdministradorwagner,
quanto ao arquivo, logo que tenha um tempinho, irei tentar construir. depois mando.
quanto ao me.repaint, dá uma vista de olhos no seguinte link, que acho que explica o assunto. podes experimentar com algum exemplo teu:
http://www.mrexcel.com/forum/excel-questions/347138-visual-basic-applications-automaticly-update-label-user-form.html -
AutorArtigos