Jump to content
Guz Man

VBA: no puedo seleccionar una celda!

Recommended Posts

Hola!! Veamos si me pueden ayudar con esto.

Tengo que seleccionar una celda, pero me da un error 1004 en tiempo de ejecución. (Error en el método Select de la clase Range).

= 1
ActiveWorkbook. Sheets(i). Range("A3").Select

Si la ActiveSheet es diferente a Sheets(i), me da el error 1004, pero si es la misma, no pasa nada y me selecciona la celda.

¿Qué puede estar pasando?

Utilizo Excel 2016. El libro no está protegido por contraseña, las sheets existen, no están ocultas.

Muchas gracias!

Share this post


Link to post
Share on other sites

Hola @Guz Man

No puedes seleccionar otra hoja porque no le modificas (o no lo expones en el post) el valor a la variable "i".

Prueba de esta manera, a ver si puedes (te pondrá una frase en cada celda que pases (prueba con "n" hojas)

Sub prueba()
i = 1
cvar1 = "Esta es la página: "
For i = 1 To Sheets.Count
    ActiveWorkbook.Sheets(i).Range("A3").Value = cvar1 & i
Next i
End Sub

Que tengas una buena jornada!

Share this post


Link to post
Share on other sites

Hola Guzman, gusto en conocerte.

A ver, si i=1 supongo que estás refiriéndote a Sheets(1) aunque no se por qué no pones directamente Sheets(1). Alguna razón debes tener, quizá entendería tu intención si leyera el código completo.

Pero ese no es el punto más importante, lo que yo en mi suposición podría estar pasando es que como tu ActiveSheet es distinto a Sheets(i), no puedes, DIRECTAMENTE, seleccionar una celda específica de otra hoja. Prueba a ver:

	i=1
	Sheets(i).Select
	ActiveWorkbook. Sheets(i). Range("A3").Select
	

Share this post


Link to post
Share on other sites
Guest Cacho R

Hola! Guz Man

Te he visto consultar simultáneamente en varios Foros el mismo tema.

Así que te remito a la primera de las respuestas: Otra hoja

Share this post


Link to post
Share on other sites
Hace 5 horas, YoelMonsalve dijo:

y hay de malo en que consulte en varios foros?

Pues simplemente que pones a tu servicio a todo el que te da la gana, unicamente por impaciencia.

Seguramente que si tuvieras que pagar por respuestas no harias la misma consulta en varios sitios.

Share this post


Link to post
Share on other sites
Hace 3 horas, Toldeman dijo:

... pones a tu servicio a todo el que te da la gana... si tuvieras que pagar por respuestas no harias la misma consulta en varios sitios

cierto, y hay dos cosas que pasarían (también de cierto)...
 
1) impediría que cualquiera interesado (aunque no publique propuestas) avance en su aprendizaje
 
2) tendría que estar seguro que donde publique es el foro mas eficaz y eficiente (que no son lo mismo)
y como (me atrevo a asegurar que) TODOS se auto-calificarían como "lo mejor de lo mejor"
(y de cierto que un 90-95 % estarán siendo mentirosillos)...
 
=> en cual foro le recomendarías que concentre sus esfuerzos ?
(habiendo dejado de lado que pregunta un novicio -11 mensajes-)
 
saludos,
hector.

Share this post


Link to post
Share on other sites
Guest Cacho R
Hace 8 horas, YoelMonsalve dijo:

y hay de malo en que consulte en varios foros?

¿Además de lo que ha señalado acertadamente Toldeman (Juan)?...

Pues: ¡Que no ha sido agradecido en ninguno de ellos! lo que describe un "perfil consultador" -más o menos- coherente con la idea de: - "lo hago porque es gratis y porque no me importa el tiempo de los demás".

En resumidas cuentas: ¡Qué lindo que es ser agradecido!, ¿No?...

Share this post


Link to post
Share on other sites

Voy a simplemente comentar sobre el incidente de escribir en varios foros.

  1. Por favor indíquenme la regla donde se dice que no se puede escribir en varios foros con la misma consulta.
  2. "Pues simplemente que pones a tu servicio a todo el que te da la gana, unicamente por impaciencia." Tienes todo el derecho a no responder y yo todo el derecho a preguntar, siempre dentro de los términos de cada foro.
  3. No adminto tu criterio dictatorial, que tu tengas tus reglas, no significa que los demás tengamos que adoptarlas.
  4. Escribo en varios foros y nunca me importó responder preguntas múltiples. Los foros son una herramienta colaborativa y voluntaria. Si no entiendes eso, es tu problema.
  5. En los foros donde pregunté, siempre agradecí. No entiendo lo de "no ser agradecido". Te refieres a que no respondí en tiempo real agradeciendo la generosa colaboración? No todos estamos 100% frente a una PC.
  6. "perfil consultador": si, no tengo el dominio de Excel para estar ayudando a los demás, pero en mi campo de conocimiento, sí, y lo hago con gusto, en cualquier foro, tantas veces como ha sido necesario. Respondo en mis términos, tiempos y si lo deseo. Es tan difícil entender eso?

En fin, esto se fue de tema.

Share this post


Link to post
Share on other sites

Guz Man

Defiendo tu derecho a consultar en más de un foro, siempre y cuando, en cuanto encuentres la solución a tu problema en uno de los foros, publiques la solución en todos los demás donde hayas hecho la consulta.

