Detalhes de Excel planilha vba shapes interacao texto contador

PropriedadeValor
Nome:Excel planilha vba shapes interacao texto contador
Descricao:

Saberexcel - o site de quem precisa aprender Microsoft Excel VBA

Esse macro do Aplicativo Microsoft Excel VBA(Visual Basic Application), insere um Shapes(Autoforma) com determinadas medidas, na folha de planilha, contendo as palavras abaixo determinados pelo macro, fazendo um número de interações determinado pela constante Maximo_interacoes, essas palavras são repetidas no proprio shapes(autoforma), esses números de vezes que são determinados pelo loop ao número de interações desejadas.
Observe que aproveitei o exemplo para inserir um contador na célula(A1) e nesta célula vinculei um tipo de barra de progressão bem interessante,
ligada à uma Função

Public Sub Loop_insere_palavra_shapes()

Dim vPlans As Excel.Worksheet
Dim vShapes As Shape
Dim vFrame As TextFrame
Dim i As Long

Const Incio_Texto As String = "Aprender VBA Saberexcel, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, " _
& "Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, " _
& "Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Prática, Treinamento é tudo no aprendizado!."
Const Maximo_interacoes As Long = 200
MsgBox Len(Incio_Texto)

Set vPlans = ThisWorkbook.Sheets("Loop_palavras_repetidas_shapes")
Set vShapes = vPlans.Shapes.AddTextbox(msoTextOrientationHorizontal, 50, 50, 500, 1000)
Set vFrame = vShapes.TextFrame

'Debug.Print TypeName(vShapes), vShapes.Name'
vFrame.Characters.Text = Incio_Texto
'vFrame.AutoSize = True


For i = 1 To Maximo_interacoes
Inserir_EsteTexto vFrame, " Saberexcel_VBA_Treinamento®"
Range("A1").Value = i
Next i
'
End Sub

Private Sub Inserir_EsteTexto(vFrame As TextFrame, _
vstrTexto As String)
Dim strRight As String
Dim i As Long

With vFrame
For i = 0 To Int(Len(vstrTexto) / 254)
strRight = .Characters(.Characters.Count).Text
.Characters(.Characters.Count).Insert strRight & Mid(vstrTexto, (i * 254) + 1, 254)
'Debug.Print Len(vstrTexto), .Characters.Count'
Next i
End With

End Sub


Essa macro abaixo é uma macro auxliar para ajudar no teste com o macro acima, sua função deletar shapes retangulares.

Sub Deleta_Shapes_retangulares()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If shp.AutoShapeType = msoShapeRectangle Then
On Error Resume Next
If Intersect(shp.TopLeftCell, Selection.Range) Then shp.Delete
'Intersect(shp.BottomRightCell),Selection.Range) Then shp.Delete
End If
Next shp
[A1].Value = ""

End Sub




Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel





Publicidade
Compre com segurança, garantia e ótimos preços
Eletrônicos - Submarino.com.br

Nome do arquivo:Excel planilha vba shapes interacao texto contador.zip
Tamanho: Vazio
Tipo:zip (Tipo de Mime: application/zip)
Autor:SaberExcel
Criado em: 03/05/2011 15:16
Visitas:Todos
Responsavel:Autor
Acessos:906 Acessos
Atualizado em: 03/05/2011 15:29
Site: