About Me

A minha foto
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
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
     
     
    2006-10-09
    Vejamos o seguinte exemplo:



    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