Descricao: |
Saberexcel - site das Macros
Essas macros do Aplicativo Microsoft Excel VBA(Visual Basic Application), adiciona Shapes(Autoformas) retangulares 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
|