Captura con user from excel

Mi problema es que cuando capturo datos con mi base de datos oculta y solo se encuentra visible los gráficos, la captura de datos la realiza donde tengo los gráficos (hoja activa), alguien me podría ayudar y decrime como puedo hacerle para que la informaicon que capture se registre en mi base de datos oculta y no en la que activa.

2 Respuestas

Respuesta
1

Según lo que describes, tienes que indicarle a la macro en que hoja debe de grabar los datos. Si quieres pega tu código que guarda los datos, para que podamos darle un vistazo y darte la mejor solución.

Este es el codigo que tengo en mi boton de captura, no me da ningun problea simepre y cuando tenga mi hoja de base de datos activa, al momento de ocultarla, la captura no marca error, el detalle esque captura la informacion en la hoja que tengo activa y no en la base de datos la cual siempre tengo oculta para solo mostrar graficos y no la base.

Private Sub Registrar_Click()

        ActiveSheet.Cells(2, 1).Select
        Selection.EntireRow.Insert
             ActiveSheet.Cells(2, 1) = ComboBox1
             ActiveSheet.Cells(2, 2) = ComboBox2
             ActiveSheet.Cells(2, 4) = ComboBox3
             ActiveSheet.Cells(2, 5) = TextBox9
             ActiveSheet.Cells(2, 3) = TextBox1
             ActiveSheet.Cells(2, 6) = ComboBox5
             ActiveSheet.Cells(2, 7) = TextBox2
             ActiveSheet.Cells(2, 8) = ComboBox6
             ActiveSheet.Cells(2, 9) = TextBox3
             ActiveSheet.Cells(2, 10) = ComboBox7
             ActiveSheet.Cells(2, 11) = TextBox4
             ActiveSheet.Cells(2, 13) = ComboBox8
             ActiveSheet.Cells(2, 12) = TextBox5
             ActiveSheet.Cells(2, 14) = TextBox6
             ActiveSheet.Cells(2, 15) = TextBox7
             ActiveSheet.Cells(2, 17) = TextBox8
             ComboBox1 = Empty
             ComboBox2 = Empty
             ComboBox3 = Empty
             TextBox9 = Empty
             TextBox1 = Empty
             ComboBox5 = Empty
             TextBox2 = Empty
             ComboBox6 = Empty
             TextBox3 = Empty
             ComboBox7 = Empty
             TextBox4 = Empty
             ComboBox8 = Empty
             TextBox5 = Empty
             TextBox6 = Empty
             TextBox7 = Empty
             TextBox8 = Empty
             ComboBox1.SetFocus
             Ordenar ' Esta es la llamada de nuestra macro para ordenar los registros
            

Tal y como lo dijo Jaime Segura, cambia la instrucción ActiveSheet por Sheets("el nombre de tu hoja"), porque cuando la hoja de gráficos es la única visible se convierte en ActiveSheet.

Además puedes mejorar tu código de la siguiente manera, indicando siempre el nombre de hoja.

With Sheets("").
.rows(2).EntireRow.Insert
.Cells(2, 1) = ComboBox1
.Cells(2, 2) = ComboBox2
.Cells(2, 4) = ComboBox3
.Cells(2, 5) = TextBox9
.Cells(2, 3) = TextBox1
.Cells(2, 6) = ComboBox5
.Cells(2, 7) = TextBox2
.Cells(2, 8) = ComboBox6
.Cells(2, 9) = TextBox3
.Cells(2, 10) = ComboBox7
.Cells(2, 11) = TextBox4
.Cells(2, 13) = ComboBox8
.Cells(2, 12) = TextBox5
.Cells(2, 14) = TextBox6
.Cells(2, 15) = TextBox7
.Cells(2, 17) = TextBox8
end With
             ComboBox1 = Empty
             ComboBox2 = Empty
             ComboBox3 = Empty
             TextBox9 = Empty
             TextBox1 = Empty
             ComboBox5 = Empty
             TextBox2 = Empty
             ComboBox6 = Empty
             TextBox3 = Empty
             ComboBox7 = Empty
             TextBox4 = Empty
             ComboBox8 = Empty
             TextBox5 = Empty
             TextBox6 = Empty
             TextBox7 = Empty
             TextBox8 = Empty
             ComboBox1. SetFocus
Respuesta
1

Específica cómo estás «capturando» lis datos... El problema debe estar allí

Escribir Range("A9")=7 o Cells(3,5)=7 copia los valores a la hoja activa, por lo que comentas la única visible.

Si pones

Sheets("data"). Cells(5,7)=8 si escribes en la hoja DATA independientemente de en que hoja se encuentra tu cursor e independientemente de si ea hija es visible o no

En mi boton de registrar tengo todo este registro, pero al capturar solo lo realiza en la hoja activa y yo requiero que capture en la hoja donde tengo mi base de datos aunque tenga otra activa.

Private Sub Registrar_Click()

        ActiveSheet.Cells(2, 1).Select
        Selection.EntireRow.Insert
             ActiveSheet.Cells(2, 1) = ComboBox1
             ActiveSheet.Cells(2, 2) = ComboBox2
             ActiveSheet.Cells(2, 4) = ComboBox3
             ActiveSheet.Cells(2, 5) = TextBox9
             ActiveSheet.Cells(2, 3) = TextBox1
             ActiveSheet.Cells(2, 6) = ComboBox5
             ActiveSheet.Cells(2, 7) = TextBox2
             ActiveSheet.Cells(2, 8) = ComboBox6
             ActiveSheet.Cells(2, 9) = TextBox3
             ActiveSheet.Cells(2, 10) = ComboBox7
             ActiveSheet.Cells(2, 11) = TextBox4
             ActiveSheet.Cells(2, 13) = ComboBox8
             ActiveSheet.Cells(2, 12) = TextBox5
             ActiveSheet.Cells(2, 14) = TextBox6
             ActiveSheet.Cells(2, 15) = TextBox7
             ActiveSheet.Cells(2, 17) = TextBox8
             ComboBox1 = Empty
             ComboBox2 = Empty
             ComboBox3 = Empty
             TextBox9 = Empty
             TextBox1 = Empty
             ComboBox5 = Empty
             TextBox2 = Empty
             ComboBox6 = Empty
             TextBox3 = Empty
             ComboBox7 = Empty
             TextBox4 = Empty
             ComboBox8 = Empty
             TextBox5 = Empty
             TextBox6 = Empty
             TextBox7 = Empty
             TextBox8 = Empty
             ComboBox1.SetFocus
             Ordenar ' Esta es la llamada de nuestra macro para ordenar los registros
            

Cambia

ActiveSheet

Por

Sheets("DATA") reemplazando DATA por el nombre de la hoja donde están tus datos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas