Hey Mireya (perdon la demora, hoy tuve un día largo),
Aquí te dejo la macro lo mas completa posible. Cuando se ejecuta, lo primero que hace es abrir la ventana de Guardar Como, para que elijas como quieres guardar el nuevo libro que se va a crear. Te he puesto 3 opciones de formato: xls, xlsx, y csv ya que en el titulo de tu pregunta se menciona csv. Si necesitas mas formatos, déjame saber.
Una vez que escribas el nombre y elijas el formato, el resto se hace (siempre y cuando hayan celdas vacías en la columna F claramente)
El nuevo libro tendrá una hoja con el mismo nombre que le diste al libro en la ventana de Guardar Como.
Sub mover()
Application.ScreenUpdating = False
Dim otroLibro As Workbook: Dim uF As Long: Dim fRng As Range
Dim brokenR() As String
Dim fName As String, fExtension As String, fExt As Long, fFormat As Long
Dim fRuta As Variant
fRuta = Application.GetSaveAsFilename(FileFilter:= _
"Archivos Excel (*.xlsx), *.xlsx," & _
" Archivos Excel compatible 97-2003 (*.xls), *.xls," & _
" CSV (*.csv), *.csv", Title:="Guardar como...", _
InitialFileName:=ThisWorkbook.Path & "\")
If fRuta <> False Then
uF = ThisWorkbook.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
brokenR = Split(fRuta, "\")
fName = brokenR(UBound(brokenR))
fExt = Len(fName) - InStrRev(fName, ".") + 1
fExtension = Right(fName, fExt - 1)
fName = Left(fName, Len(fName) - fExt)
Select Case fExtension
Case "xls"
fFormat = 56
Case "xlsx"
fFormat = 51
Case "csv"
fFormat = 6
End Select
On Error Resume Next
Set fRng = ThisWorkbook.Sheets(1).Range("F1:F" & uF).SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not fRng Is Nothing Then
Set otroLibro = Workbooks.Add
With fRng.EntireRow
.Copy otroLibro.Sheets(1).Range("A1")
.Delete
End With
otroLibro.Sheets(1).Name = fName
otroLibro.SaveAs Filename:=fRuta, FileFormat:=fFormat
otroLibro.Close
End If
End If
Application.ScreenUpdating = True
End Sub
Andy