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

PROMOÇÃO DIDÁTICOS SABEREXCEL



Adquira já o Acesso Imediato
à Area de Membros

Compra Grantida --- Entrega Imediata

Aprenda Excel VBA com Simplicidade de 
códigos e Eficácia, Escrevendo Menos e
Fazendo Mais.

'-------------------------------------'
Entrega Imediata:
+  500 Video Aulas MS Excel VBA
+  35.000 Planilhas Excel e VBA
+  Coleção 25.000 Macros MS Excel VBA
+  141 Planilhas Instruções Loops
+  341 Planilhas WorksheetFunctions(VBA)
+    04 Módulos Como Fazer Excel VBA
+  Curso Completo MS Excel VBA
+  Planilhas Inteligentes


Pesquisa Google SaberExcel

Publicidade Google

<script type="text/javascript"><!--

google_ad_client = "ca-pub-2317234650173689";

/* retangulo 336 x 280 */

google_ad_slot = "0315083363";

google_ad_width = 336;

google_ad_height = 280;

//-->

</script>

<script type="text/javascript"

src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

</script>

Publicidade

RSFirewallProtected


Google Associados

Depoimentos

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