Home Excel - Dicas Microsoft Excel VBA Excel VBA - Shapes e Imagens Excel planilha vba shapes insere shapes forma aleatorias

Excel planilha vba shapes insere shapes forma aleatorias

E-mail Imprimir PDF

Saberexcel - site das Macros

Essas macros do Aplicativo Microsoft Excel VBA(Visual Basic Application), adiciona Shapes(Autoformas) retângulares de forma aleatória na folha de planilha.

 Option Explicit
 
Private Type ExcelShapes
vTipo As Integer
vCarregar As Single
vCores As Long
vRange As Range
vRegiaoTamanho As Single
vRangeSobrePosicao As Boolean
End Type

Private vFomaShapes As ExcelShapes
Private numRotations As Integer

Sub Adicionar_Autoformas()
Dim RngVERMELHO As Integer, RngVERDE As Integer, RngAZUL As Integer
'...................'
'Aleatoriamente acrescenta um dos cinco formas possíveis de retangulos.

'...................'
deleta_shapes
Randomize
RngVERMELHO = Int(Rnd * 256)
RngVERDE = Int(Rnd * 256)
RngAZUL = Int(Rnd * 256)
'...................'
'Inicializar propriedades comuns dos locais que compõem todas as formas.

'...................'
vFomaShapes.vTipo = Int(5 * Rnd) + 1
vFomaShapes.vCarregar = 0.5
vFomaShapes.vCores = RGB(RngVERMELHO, RngVERDE, RngAZUL)
vFomaShapes.vRegiaoTamanho = Range("F3").Width
'...................'
'Inicializar o local da forma, então, construí-la
'...................'
IncializeShapes
Criar_Shapes
'If vFomaShapes.vRangeSobrePosicao Then Fimr
[G1].Select
End Sub


Private Sub IncializeShapes()
'...................'
'select case incializa as formas suspensas nos conjuntos de células
'...................'
Select Case vFomaShapes.vTipo
Case Is = 1
Set vFomaShapes.vRange = Range("F3:I3")
Case Is = 2
Set vFomaShapes.vRange = Range("G3:H4")
Case Is = 3
Set vFomaShapes.vRange = Range("F3:H3,H4")
Case Is = 4
Set vFomaShapes.vRange = Range("F3:H3,G4")
Case Is = 5
Set vFomaShapes.vRange = Range("G3:H3, F4:G4")
End Select
End Sub

Private Sub Criar_Shapes()
Dim I As Integer
Dim NovoShapes As Shapes
Dim c As Range
'...................'
'criando um conjunto de quatro retangulos.
'...................'
I = 1
Set NovoShapes = ActiveSheet.Shapes
For Each c In vFomaShapes.vRange
NovoShapes.AddShape(msoShapeRectangle, c.Left, c.Top, _
c.Width, c.Height).Select
Selection.ShapeRange.Line.Weight = vFomaShapes.vCarregar
Selection.ShapeRange.Fill.ForeColor.RGB = vFomaShapes.vCores
Selection.ShapeRange.Name = "Saberexcel" & I
I = I + 1
Next
'...................'
'Verifica se sobrepõe forma, adicionou formas existentes
'...................'
For Each c In vFomaShapes.vRange
  If c.Value = "x" Then
     vFomaShapes.vRangeSobrePosicao = True
  Exit For
  End If
Next
End Sub
'...................'

Sub deleta_shapes()
    Range("G1").Select
    ActiveSheet.Shapes.Range(Array("Saberexcel4", "Saberexcel1")).Select
    ActiveSheet.Shapes.Range(Array("Saberexcel4", "Saberexcel1", "Saberexcel2")).Select
    ActiveSheet.Shapes.Range(Array("Saberexcel4", "Saberexcel1", "Saberexcel2", "Saberexcel3")). _
    Select
    Selection.Delete
End Sub



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



  Baixe o exemplo de planiha contendo os macros acima
Excel vba shapes insere shapes forma aleatorias (71.44 KB 2011-03-10 08:44:30)

Última atualização em Ter, 23 de Agosto de 2011 08:47  

Adicionar comentário

"Jamais considere seus estudos como uma obrigação, mas como uma oportunidade invejável para aprender a conhecer a influência libertadora da beleza do reino do espírito, para seu próprio prazer pessoal e para proveito da comunidade." Albert Einstein


Código de segurança
Atualizar

Pesquisa Google SaberExcel

Publicidade Google

Publicidade

Rastreamento Correios

Digite o número do SEDEX conforme o exemplo:
Correios do Brasil

Assinatura SaberExcel

Google Associados

Depoimentos

Visitantes SaberExcel

Excel VBA Estudos®
mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterHoje4919
mod_vvisit_counterOntem5059
mod_vvisit_counterEsta Semana19966
mod_vvisit_counterSemana passada30982
mod_vvisit_counterEsse mês38154
mod_vvisit_counterMês passado153723
mod_vvisit_counterTodos10460983
Aprenda MS Excel VBA

Adicione Saberexcel Favoritos

 
 

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA

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


   Sobre as WorksheetFunctions Funções de Planilhas que retornam valores do VBA