Entrada de datos únicos

01/06/2010 - 20:38 por ElProfe | Informe spam
Saludos a todos en el foro.

Hace algún tiempo Héctor Miguel publicó la siguiente nota:

<Desde un formulario... se cargan datos... existe un textbox... el
usuario debe cargar un codigo (algo asi como un ID)... que me impida
cargar un codigo ya existente>

"puedes usar desde codigo la funcion de hoja de calculo contar.si(...)
para comprobar si ya existe el codigo que se intenta agregar [p.e.]"

If Application.WorksheetFunction.CountIf(<hoja y rango>, <cuadro de
texto>) Then
MsgBox "El codigo ya existe, favor de intentar de nuevo..."
<cuadro de texto>.SetFocus
Exit Sub
End If

Pues bien, seguí los pasos sugeridos alli y me quedó el siguiente
código:

If Application.WorksheetFunction.CountIf
(Worksheets("Hoja1").Range("_Id")) ,TextBox1 Then
    MsgBox "El codigo ya existe, favor de intentar de nuevo..."
    TextBox1.SetFocus
End Sub
  End If

...pero no me funciona (todo el texto queda resaltado en rojo porque o
lo reconoce el editor VBA).

-El rango de datos están e B20:B30 y lo he nombrado "_Id"
-He creado un TextBox que lo llamé "TextBox1"
-La idea es la misma del planteamiento original; que no permita
repetir datos.

Muy seguramente me falta mas código [ej.] El "Sub" del inicio y otras
cosas mas.

Por favor, ¿alguién podría indicarme que está mal?

Gracias anticipadas,

Saludos,

ElProfe
 

Leer las respuestas

#1 AnSanVal
01/06/2010 - 22:57 | Informe spam
Hola.

Has cambiado de sitio el paréntesis de cierre. Prueba con:
If Application.WorksheetFunction.CountIf _
(Worksheets("Hoja1").Range("_Id") ,TextBox1.value) Then

Saludos: Antonio.
*************************
"ElProfe" escribió en el mensaje
news:
Saludos a todos en el foro.

Hace algún tiempo Héctor Miguel publicó la siguiente nota:

<Desde un formulario... se cargan datos... existe un textbox... el
usuario debe cargar un codigo (algo asi como un ID)... que me impida
cargar un codigo ya existente>

"puedes usar desde codigo la funcion de hoja de calculo contar.si(...)
para comprobar si ya existe el codigo que se intenta agregar [p.e.]"

If Application.WorksheetFunction.CountIf(<hoja y rango>, <cuadro de
texto>) Then
MsgBox "El codigo ya existe, favor de intentar de nuevo..."
<cuadro de texto>.SetFocus
Exit Sub
End If

Pues bien, seguí los pasos sugeridos alli y me quedó el siguiente
código:

If Application.WorksheetFunction.CountIf
(Worksheets("Hoja1").Range("_Id")) ,TextBox1 Then
MsgBox "El codigo ya existe, favor de intentar de nuevo..."
TextBox1.SetFocus
End Sub
End If

...pero no me funciona (todo el texto queda resaltado en rojo porque o
lo reconoce el editor VBA).

-El rango de datos están e B20:B30 y lo he nombrado "_Id"
-He creado un TextBox que lo llamé "TextBox1"
-La idea es la misma del planteamiento original; que no permita
repetir datos.

Muy seguramente me falta mas código [ej.] El "Sub" del inicio y otras
cosas mas.

Por favor, ¿alguién podría indicarme que está mal?

Gracias anticipadas,

Saludos,

ElProfe

Preguntas similares