2012-02-09 9 views
17

Mi è stato assegnato un database abbastanza grande memorizzato in Microsoft Excel, che devo provare a convertire in qualcosa di utile.
Tuttavia, uno dei problemi che sto riscontrando è che alcuni dati vengono uniti insieme (orizzontalmente in 2 secondi).Un file di Excel eccedente e dati duplicati

Ad esempio;

row 1: [ x ][ x ][ x ][ x ][ x ] 
row 2: [ x ][ x ][ o o ][ x ] 
row 3: [ o o ][ x ][ o o ] 

Dove x sono singole cellule e O vengono unite

Quello che voglio fare è unmerge tutte le righe (che ho potuto fare abbastanza facile con il tasto unmerge), ma per cui la cella unita era, avere i dati duplicati tra le 2 celle.
Da; [[ Some Data ]]
A; [ Some Data ][ Some Data ]

Grazie! Qualsiasi aiuto è apprezzato.

risposta

27

Questa è una soluzione VBA. Questa macro cercherà ogni cella nel foglio attivo per vedere se sono unite. Se lo sono, memorizza l'intervallo delle celle unite in un temp. intervallo variabile, separa le celle, quindi riempie l'intervallo con il valore della prima cella nell'intervallo non occupato (qual era il valore).

Sub UnMergeFill() 

Dim cell As Range, joinedCells As Range 

For Each cell In ThisWorkbook.ActiveSheet.UsedRange 
    If cell.MergeCells Then 
     Set joinedCells = cell.MergeArea 
     cell.MergeCells = False 
     joinedCells.Value = cell.Value 
    End If 
Next 

End Sub 
+0

Grazie, ha funzionato perfettamente! Abbiamo dato un'occhiata per capire come eseguire VBA. – H3katonkheir

+0

Prego (e mi dispiace per non aver aggiunto quella informazione per te)! – aevanko

+0

Issun, ho usato solo una riga nel mio VBA che è "cell.MergeCells = False", questo era tutto e fa il trucco per me più volte all'anno.Unifica tutte le celle senza prima controllare ciascuna cella. –

4

Non hai bisogno di VBA per qualcosa di simile.

  1. Selezionare l'intervallo delle celle unite
  2. Dividi le cellule
  3. Casa -> trovare e selezionare -> Vai a speciale ... -> Bianco -> ok
  4. Type "=" mossa una cella e premere Ctrl + Invio

Se stili R1C1 sono abilitati da: File -> Opzioni -> Formula -> R1C1 stile di riferimento, allora

  1. ...
  2. ...
  3. ...
  4. Type "= R [-1] c" e premere Ctrl + Invio
7
  1. Selezionare l'intervallo che si è fusa dati
  2. Cliccare sulla Unisci e centra per dividere le celle
  3. Selezionare l'intervallo di dati di nuovo
  4. Premere Ctrl + G> S peciale> Blanks
  5. Premere = e fino tasto freccia
  6. Premere Ctrl + Invio
Problemi correlati