Saltar al contenido

Minimizar filas en dos hojas diferentes segun la misma condicion


Recommended Posts

publicado

Buenas, y ante todo gracias de antemano y disculpas si el tema que busco ya se habia tratado, pero no ha habido manera de encontra la solución.

Tengo un archivo Excel para controlar entradas y salidas de materiales: en una hoja tengo productos y en otra ("Stock"), tengo el stock, aparte de tener una de entradas y salidas claro.

Bien, lo que busco es que desde la hoja de Productos, y a traves de un formulario, pueda minimizar la fila el producto que yo introduzca en TextBox1 en las dos hojas: Productos y Stock.

He de decir, que consigo hacer que se minimize en la hoja productos, pero no consigo ni siquiera que en Stock me llegue a escribir un simple "hola" en una celda cualquiera. El codigo que uso es el que les indico... Lamento no poder subir el archivo entero, pero por motivos de empresa no me es imposible...

Private Sub CommandButton2_Click()

Dim ctr As Control

Set RANGO = Range("C:C").Find(What:=TextBox1, _

LookAt:=xlWhole, LookIn:=xlValues)

If RANGO Is Nothing Then

MsgBox "Aun no buscas ningun dato", vbOKOnly + vbInformation, "AVISO"

TextBox1.SetFocus

Exit Sub

End If

If TextBox2 = "" Or TextBox3 = "" Or TextBox4 = "" Then

MsgBox "No dejes ningun campo en blanco", vbOKOnly + vbInformation, "AVISO"

Exit Sub

End If

Range("C" & RANGO.Row) = TextBox2

Range("D" & RANGO.Row) = TextBox3

Range("E" & RANGO.Row) = Val(TextBox4)

Range("G" & RANGO.Row).NumberFormat = "#,##0.00"

For Each ctr In Me.Controls

If TypeOf ctr Is MSForms.TextBox Then

ctr = ""

End If

Next ctr

TextBox1.SetFocus

Set ctr = Nothing

Set RANGO = Nothing

End Sub

Private Sub CommandButton3_Click()

Dim strfila$, ctr As Control

If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Or TextBox4 = "" Then

MsgBox "No dejes ningun campo en blanco", vbOKOnly + vbInformation, "AVISO"

TextBox1.SetFocus

Exit Sub

End If

Set RANGO = Range("C:C").Find(What:=TextBox1, _

LookAt:=xlWhole, LookIn:=xlValues)

If Not RANGO Is Nothing Then

MsgBox "El PRODUCTO ya existe", vbOKOnly + vbInformation, "AVISO"

TextBox1.SetFocus

Exit Sub

End If

UltimaFila = Range("C65536").End(xlUp).Row

UltimaFila = UltimaFila + 1

Range("C" & UltimaFila) = TextBox1

Range("D" & UltimaFila) = TextBox2

Range("E" & UltimaFila) = TextBox3

Range("G" & UltimaFila) = Val(TextBox4)

Range("G" & UltimaFila).NumberFormat = " #,##0.00"

For Each ctr In Me.Controls

If TypeOf ctr Is MSForms.TextBox Then

ctr = ""

End If

Next ctr

Range("A" & strfila$ & ":D" & strfila$).HorizontalAlignment = xlCenter

TextBox1.SetFocus

End Sub

Private Sub CommandButton4_Click()

Set RANGO = Range("C:C").Find(What:=TextBox1, _

LookAt:=xlWhole, LookIn:=xlValues)

Dim respuesta As Integer, ctr As Control

If RANGO Is Nothing Then

MsgBox "Aun no buscas ningun dato", vbOKOnly + vbInformation, "AVISO"

TextBox1.SetFocus

Exit Sub

End If

respuesta = MsgBox("¿Estas seguro de eliminar el registro elegido?", vbCritical + vbOKCancel, "AVISO")

If respuesta = vbOK Then

Cells(RANGO.Row, RANGO.Column).EntireRow.Select

Selection.RowHeight = 3

For Each ctr In Me.Controls

If TypeOf ctr Is MSForms.TextBox Then

ctr = ""

End If

Next ctr

TextBox1.SetFocus

Exit Sub

End If

MsgBox "Operacion cancelada", vbOKOnly + vbInformation, "AVISO"

For Each ctr In Me.Controls

If TypeOf ctr Is MSForms.TextBox Then

ctr = ""

End If

Next ctr

TextBox1.SetFocus

End Sub

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.