Crear una requisición en VB solo en cierto rango copiar filas

VB excel 2010.

Tengo 1 hoja que se llama requisición, aquí quiero agregar los datos, en el área especifica de la fila 7 a la 14, si son más, elaboraría otra requisición

Mis bases de datos son en diferentes hojas, maquila, herramientas, insertos, etc.

Tengo una macro que lo hace, pero a medias.

Sub copiar_a_requisicion_htacte()'' copiar_a_requisicion_htacte Macro' Macro grabada por Arale'' Acceso directo: CTRL+r'    Selection.Copy    Sheets("requisición").Select    Range("A7").Select    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _        False, Transpose:=False    ActiveCell.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, Transpose:=False, SkipBlanks:=False    Application.CutCopyMode = FalseEnd Sub

ya que si quiero agregar otra fila de mi base de datos lo borra lo que ya habia mandado a la req. 

En síntesis quiero que se recorra a la siguiente filaque no haya datos, hasta que yo borre mis filas de la req.

1 respuesta

Respuesta
2

Te anexo la macro actualizada

Sub copiar_a_requisicion_htacte()
'Act.Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("requisición")
    fila = 0
    For i = 7 To 14
        If h1.Cells(i, "A") = "" Then
            fila = i
            Exit For
        End If
    Next
    r = Selection.Rows.Count
    disp = 15 - fila
    If r > disp Then fila = 0
    If fila > 0 Then
        Selection.Copy
        h1.Range("A" & fila).PasteSpecial Paste:=xlValues
        h1.Range("A" & fila).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        MsgBox "Registro copiado"
    Else
        MsgBox "Ya no hay filas disponibles", vbexclamantion
    End If
    Application.CutCopyMode = False
End Sub

Saludos.Dante Amor

¡Gracias!

Muchísimas gracias Dante, esta como lo había imaginado, y hasta un poco más, muy bien.

Excelente día.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas