Datos de un userform traspasados a Microsoft Excel y error al cargar el formulario y las funciones

Hola tengo un problemita, yo tengo una hoja en la que almaceno unos datos de un userform, y luego con un código esos datos los paso a otra hoja para crear la base de datos, pero cuando los datos pasan a excel del userform alguinas veces unas filas me quedan en cero y esas no las debo pasar a la base de datos, entonces yo quisiera saber cómo puedo hacer para que el mire :que si esas celdas son iguales a "0" no las pase sino únicamente las demás.
Esto es lo que yo hago para pasarlas.
Sub cargarorden()
Load SERVICIOS
SERVICIOS.Show
Sheets("ORDEN DE SERVICIO").Select
Application.Goto Reference:="R3C3"
Range("P1:P11").Select
    Selection.Copy
Sheets("MP").Select
        Range("B65536").End(xlUp).Select
        ActiveCell.Offset(1, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
         Application.Goto Reference:="R1C1"
    Application.CutCopyMode = False
    End If
Desde la fila p hasta la w,
pero entonces como hago para decirle que si la celda "q1" es igual a "0" entonces que no me la cargue y así hasta la w.
Muchas gracias.
Retirar pregunta
Respuesta
1
En la fórmula has seleccionado de la fila 1 a la 11 directamente Range(P1:P11). select.
Haz un bucle y selecciona las filas una a una
Dim cont as integer
for cont=1 to 11
range(trim("P1:P"&str(cont))).Select ' esto los debe coger uno a uno
' Ahora comparas
if range.cells(1,1)<>0 then 'copias y pegas igual que lo tienes arriba
--Código
-- Código
next cont.
Hola mira ya lo solucioné por otro lado para que no me cargue los datos que son cero, ahora lo que quiero hacer
Sub cargarorden()
Load SERVICIOS
SERVICIOS.Show
Sheets("ORDEN DE SERVICIO").Select
Application.Goto Reference:="R3C3"
Range("P1:w12").Select
    Selection.Copy
Sheets("MP").Select
        Range("B65536").End(xlUp).Select
        ActiveCell.Offset(1, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
         Application.Goto Reference:="R1C1"
    Application.CutCopyMode = False
Sheets("MP").Select
        Range("B65536").End(xlUp).Select
        Range("activecell:w65536").ClearContents

       MsgBox ("REMISIÓN REALIZADA")
End Sub
ahora lo que necesito es que me borre las  8 celdas vacias del rango (b:w) ,q ue me quedan después de cargar el programa por que estas celdas las paso de otra hoja y las tengo con una fórmula SI , la cual me mira si unos datos son iguales a cero entonces que no mustre los demás , pero cuando pasan a la otra hoja pareciera que hubiera algo escrito en ellas entonces necesito eliminar ese contenido yo le agregúe lo que está en negrilla al código pero me sale un error, me puedes decir que estoy haciendo mal?
Muchas Gracias.
En mi web www.expertmrtool.com tienes una plantilla excel con una macro para eliminar filas. Puedes copiar la función y usarla en la tuya.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas