Da come hai descritto il problema si puo' rispondere "Si, probabilmente si puo' fare usando una macro"
Ad esempio:
- Codice: Seleziona tutto
Sub DemoCod()
Dim Dest As Range, mySplit
'
Set Dest = Workbooks("Front sheet.xlsm").Sheets("Foglio1").Range("A7") '<<< La prima cella in cui trascivere
'
mySplit = Split(ActiveCell.Value, "-", , vbTextCompare)
Dest.Resize(UBound(mySplit) + 1, 1).Value = Application.WorksheetFunction.Transpose(mySplit)
End Sub
Mettere il codice in un "Modulo standard del vba" (es Modulo1); personalizzare la riga marcata <<< come da commento.
Poi selezionare la stringa che si vuole spezzare e copiare e mandare in esecuzione la Sub DemoCod.
Tuttavia poco hai detto su come l'utente deve operare, le modalita' con cui sceglie cosa copiare e dove copiarlo, per cui piu' che un codice dimostrativo non ti posso suggerire.
Quanto al secondo problema, e' ancora piu' vago... Vorresti poter copiare un tot di celle da qualche foglio di un primo file a qualche foglio di un secondo file: vuoi una macro che copia a caso /casaccio? Se No allora devi spiegare quali sono i criteri con cui scegliere che cosa copiare e dove incollare.
Ciao