- 12 Jun 2022 às 23:25
#71302
Boa noite pessoal.
Eu estou adaptando um codigo VBA para criar abas e hiperlinks automaticamente de uma coluna.
Eu consegui adaptar ele e esta funcionando, porem ele soh funciona quando eu deixo o cursor no nome do novo cliente se por acaso o cursor estiver em qualquer outra celula e acionar o vba no botao azul...ele da problema.
1. tem como fazer o excel verificar sempre o novo cliente que for adicionado na coluna A independente de onde o cursor estiver?
2. na planilha modelo existe como ele criar a ABA jah com o nome do NOVO cliente no conteudo da planilha?
segue a planilha, imagem e o codigo
------
Sub add_new_sheet()
Dim sheet_name_to_create As String
Dim sh As Worksheet, nsh As Worksheet ' nsh = sheet_name_to_create
Dim nrng As Range
Dim cont As Worksheet
Dim oRng As Range
sheet_name_to_create = ActiveCell.Value
Set oRng = ActiveCell
Set sh = Sheets("Sheet1")
For rep = 1 To (Worksheets.Count)
If LCase(Sheets(rep).Name) = LCase(sheet_name_to_create) Then
MsgBox "this sheet already exists"
Exit Sub
End If
Next
Sheets("modelo").Visible = True
Sheets("modelo").Copy after:=Sheets(Sheets.Count)
Sheets(ActiveSheet.Name).Name = sheet_name_to_create
sh.Activate
sh.Hyperlinks.Add oRng, "", "'" & sheet_name_to_create & "'!A1", _
"Go to " & sheet_name_to_create, sheet_name_to_create
Set oRng = Nothing
End Sub
Eu estou adaptando um codigo VBA para criar abas e hiperlinks automaticamente de uma coluna.
Eu consegui adaptar ele e esta funcionando, porem ele soh funciona quando eu deixo o cursor no nome do novo cliente se por acaso o cursor estiver em qualquer outra celula e acionar o vba no botao azul...ele da problema.
1. tem como fazer o excel verificar sempre o novo cliente que for adicionado na coluna A independente de onde o cursor estiver?
2. na planilha modelo existe como ele criar a ABA jah com o nome do NOVO cliente no conteudo da planilha?
segue a planilha, imagem e o codigo
------
Sub add_new_sheet()
Dim sheet_name_to_create As String
Dim sh As Worksheet, nsh As Worksheet ' nsh = sheet_name_to_create
Dim nrng As Range
Dim cont As Worksheet
Dim oRng As Range
sheet_name_to_create = ActiveCell.Value
Set oRng = ActiveCell
Set sh = Sheets("Sheet1")
For rep = 1 To (Worksheets.Count)
If LCase(Sheets(rep).Name) = LCase(sheet_name_to_create) Then
MsgBox "this sheet already exists"
Exit Sub
End If
Next
Sheets("modelo").Visible = True
Sheets("modelo").Copy after:=Sheets(Sheets.Count)
Sheets(ActiveSheet.Name).Name = sheet_name_to_create
sh.Activate
sh.Hyperlinks.Add oRng, "", "'" & sheet_name_to_create & "'!A1", _
"Go to " & sheet_name_to_create, sheet_name_to_create
Set oRng = Nothing
End Sub
Você não está autorizado a ver ou baixar esse anexo.