About Me
Com tecnologia do Blogger.
Seguidores
Estatisticas
2006-10-23
Se pretendermos inserir uma TextBox proveniente do menu Draw num qualquer local de uma Worksheet e que essa TextBox contenha o mesmo conteúdo de uma determinada célula, como no exemplo:
podemos fazê-lo da seguinte maneira:
- Criamos a TextBox:
- Renomeamos a TextBox e damos-lhe o valor igual à célula que pretendemos (no exemplo, C2):
O resultado será o esperado:
E agora, se pretendermos que o valor que temos na TextBox seja inserido numa qualquer célula (no exemplo, C8), então teremos que atribuir uma macro àquela TextBox:
E o resultado será:
O Código da macro:
Sub TboxValueInCell()
Dim ws1 As Worksheet
Dim rng As Range
Dim tb As TextBox
Dim newtext
Set ws1 = Sheets("Sheet1")
Set rng = ws1.Range("C8")
Set tb = ws1.TextBoxes("Text01")
newtext = tb.Text
rng = newtext
End Sub
2006-10-18
Se pretendermos copiar o conteúdo de determinadas células contidas numa linha para outra Sheet e para células diferentes, como no exemplo:

O resultado:

Podemos utilizar a chamada OffSet Property.
Nota1: Para copiar o conteúdo da linha pretendida da Sheet1 para a Sheet2, faz-se um duplo clic na célula da coluna A cuja linha queremos copiar
Nota2: Para colocar o Código VBA, clicar no tabulador da Sheet1 com o botão direito do rato e escolher View Code
O Código:
'---------------------------------------------------------------------------------------
' Procedure : Worksheet_BeforeDoubleClick
' DateTime : 18-10-2006 15:25
' Author : JRod
' Purpose : Copiar conteúdo de células da Sheet1 para células diferentes da Sheet2
'---------------------------------------------------------------------------------------
'
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set rng1 = ActiveCell
Set rng2 = rng1.Offset(0, 1)
Set rng3 = rng1.Offset(0, 2)
Set rng4 = rng1.Offset(0, 3)
rng1.Copy Destination:=Worksheets("Sheet2").Range("D4:E4")
rng2.Copy Destination:=Worksheets("Sheet2").Range("G4:H4")
rng3.Copy Destination:=Worksheets("Sheet2").Range("C4")
rng4.Copy Destination:=Worksheets("Sheet2").Range("C7:D7")
Range("A1").Select
End Sub
Tópicos relacionados
OffSet Property
CurrentRegion Property
O resultado:
Podemos utilizar a chamada OffSet Property.
Nota1: Para copiar o conteúdo da linha pretendida da Sheet1 para a Sheet2, faz-se um duplo clic na célula da coluna A cuja linha queremos copiar
Nota2: Para colocar o Código VBA, clicar no tabulador da Sheet1 com o botão direito do rato e escolher View Code
O Código:
'---------------------------------------------------------------------------------------
' Procedure : Worksheet_BeforeDoubleClick
' DateTime : 18-10-2006 15:25
' Author : JRod
' Purpose : Copiar conteúdo de células da Sheet1 para células diferentes da Sheet2
'---------------------------------------------------------------------------------------
'
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set rng1 = ActiveCell
Set rng2 = rng1.Offset(0, 1)
Set rng3 = rng1.Offset(0, 2)
Set rng4 = rng1.Offset(0, 3)
rng1.Copy Destination:=Worksheets("Sheet2").Range("D4:E4")
rng2.Copy Destination:=Worksheets("Sheet2").Range("G4:H4")
rng3.Copy Destination:=Worksheets("Sheet2").Range("C4")
rng4.Copy Destination:=Worksheets("Sheet2").Range("C7:D7")
Range("A1").Select
End Sub
OffSet Property
CurrentRegion Property
2006-10-09
Vejamos o seguinte exemplo:


Então, o que poderemos fazer, será:

ou seja, clica-se no quadrado da intersecção entre a coluna A e a linha1.
Depois, clica-se no ícone "Format Painter". O resultado será a marcação de toda a worksheet:


O resultado será, então, o desejado:

Se pretendermos copiar este segmento para uma outra worksheet, normalmente o que acontecerá, é isto:
Então, o que poderemos fazer, será:
ou seja, clica-se no quadrado da intersecção entre a coluna A e a linha1.
Depois, clica-se no ícone "Format Painter". O resultado será a marcação de toda a worksheet:
De seguida, passa-se para a nova worksheet onde queremos efectuar o "Paste" e, de novo no quadrado da intersecção da coluna A com a linha 1, faz-se um click ( de notar que a imagem do Format Painter está associada ao apontador ):
O resultado será, então, o desejado:
2006-10-03
Se pretendermos extrair um determinado conteúdo de uma célula que contém letras e números, como no exemplo:
podemos utilizar, no primeiro caso, as Funções LEFT() e FIND() e no segundo, as Funções RIGHT(), LEN() e FIND():
2006-10-01
É com grande orgulho que torno público que a Microsoft me reconheceu, pelo segundo ano consecutivo, como Microsoft Most Valuable Professional MVP-EXCEL
2006-09-28
Se pretendermos inserir uma imagem numa folha de cálculo e dentro de uma "Image box control", como no exemplo:



podemos utilizar um pouco de Código:
Option Explicit
Private Sub CommandButton1_Click()
Dim myPictName As Variant
Dim Image1 As Image
myPictName = Application.GetOpenFilename _
(filefilter:="Picture Files,*.jpg;*.bmp;*.tif;*.gif")
If myPictName = False Then
Exit Sub
End If
Me.Image1.Picture = LoadPicture(myPictName)
End Sub
podemos utilizar um pouco de Código:
Option Explicit
Private Sub CommandButton1_Click()
Dim myPictName As Variant
Dim Image1 As Image
myPictName = Application.GetOpenFilename _
(filefilter:="Picture Files,*.jpg;*.bmp;*.tif;*.gif")
If myPictName = False Then
Exit Sub
End If
Me.Image1.Picture = LoadPicture(myPictName)
End Sub
2006-09-25
Se numa tabela de nomes pretendermos filtrar um determinado nome (ex: António), o qual pode ser nome próprio, nome do meio ou apelido, podemos utilizar um pouco de VBA:
O Código:
Private Sub CommandButton1_Click()
Dim myName
Range("A1:A700").Select
myName = InputBox(Prompt:="Digite o nome para filtro ou carregue em OK para remover filtro", Title:="Filtra por nome")
If myName = "" Then
Selection.AutoFilter
Range("A1").Select
Else
Selection.AutoFilter Field:=1, Criteria1:="*" & myName & "*", Operator:=xlAnd
Range("A1").Select
End If
End Sub
NOTA: O asterisco funciona como um "multi character wild card".
WildCards (1) (Microsoft Support Center)
WildCards (2) (digdb.com)
Filtros (1) (por Debra Dalgleish)
Filtro (2) (Joseph Rubin's Exceltip.com)
2006-09-09
Se pretendermos utilizar um ficheiro texto (ex: teste.txt) como um ficheiro com conteúdo numérico sequenciador para uma célula de uma worksheet (ex: A1), então, podemos criar o ficheiro, digitar 0 (zero) e salvá-lo no directório escolhido. Depois, um pouco de VBA adicionado a um Command Button, faz o resto.
O Código:
Private Sub CommandButton1_Click()
Dim strTemp As String
On Error GoTo CommandButton1_Click_Error
Open "F:\Gabinete\teste.txt" For Input As #1
Line Input #1, strTemp
Range("A1").Value = strTemp + 1
Close #1
Open "F:\Gabinete\teste.txt" For Output As #1
strTemp = Range("A1").Value
Print #1, strTemp
Close #1
On Error GoTo 0
Exit Sub
CommandButton1_Click_Error:
MsgBox "Erro " & Err.Number & " (" & Err.Description & ") no procedimento CommandButton1_Click"
End Sub
Open Statement
2006-08-15
Consideremos o seguinte sistema de equações: x + y =8 e x - y = 2
Assim, na 2ª equação, teriamos: x= y+2. Então, na 1ª equação teríamos com a substituição de x: y + 2 + y = 8 ou seja: 2y = 6 ou seja: y = 6/2 ou seja: y = 3
Então, na 2ª equação teríamos com a substituição de y pelo seu resultado: x - 3 = 2 ou seja: x = 5
Como resolver este problema no Excel?
Com a ajuda do Add-in SOLVER, é possível. Vejamos o exemplo:
Nota - definiu-se C2 como x e C3 como y (Insert|Name|Define)
B2 é igual a 8, ou seja: x + y
B3 é igual a 2, ou seja: x - y



O resultado:

Assim, na 2ª equação, teriamos: x= y+2. Então, na 1ª equação teríamos com a substituição de x: y + 2 + y = 8 ou seja: 2y = 6 ou seja: y = 6/2 ou seja: y = 3
Então, na 2ª equação teríamos com a substituição de y pelo seu resultado: x - 3 = 2 ou seja: x = 5
Como resolver este problema no Excel?
Com a ajuda do Add-in SOLVER, é possível. Vejamos o exemplo:
Nota - definiu-se C2 como x e C3 como y (Insert|Name|Define)
B2 é igual a 8, ou seja: x + y
B3 é igual a 2, ou seja: x - y
O resultado:
Subscrever:
Mensagens (Atom)