Cómo funciona JustAnswer:
  • Preguntar a un Experto
    Los expertos tienen muchos conocimientos valiosos y están dispuestos a ayudar en cualquier pregunta. Credenciales confirmadas por una empresa de verificación perteneciente a Fortune 500.
  • Obtener una respuesta profesional
    Por correo electrónico, mensaje de texto o notificación mientras espera en su sitio.
    Haga preguntas de seguimiento si lo necesita.
  • Garantía de satisfacción plena
    Garantizamos tu satisfacción.
Formule su propia pregunta a elbrujomdq
elbrujomdq
elbrujomdq, Técnico informático
Categoría: Informática
Clientes satisfechos: 495
Experiencia:  Analista de sistemas, Desarrollo de Software
67837258
Escriba su pregunta sobre Informática aquí...
elbrujomdq está en línea ahora

Editar datos Filtrados desde listbox

Pregunta del cliente

Editar datos Filtrados desde listbox

Enviada: hace 4 año.
Categoría: Informática
Experto:  elbrujomdq escribió hace 4 año.
Buenas noches,

A que se refiere con filtrado? reglas para filtrar correos?


Quedo a la espera de la informacion requerida.

Cordialmente,
Roberto
Cliente: escribió hace 4 año.

Saludos Roberto:


 


Gracias XXXXX XXXXX


 


Estoy haciendo una aplicacion en VB, tengo una hoja de datos en excel


los cuales muestro en un listbox, luego, filtro algunos datos desde un combobox, actualizo el listbox y me muestra los datos flitrados,... hasta aqui todo va bien.


 


El problema es... necesito que despues de hacer el filtro pueda editar los datos y se reflejen en la hoja de excel. He logrado editar mediante codigo pero solamente me edita la primera columna, y no encuentro el metodo para editar las 12 columnas que contienen los datos.


 


Quisiera enviarle el ejemplo pero como no se como subirlo.


 


Gracias.


 


 


 


 

Experto:  elbrujomdq escribió hace 4 año.
Buen dia,

ok ahora esta un poco mas claro. Si necesitaria el ejemplo para poder ayudarlo. Para subirlo en la barra de tareas de la caja de texto donde escribe hay un clip de oficina el tipico icono para adjuntar. Desde ahi lo selecciona de su disco y lo adjunta.

Quedo en linea a la espera del archivo

Cordialmente,
Roberto
Cliente: escribió hace 4 año.

Gracias.


Le envio el ejemplo


 


 

Cliente: escribió hace 4 año.

Gracias.


 


Perdon por mi ignorancia, pero no encuentro el boton para subir el ejemplo


solo encontre uno "insert/edit link" pero no funciona.


 


 


 


 


 

Cliente: escribió hace 4 año.

Roberto, le envio el pantallazo para que por favor me indique cual boton utilizar.


Attachment: 2012-08-22_034827_pantalla.docx

Experto:  elbrujomdq escribió hace 4 año.
Buen dia,

De nuestro lado tenemos un clip por eso creia que uds tambien.. deberia ser el link de la cadena o el arbolito de al lado. Que dice el arbolito? sera imagen? sino lo que puede hacer es copiar y pegar el codigo veo si puedo crear la planilla con ese codigo.

Quedo en linea

Cordialmente,
Roberto
Cliente: escribió hace 4 año.

Buen dia Roberto:


 


Existe el boton de la cadenita pero no funciona y el del arbolito solamente sube imagenes, pero de todos modos te envio el codigo.


 


 


 


Dim Indice As Long, Fila As Long


Private Sub CmEdit_Click()
Fr1.Show
End Sub
Private Sub CmBuscar_Click()
Worksheets("Diario").AutoFilterMode = False
Sheets("Diario").Select
Range("D1").Select


Selection.AutoFilter field:=4, Criteria1:=CxTipo
Selection.AutoFilter field:=5, Criteria1:=CxCbte



Lst_Ed.Clear
uf = Range("a65536").End(xlUp).Row
j = 0
Set rnAux = Range("a2:a" & uf).SpecialCells(xlCellTypeVisible)
For Each rnCiclo In rnAux
Lst_Ed.AddItem rnCiclo
Lst_Ed.List(j, 1) = rnCiclo.Offset(0, 1)
Lst_Ed.List(j, 2) = rnCiclo.Offset(0, 5)
Lst_Ed.List(j, 3) = rnCiclo.Offset(0, 6)
Lst_Ed.List(j, 4) = rnCiclo.Offset(0, 7)
Lst_Ed.List(j, 5) = rnCiclo.Offset(0, 8)
Lst_Ed.List(j, 6) = rnCiclo.Offset(0, 9)
Lst_Ed.List(j, 7) = rnCiclo.Offset(0, 10)
j = j + 1
Next rnCiclo
MultiPage1.Value = 0


End Sub


Private Sub CommandButton2_Click()
CxTipo.ListIndex = buscaElemento("Esto es una prueba", CxTipo)
End Sub


 


Private Sub CxTipo_Change()
If CxTipo = "" Then
CmBuscar.Enabled = False
Worksheets("Comprobantes").AutoFilterMode = False
Sheets("Comprobantes").Select
Range("D1").Select


Lst.Clear
CxCbte.Clear
uf = Range("a65536").End(xlUp).Row
j = 0
Set rnAux = Range("a2:a" & uf).SpecialCells(xlCellTypeVisible)
For Each rnCiclo In rnAux
Lst.AddItem rnCiclo
Lst.List(j, 1) = rnCiclo.Offset(0, 1)
Lst.List(j, 2) = rnCiclo.Offset(0, 2)
Lst.List(j, 3) = rnCiclo.Offset(0, 3)
Lst.List(j, 4) = rnCiclo.Offset(0, 4)
Lst.List(j, 5) = rnCiclo.Offset(0, 5)
Lst.List(j, 7) = rnCiclo.Offset(0, 7)
Lst.List(j, 8) = rnCiclo.Offset(0, 8)
j = j + 1
Next rnCiclo


Else
Worksheets("Comprobantes").AutoFilterMode = False
Sheets("Comprobantes").Select
Range("D1").Select


Selection.AutoFilter field:=1, Criteria1:=CxTipo
Lst.Clear
CxCbte.Clear
uf = Range("a65536").End(xlUp).Row
j = 0
Set rnAux = Range("a2:a" & uf).SpecialCells(xlCellTypeVisible)
For Each rnCiclo In rnAux
Lst.AddItem rnCiclo
Lst.List(j, 1) = rnCiclo.Offset(0, 1)
Lst.List(j, 2) = rnCiclo.Offset(0, 2)
Lst.List(j, 3) = rnCiclo.Offset(0, 3)
Lst.List(j, 4) = rnCiclo.Offset(0, 4)
Lst.List(j, 5) = rnCiclo.Offset(0, 5)
Lst.List(j, 7) = rnCiclo.Offset(0, 7)
Lst.List(j, 8) = rnCiclo.Offset(0, 8)
j = j + 1
Next rnCiclo


uf = Range("b65536").End(xlUp).Row
j = 0
Set rnAux = Range("b2:b" & uf).SpecialCells(xlCellTypeVisible)
For Each rnCiclo In rnAux
CxCbte.AddItem rnCiclo
j = j + 1
Next rnCiclo
End If



End Sub


Private Sub Fm1_Aux_Click()


End Sub


Private Sub Lst_Click()
CxCbte = Lst.List(, 1)
TxTipo = Lst.List(, 0) + "- " + Lst.List(, 1) + " " + Lst.List(, 2) + " " + Lst.List(, 3) + "-" + Lst.List(, 4) + " " + Lst.List(, 5)
Worksheets("Diario").AutoFilterMode = False
Sheets("Diario").Select
Range("D1").Select


Selection.AutoFilter field:=4, Criteria1:=CxTipo
Selection.AutoFilter field:=5, Criteria1:=CxCbte



Lst_Ed.Clear
uf = Range("a65536").End(xlUp).Row
j = 0
Set rnAux = Range("a2:a" & uf).SpecialCells(xlCellTypeVisible)
For Each rnCiclo In rnAux
Lst_Ed.AddItem rnCiclo
Lst_Ed.List(j, 1) = rnCiclo.Offset(0, 1)
Lst_Ed.List(j, 2) = rnCiclo.Offset(0, 5)
Lst_Ed.List(j, 3) = rnCiclo.Offset(0, 6)
Lst_Ed.List(j, 4) = rnCiclo.Offset(0, 7)
Lst_Ed.List(j, 5) = rnCiclo.Offset(0, 8)
Lst_Ed.List(j, 6) = rnCiclo.Offset(0, 9)
Lst_Ed.List(j, 7) = rnCiclo.Offset(0, 10)
j = j + 1
Next rnCiclo
End Sub


Private Sub Lst_Ed_Click()
On Error Resume Next
CmEdit.Enabled = True
Dim valor, final As String
valor = Lst_Ed.Value
Range("A1").Select
ActiveCell.End(xlDown).Select
final = ActiveCell.Address
Range("A1", final).Select
Cells.Find(What:=valor).Select


CxCuenta.Text = Lst_Ed.List(Lst_Ed.ListIndex, 0)
TxDescripcion.Text = Lst_Ed.List(Lst_Ed.ListIndex, 1)
CxNIT.Text = Lst_Ed.List(Lst_Ed.ListIndex, 2)
TxTercero.Text = Lst_Ed.List(Lst_Ed.ListIndex, 3)
TxConcepto.Text = Lst_Ed.List(Lst_Ed.ListIndex, 4)
CxCruce.Text = Lst_Ed.List(Lst_Ed.ListIndex, 5)
TxDebito.Text = Lst_Ed.List(Lst_Ed.ListIndex, 6)
TxCredito.Text = Lst_Ed.List(Lst_Ed.ListIndex, 7)



End Sub


Private Sub MultiPage1_Change()


If MultiPage1.Value = 1 Then
CmEdit.Enabled = False
End If
End Sub


