Criei um botão para cadastrar uma turma.
Bom, ao clicar no botão, irá aparecer uma Inputbox perguntando o nome da turma, e o Excel criaria uma planilha com o nome igual ao da minha turma.
Queria fazer algo assim :
Sub Botão1_Clique()
Dim turma As String
turma = InputBox("Qual o nome da nova turma?")
Sheets.Add(turma) [/b] ' (Eu sei que a sintaxe e o modo de usar não é assim, só estou falando que quero fazer algo mais ou menos assim, o nome que eu informar na Inputbox será o nome da Planilha criada.
'Alguém sabe?
End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Não consigo editar o tópico, bom, já consegui uma solução, caso alguém tenha outra, favor postar abaixo. Conseguí assim :
Sub Botão1_Clique()
Dim turma As String
turma = InputBox("Qual o nome da nova turma?")
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = (turma)
End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Boa noite!!
Veja se te ajuda..
Sub AdicionarPlanilhaAleVBA() Dim shName As String shName = InputBox("Por favor digite o nome da Planilha") If shName <> "" Then Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = shName End If End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Muito boa ideia, Alexandre!
Nem tinha lembrado disso caso o valor seja vazio, eu tinha botado algo como On error resume next pra ignorar o erro, caso a pessoa cancelasse.
Então, meu projeto continua.
Nesse mesmo "Sub", tenho uma Inputbox que pergunta a quantidade de alunos nessa turma.
Vamos supor que tenho 28 alunos, então iria fazer com que A1:H29 ficassem com bordas.
Caso tenha 18 alunos, então iria fazer com que A1:H19 ficassem com bordas.
Primeiro eu fui tentar algo assim, mas não deu certo. kkkkkkkkkkkkkkkkk
alunos = InputBox("Quantos alunos esta turma possui?")
Range("A1:H & alunos").Select
comando que cria as bordas.
Como posso fazer isso?
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Boa noite!!
Se eu considerar sua necessidade e o título de seu tópico, então seu caso está resolvido!!..ao menos mereço uma mãozinha
Agora com sua nova dúvida eu preciso entender um pouco mais do que precisa, poderia detalhar melhor e postar toda sua rotina??
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Pronto, já cliquei na mãozinha. haha
É que, além do nome da turma, terei uma InputBox pra saber a quantidade de alunos.
E a quantidade de alunos será a quantidade de linhas + 1 (porque na primeira linha terá os campos).
Aí a macro irá selecionar e formatar com uma borda até a linha em do último aluno.
Por exemplo, se forem 28 alunos, irá formatar com borda até a linha 29 (no caso, de A1 até H29). Se forem 25 alunos, irá formatar com borda até a linha 26(no caso, de a1 até h26..
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Bom dia!!
Eu acredito que você deva mudar sua linha de raciocíneo.
A InputBox, é uma caixa de mensagem, então eu acho que deve ser um código dentro do evento Change, e não com InputBox.
Isso que fiz não faz sentido!!..mas faça um teste.
Sub BordasAle() Dim ans As Long ans = Application.InputBox("Quantas bordas?", "Adicionar Bordas", , , , , , 1) With Range("A1:H" & ans) .Borders.LineStyle = xlContinuous .Borders.ColorIndex = 0 .Borders.TintAndShade = 0 .Borders.Weight = xlThin End With End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Realmente é algo assim que quero.
Ale, é vai ser chamada a partir do botão de cadastrar turmas, então, não tem evento Change.
Bom, usando seu código, ficaria assim :
Sub Retângulo1_Clique() Dim ans As Long ans = Application.InputBox("Quantos alunos?", "Alunos", , , , , , 1) With Range("A1:H" & ans) .Borders.LineStyle = xlContinuous .Borders.ColorIndex = 0 .Borders.TintAndShade = 0 .Borders.Weight = xlThin End With End Sub
Só que eu quero que adicione UMA LINHA com borda a mais do que o informado na Inputbox.
Se eu informar 28 na Inputbox, ele adicionará 29 bordas.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Então some um na definição da range
With Range("A1:H" & ans+1)
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Aff, já não posso mais editar.
Raciocinei um pouco e conseguí.
Obrigado, Alexandre! Já agradecí na mãozinha em todos os posts.
Sub Retângulo1_Clique() Dim ans As Long Dim total As Long ans = Application.InputBox("Quantos alunos?", "Alunos", , , , , , 1) total = ans + 1 With Range("A1:H" & total) .Borders.LineStyle = xlContinuous .Borders.ColorIndex = 0 .Borders.TintAndShade = 0 .Borders.Weight = xlThin End With End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Boa tarde!!
caso não haja mais dúvidas, favor marcar como resolvido!
Veja como em:
viewtopic.php?f=7&t=3784
Obrigado!!
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel