Flytte Delsummer

December 27  by Eliza

David var å legge delsummer (data | delsummer) til store regneark og leter etter en måte å flytte delsum celler til ulike celler. For eksempel, anta at når Excel tilsatt de automatiske delsummer, ble de tilsatt i en kolonne S, og delsummen formel lagt til av Excel referert til serier av celler i kolonnen S. David ønsket å flytte delsummen formler (og kun disse formlene) av kolonne S til kolonne T, og har formlene fortsatt vise til detaljer i kolonne S.

Ett alternativ er å gå gjennom og beveger delsummen formler, en om gangen, til de ønskede steder. (Du ville bruke Ctrl + X og Ctrl + V for å flytte cellene, snarere enn Ctrl + C og Ctrl + V for å bare lage kopier av cellene.) Hvis regnearkene er store, med mange delsummer, kan dette bli veldig kjedelig veldig raskt.

Tedium i Excel er ofte den primære drivkraften for å lage en makro. Denne saken er ikke noe unntak. Det er mulig å lage en makro som vil gjøre selve flyttingen av delsum formler. Vurdere følgende eksempel:

Sub MoveSubtotals ()
Dim Rceii Som Range
Dim RNG Som Range
Dim iCol As Integer
Dim iOffset As Integer

iCol = 19 '19 er Column S
iOffset = 1 'Positive gå rett, negativer gå til venstre
Satt RNG = Skjæring (Selection.CurrentRegion, Columns (iCol))
For Hver Rceii I RNG
Hvis InStr (rCell.Formula, "TOTAL") Deretter
rCell.Offset (0, iOffset) .Formula = _
rCell.Formula
rCell.ClearContents
End If
Neste
End Sub

Dette eksempel virker ved å undersøke hver celle valgt i kolonnen S. Hvis formelen i cellen inneholder ordet TOTAL, så formelen kopieres en kolonne til høyre, i kolonne T, og fjernes fra cellen i kolonnen S. kan endre avstanden til venstre eller høyre at delsummer flyttes ved å endre verdien tilordnet iOffset variabel. (Merk at du må kjøre makroen med et celle valgt, og en del av valget må omfatte kolonne S.)

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (2119) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Flytte delsummer.