Usuário com melhor resposta
Contador de colunas vazias

Pergunta
-
Olá amigos. Sou iniciante no VBA e estou confeccionando um formulário de cadastro de empresas e gostaria de saber como eu poderia cadastrar varias chaves e senhas para cada empresa. Por exemplo: uma empresa X possui uma chave e uma senha para acessar um sistema Y, e possui também uma chave e uma senha para outro sistema, podendo ser mais de 10 sistemas diferentes com suas senhas e chaves. Até o momento, estava utilizando um esquema de armazenar as informações do meu formulário numa linha, ficando um linha para cada empresa. Mas agora que precisarei colocar mais informações, não tem como usar só essa linha. Pensei em talvez abrir uma nova planilha para o cadastro dessas senhas das empresas, deixando o nome das empresas em cada uma das linhas, e nas colunas, os nomes dos sistemas seguidos abaixo pelas chaves e senhas... mas não sei como fazer nada disso.... ja utilizo contador para as linhas em outras partes do meu form, mas agora simplesmente travei...por favor me ajudemmmmmmm.... abs
Respostas
-
Suponha que a coluna A seja o nome da empresa, B seja login e C a senha. Você pode ter vários logins de várias empresas dessa forma, concorda?
Para saber se o login é válido para uma determinada empresa, considere o exemplo abaixo:
Sub Exemplo() Const csEmpresa As String = "Benzasoft" Const csLogin As String = "Felipe" Const csSenha As String = "123" Dim bLogin As Boolean Dim lRow As Long With ThisWorkbook.Sheets("Senhas") 'Laço até a última linha: For lRow = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row If .Cells(lRow, "A") = csEmpresa Then If .Cells(lRow, "B") = csLogin Then If .Cells(lRow, "C") = csSenha Then MsgBox "Senha correta!", vbInformation bLogin = True Else MsgBox "Senha incorreta!", vbCritical End If End If End If Next lRow End With If bLogin = True Then 'Código que executa se senha estiver correta Else Exit Sub End If End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Sugerido como Resposta Hezequias VasconcelosModerator sexta-feira, 4 de janeiro de 2013 10:18
- Marcado como Resposta Hezequias VasconcelosModerator segunda-feira, 7 de janeiro de 2013 09:29
Todas as Respostas
-
Suponha que a coluna A seja o nome da empresa, B seja login e C a senha. Você pode ter vários logins de várias empresas dessa forma, concorda?
Para saber se o login é válido para uma determinada empresa, considere o exemplo abaixo:
Sub Exemplo() Const csEmpresa As String = "Benzasoft" Const csLogin As String = "Felipe" Const csSenha As String = "123" Dim bLogin As Boolean Dim lRow As Long With ThisWorkbook.Sheets("Senhas") 'Laço até a última linha: For lRow = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row If .Cells(lRow, "A") = csEmpresa Then If .Cells(lRow, "B") = csLogin Then If .Cells(lRow, "C") = csSenha Then MsgBox "Senha correta!", vbInformation bLogin = True Else MsgBox "Senha incorreta!", vbCritical End If End If End If Next lRow End With If bLogin = True Then 'Código que executa se senha estiver correta Else Exit Sub End If End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Sugerido como Resposta Hezequias VasconcelosModerator sexta-feira, 4 de janeiro de 2013 10:18
- Marcado como Resposta Hezequias VasconcelosModerator segunda-feira, 7 de janeiro de 2013 09:29
-
Suponha que a coluna A seja o nome da empresa, B seja login e C a senha. Você pode ter vários logins de várias empresas dessa forma, concorda?
Para saber se o login é válido para uma determinada empresa, considere o exemplo abaixo:
Sub Exemplo() Const csEmpresa As String = "Benzasoft" Const csLogin As String = "Felipe" Const csSenha As String = "123" Dim bLogin As Boolean Dim lRow As Long With ThisWorkbook.Sheets("Senhas") 'Laço até a última linha: For lRow = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row If .Cells(lRow, "A") = csEmpresa Then If .Cells(lRow, "B") = csLogin Then If .Cells(lRow, "C") = csSenha Then MsgBox "Senha correta!", vbInformation bLogin = True Else MsgBox "Senha incorreta!", vbCritical End If End If End If Next lRow End With If bLogin = True Then 'Código que executa se senha estiver correta Else Exit Sub End If End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
Inicialmente, Benzadeus. Muito obrigado pela atenção.
Desculpe por demorar a retornar, mas tive alguns problemas que inviabilizaram a continuidade do projeto. Estou voltando agora. Então, vou explicar melhor. Meu objetivo não é verificar se o login da empresa está correto. O que preciso é de uma tela de consulta, que precisa para tanto, ser alimentada. Exemplificarei agora.
Tenho um cliente "X", esse cliente tem cadastro num sistema "Y", e para esse sistema preciso da chave "Z" e da senha "S". Apenas quero que o sistema me retorne esses valores previamente cadastrados para que eu os consulte. O problema é que esse cliente "X", possui vários sistemas "Y", sendo cada qual com sua respectiva chave "Z" e senha "S", entendeu? Queria saber como poderia montar minha planilha desse jeito, pois são vários clientes "X".
Até o momento fiz assim, coloquei na coluna A, os nomes das empresas, pulando uma linha para cada uma, na coluna B, o nome de um sistema, na C, de outro e assim por diante. Sempre nas colunas de cada sistema queia adicionar a "chave "Z" e na célula abaixo, a senha "S", por isso pularia uma linha do nome da empresa... será que consegui ser claro o suficiente?
Então, para colocar o nome das empresas, já tenho um checkbox com os nomes que possuo ja carregados e possuo outro checkbox com os nomes dos sistemas também já carregados. Agora tenho duas caixas de texto, uma para chave e outra para senha, que ao clicar num botão, gostaria que a informação fosse inserida no local correto.
Ou seja, precisaria inicialmente, localizar em minha planilha, o nome da empresa "X", para que obtendo a linha em que ela se encontra, eu possa, ao selecionar na outra checkbox, o nome do sistema, obtendo agora a coluna, e por fim, receber os valores presentes nas duas células subsequentes, a da linha "Z" e a imediatamente abaixo "S".
Será que isso tudo daria certo? Tem outra forma de fazer?
-