Excel - En makro til at kopiere / indsætte et valgt område

Problem

Jeg har et resumé af data om måneden i ét ark og de rå data i et andet ark. I stedet for at oprette flere regneark til mine rådata for hver måned, vil jeg slette data fra tidligere måned og erstatte med nye data. For at gøre dette skal jeg kopiere formlerne, der oprettede resuméet til en anden kolonne (for den nye måned) og derefter kopiere og indsætte værdien af ​​de nuværende månedssammenligningsdata (så når kilderådsdataene har ændret det, ville det ikke ændre min værdier der).

Eksempel

 ABCD Jan Feb Mar Apr 1 5 6 7 

Jeg vil gerne have mit slutresultat til at ligne (dvs. kopi fra A3: A6 og indsæt på B3. Så næste måned vil det kopiere fra B3: B6 og indsætte på C3 osv.).

 ABCD Jan Feb Mar Apr 1 1 5 5 6 6 7 7 

Jan og Feb er de samme i øjeblikket, fordi kopien og indsættelsen vil ske, inden der er udskiftet nye rå data.

Håber det giver mening. Jeg har meget lidt viden i writting VB, men kan klare at læse og forstå de enkle. Kan nogen hjælpe mig med en makro, der vil gøre dette automatisk?

Opløsning

Denne makro bruger en indbakke til at spørge, hvilken måned du opdaterer. Brug numeriske værdier i stedet for at indtaste måneden. Eksempel: Jan. = 1, Feb. = 2, Mar. = 3. Jeg antager, at du ikke vil opdatere januar, så makroen vil afslutte hvis 1 er skrevet i indbakken (medmindre den opdateres fra december, så kan vi ændre det).

Håber dette hjælper.

 Sub Update_Month () Dim svar Som Variant Dim jj = 3 answer = InputBox ("Hvilken måned opdaterer du?" & VbCrLf & _ "Eks: januar = 1, februar = 2, marts = 3 osv.") Vælg Case svar Case 1 Exit Sub Case 2 For j = 3 til 6 Område ("B" & j) = Range ("A" & j) Næste j Case 3 For j = 3 til 6 Range ("C" & j) = Range "B" & j) Næste j Sag 4 For j = 3 til 6 Område ("D" & j) = Område ("C" & j) Næste j Sag 5 For j = 3 til 6 Område ("E" & j ) = Range ("D" & j) Næste j Sag 6 For j = 3 Til 6 Område ("F" & j) = Område ("E" & j) Næste j Sag 7 For j = 3 til 6 Område G "& j) = Område (" F "& j) Næste j Sag 8 For j = 3 til 6 Område (" H "& j) = Område (" G "& j) Næste j Sag 9 For j = 3 Til 6 Område ("I" & j) = Område ("H" & j) Næste j Sag 10 For j = 3 til 6 Område ("J" & j) = Område ("I" & j) Næste j Sag 11 For j = 3 til 6 Område ("K" & j) = Område ("J" & j) Næste j Sag 12 For j = 3 til 6 Område ("L" & j) = Område j Slut Vælg Slut Sub 

Noter det

Takket være WutUp WutUp til dette tip på forummet]

Forrige Artikel Næste Artikel

Top Tips