Ir ao conteúdo

Macro - Excel 2007


proeletrica

Posts recomendados

Postado

Boa noite

Estou enviando a planilha http://www.sendspace.com/file/wpn1x7

Preciso ajuda para acerta a macro 1.

Macro 1 - Botão copiar composição de preços

Quando aciono este botão na planilha padrão , a macro copia esta planilha em uma nova aba , com o nome de padrão(2).Gostaria que esta nova aba fosse criada com o nome escrito na célula (B3) da planilha padrão, e colocar as novas abas criadas em ordem alfabéticas.

Macro 2 - Botão limpar células

Está funcionando perfeito.

Qualquer dúvida, é só gritar.

Postado

Boa tarde!!

Segue um exemplo quanto ao nomear..o restante se poder pesquisar no fórum encontrar um post com o assunto de colocar em ordem.

Sub CriaPlanilhaResumo()
On Error GoTo CriarPlanilha_Err
Dim n As Integer ' contador
Dim oPlan As Worksheet ' planilha
Dim sNome As String ' nome da planilha

' Aqui, mude o nome conforme a necessidade
sNome = "Planilha-Resumo"

' Seleciona a primeira planilha
Worksheets(1).Select
' Cria nova planilha
Worksheets.Add
' Renomeia a planilha criada
ActiveSheet.Name = sNome

n = 0
For Each oPlan In Worksheets
----' Escreve na nova planilha o nome das outras
----If oPlan.Name <> sNome Then
--------ActiveSheet.Cells(n, 1).Select
--------ActiveSheet.Cells(n, 1).Value = oPlan.Name
----End If

----n = n + 1
Next

CriarPlanilha_Fim:
----Exit Sub
CriarPlanilha_Err:
----MsgBox Err.Description
----Resume CriarPlanilha_Fim
End Sub

  • Membro VIP
Postado

Boa tarde

Exemplo de Macro que classifica as Planilhas em ordem Alfabética:

Sub ClassificarPlanilhas()
Dim SheetNames() As String
Dim i As Integer
Dim SheetCount As Integer
Dim VisibleWins As Integer
Dim Item As Object
Dim OldActive As Object
If ActiveWorkbook.ProtectStructure Then
MsgBox ActiveWorkbook.Name & " is protected.", _
vbCritical, "Cannot Sort Sheets"
Exit Sub
End If
Application.EnableCancelKey = xlDisabled
VisibleWins = 0
For Each Item In Windows
If Item.Visible Then VisibleWins = VisibleWins + 1
Next Item
If VisibleWins = 0 Then Exit Sub
SheetCount = ActiveWorkbook.Sheets.Count
ReDim SheetNames( 1 To SheetCount)
Set OldActive = ActiveSheet
For i = 1 To SheetCount
SheetNames ( i ) = ActiveWorkbook.Sheets ( i ).Name
Next i
Call Classificar(SheetNames)
Application.ScreenUpdating = False
For i = 1 To SheetCount
ActiveWorkbook.Sheets(SheetNames ( i )).Move _
ActiveWorkbook.Sheets ( i )
Next i
OldActive.Activate
End Sub
Sub Classificar(List() As String)
Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp
First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If UCase(List ( i )) > UCase(List(j)) Then
Temp = List(j)
List( j ) = List ( i )
List( i ) = Temp
End If
Next j
Next i
End Sub

Um abraço.

Postado

Boa noite Zinhovba

A macro não está funcionando, dá mensagem erro de sintaxe e abre as instruções, marcando a linha ----' Escreve na nova planilha o nome das outras. Como devo proceder?

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!