Private Sub UserForm_Activate()
Sheets("tipo").Select
CxTipo.RowSource = "a2:b15"
End Sub


 

Cliente: escribió hace 4 año.

Este es el codigo del formulario de edicion


La hoja excel debe tener 12 columnas con datos


Pero el formulario solamente debe editar las columnas A,B,F,G,H,I,J,K.


 


El delete o borrado funciona perfecto.


 


Private Sub CmEliminar_Click()
Sheets("diario").Select
Dim valor, final As String
valor = Fr2.Lst_Ed.Value
Range("A1").Select
ActiveCell.End(xlDown).Select
final = ActiveCell.Address
Range("A1", final).Select
Cells.Find(What:=valor).Select
If ActiveCell.Value = valor Then
Selection.EntireRow.Delete
End If


End Sub


Private Sub UserForm_Activate()
CxCuenta = Fr2.Lst_Ed.List(, 0)
TxDescripcion = Fr2.Lst_Ed.List(, 1)
CxNIT = Fr2.Lst_Ed.List(, 2)
TxTercero = Fr2.Lst_Ed.List(, 3)
TxConcepto = Fr2.Lst_Ed.List(, 4)
CxCruce = Fr2.Lst_Ed.List(, 5)
TxDebito = Fr2.Lst_Ed.List(, 6)
TxCredito = Fr2.Lst_Ed.List(, 7)
LbTipo = Fr2.TxTipo
End Sub


 

Experto:  elbrujomdq escribió hace 4 año.

Buenas tardes,

Podria intentar subirlo tipo imagen mas alla de que no sea una imagen ya de algun modo recibi anteriormente planillas y sino puede enviarlo [email protected] indicando que es para Roberto.

 

Cual seria la seleccion que funciona y cual no asi entiendo el funcionamiento de la planilla en funcion de lo esperado.


Quedo a la espera de lo solicitado.

Cordialmente,
Roberto

Experto:  elbrujomdq escribió hace 4 año.
Prosigo por aca, recibi OK el archivo. Mañana procedere a verlo y analizar.

Intentare recrear

"El problema es... necesito que despues de hacer el filtro pueda editar los datos y se reflejen en la hoja de excel. He logrado editar mediante codigo pero solamente me edita la primera columna, y no encuentro el metodo para editar las 12 columnas que contienen los datos."

Cualquier novedad o nueva consulta la escribire por aca.

Cordialmente,
Roberto
Experto:  elbrujomdq escribió hace 4 año.
Buen dia,

Al no usar windows como sistema operativo sino linux con libreoffice no me ejecuta la macro. Es la primera vez que no lo hace. No lo puedo ver funcionalmente, mas alla de eso, podemos seguir la logica y tu metodo para llegar a una solucion igualmente.

Para eso sigo el codigo de la macro y lo revisamos, ok?

Cuando el listbox filtra en definitiva hace una busqueda en la hoja diario y se posiciona en la fila correspondiente conforme al comprobante. Desde alli como el caso que tenes señalado fila 55 deberias seleccionar desde A..K al ser columnas siempre la seleccion sera la misma mas alla de que cambie la fila, es correcto?

Si las columnas van a ser siempre 12 porque no seleccionas directamente? de A a K mas la fila que haga la busqueda del comprobante?

Quedo en linea para continuar

Cordialmente,
Roberto
Cliente: escribió hace 4 año.

Saludos Roberto.


 


Exactamente ese codigo es el que no he podido armar, no encuentro el metodo para modificar la fila que hace la busqueda del comprobante.


 


Quisiera que me ayudaras enviandome un metodo para poder modificar la fila que yo selecciono.


 


Gracias.


 

Cliente: escribió hace 4 año.

Saludos Roberto.


 


Quisiera saber pudo elaborar el codigo, ya que estoy un poco urgido.


 


Gracias.


 


 

Experto:  elbrujomdq escribió hace 4 año.

Buenas tardes,

Hoy tengo un dia complicado a nivel personal todavia no he tenido el tiempo para dedicarle como se merece. La macro la hizo ud?

Cuando selecciona con el listbox que columna dice que le edita y el resto no, la A?

Al no ver la macro funcionar necesitaremos mas tiempo por cada prueba, si tiene apuro puede incluirlo en la lista para que otros expertos se sumen a la solucion.

Lo que pueda aportar lo ire escribiendo por aca, asi mismo si me surge alguna otra pregunta.

 

Para seleccionar un rango

 

Range("A1:B5").Select

 

En el caso de ud que necesita seleccionar sobre la misma fila y siempre el mismo rango de columnas solamente hay que reemplazar el numero por la variable de busqueda que hara sobre la columna L

 

Si L en la busqueda es 55 y la variable es fila quedaria:

 

Range("A" & fila, "K" & fila).Select



Cordialmente,
Roberto

Cliente: escribió hace 4 año.
Volver a incluir en lista: La respuesta ha tardado demasiado.
Necesito un experto que tenga excel 2007 para que pueda abrir la macro que le envio, la analice y me reenvie la solucion.

Gracias.