.

Share this post


Link to post
Share on other sites
En 15/3/2017 at 7:13 , Macro Antonio dijo:

Guz Man

Defiendo tu derecho a consultar en más de un foro, siempre y cuando, en cuanto encuentres la solución a tu problema en uno de los foros, publiques la solución en todos los demás donde hayas hecho la consulta.

.

Hola Marco Antonio, sí, totalmente de acuerdo. En un comentario más arriba agradecí y puse que fue de ayuda. En el otro foro hice lo mismo.

Saludos a todos y gracias nuevamente.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




  • Posts

    • Correcto, hasta hoy ni un problema, totalmente solucionado!
    • Ayuda especialistas, deseo Sumar varios Texbox en tiempo real, pero en los texbox1 +...+ texbox20,  tengan la coma separadora por miles (ejemplo si dígito 15650.52 se observe 15,650.52 ) al igual en el texbox resultado. De preferencia que no se visualice ningún formato de moneda ($) en ninguno de los texbox. gracias espero su respuesta.
    • Mauricio_ODN Gracias por tu aporte Saludos
    • Muchas gracias por el aporte   He estado trabajando en el registro tengo este codigo para agregar datos pero no logro que me los agregue favor ayuda para detectar el problema     Function ingesarDatos_01() As Boolean Dim sSQL As String Dim sSQLIngreso_01 As String Dim nResultado As Long Dim nFila As Double Dim rCelda As Range Dim sTexto As String ingesarDatos_01 = False '-------------------------------------------------------------------------------- 'obtenemos la ultima fila con datos '-------------------------------------------------------------------------------- '-------------------------------------------------------------------------------- 'Creamos el String de Ingreso de datos '-------------------------------------------------------------------------------- sSQL = "INSERT INTO 02_morosos (Cedula, Carpeta, Funcionario_1, Fecha_1, Numero_Patrono, Nombre_Patrono) " sSQL = sSQL & "VALUES ('" & Worksheets("Registro_01").Range("C9").Value & "', " sSQL = sSQL & Worksheets("Registro_01").Range("J2").Value & ", " sSQL = sSQL & Worksheets("Registro_01").Range("C6").Value & ", " sSQL = sSQL & "#" & Format(Worksheets("Registro_01").Range("F6").Value) & "#, " sSQL = sSQL & Worksheets("Registro_01").Range("C13").Value & ", " sSQL = sSQL & Worksheets("Registro_01").Range("E13").Value & ", " '-------------------------------------------------------------------------------- 'realizamos el ingreso de los datos para cada linea 'si todo salio OK, nResultado sera 0 '-------------------------------------------------------------------------------- If nResultado <> 0 Then MsgBox "Problemas al ingresar el registro", vbCritical, "SACI" Exit Function End If MsgBox "Datos actualizados con Exito!!!", vbInformation, "SACI" ingesarDatos_01 = True End Function  
    • Hola  @GR77 Te dejo una consulta como punto de partida, pero de la manera en que están construidas las tablas, por el momento trae registros duplicados, pero te dejo las consultas para que puedas ir conociendo el lenguaje. Sigo atento y trabajando. Saludos. Sub DatoAccess() Dim cn, rs As Object, strFile, strCon, strSQL As String DateI = Sheets(1).Cells(1, 11).Value DateF = Sheets(1).Cells(2, 11).Value strFile = ThisWorkbook.Path & "\datos.mdb" 'strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile & ";" strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile & ";" Set cn = CreateObject("ADODB.Connection") cn.Open strCon Set rs = CreateObject("ADODB.Recordset") strSQL = "SELECT DISTINCT T1.Id, T1.Clave, T1.FechaMov, T1.MontoEsperado, T3.MontoPagado  " & _          "FROM (Tabla1 T1 INNER JOIN Tabla3 T3 ON T1.Clave = T3.Clave)" ''strSQL = "SELECT T1.Id, T1.Clave, T1.FechaMov, T1.MontoEsperado, T3.MontoPagado " & _          "FROM (Tabla1 T1 INNER JOIN Tabla3 T3 ON T1.Clave = T3.Clave)"           ''strSQL = "SELECT T1.Id, T1.Clave, T1.FechaMov, T1.MontoEsperado, T3.MontoPagado, T2.MontoDescto " & _          "FROM (Tabla1 T1 INNER JOIN Tabla3 T3 ON T1.Clave = T3.Clave) " & _          "INNER JOIN Tabla2 T2 ON T1.Id = T2.Id " ''strSQL = "SELECT T1.Id, T1.Clave, T1.FechaMov, T1.MontoEsperado, T3.MontoPagado, T2.MontoDescto " & _          "FROM (Tabla1 T1 INNER JOIN Tabla3 T3 ON T1.Id = T3.Id) " & _          "INNER JOIN Tabla2 T2 ON T1.Id = T2.Id " & _          "WHERE T1.FechaMov BETWEEN DateI AND DateF" rs.Open strSQL, cn, 3, 3 Cells(2, 1).CopyFromRecordset rs 'Creamos encabezados For i = 0 To rs.Fields.Count - 1 titulo = rs.Fields(i).Name     Cells(1, i + 1) = titulo Next rs.Close cn.Close End Sub
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy