Klip, kopier og indsæt fra en makro - eksempler på VBA -kode

I denne vejledning lærer du flere forskellige metoder til at kopiere og indsætte og klippe og indsætte ved hjælp af en VBA -makro. Læs den ledsagende vejledning om Value Paste and PasteSpecial for mere avancerede kopierings- og indsætningsmuligheder.

For at bruge denne kode: Åbn Visual Basic Editor (Alt + F11), Indsæt et nyt modul (Indsæt> Modul), og kopier og indsæt den ønskede kode i modulet.

Kopier (klip) og indsæt en enkelt celle

Dette eksempel kopierer eller klipper og indsætter en enkelt celle, A1 over til B1:

123456789 Sub Paste_OneCell ()'Kopier og indsæt enkelt celleOmråde ("A1"). Kopieringsområde ("B1")'Klip og indsæt enkeltcelleOmråde ("A1"). Skær rækkevidde ("B1")Afslut Sub

Kopier markering

Hvis du vil kopiere det aktive valg, skal du bruge dette:

123456789101112 Sub CopySelection ()'Indsæt i et defineret områdeSelection.copy -område ("b1")'Offset Paste (forskyder 2 celler ned og 1 til højreUdvælgelse. KopiUdvælgelse. Forskydning (2,1). IndsætApplication.CutCopyMode = FalskAfslut Sub

Kopier (klip) og indsæt en række celler

Dette eksempel kopierer eller klipper og indsætter en række celler, A1: A3 over til B1: B3:

123456789 Sub Paste_Range ()'Kopier og indsæt en række cellerOmråde ("A1: A3"). Kopiområde ("B1: B3")'Klip og indsæt en række cellerOmråde ("A1: A3"). Skæreområde ("B1: B3")Afslut Sub

Kopier (klip) og indsæt en hel kolonne

Nedenfor vil vi demonstrere et par hurtige eksempler. Læs vores artikel om kopiering og indsætning af rækker og kolonner for detaljerede eksempler, forklaringer og variationer.

Dette eksempel kopierer eller klipper og indsætter en hel kolonne, A over til B:

12345678910 Sub PasteOneColumn ()'Kopier og indsæt kolonneOmråde ("A: A"). Kopieringsområde ("B: B")'Klip og indsæt kolonneOmråde ("A: A"). Skæreområde ("B: B")Afslut Sub

Kopier (klip) og indsæt en hel række

Dette eksempel kopierer eller klipper og indsætter en hel række, 1 over til 2:

12345678910 Sub Paste_OneRow ()'Kopier og indsæt rækkeOmråde ("1: 1"). Kopieringsområde ("2: 2")'Klip og indsæt rækkeOmråde ("1: 1"). Skær rækkevidde ("2: 2")Afslut Sub

Kopier (klip) og indsæt i et andet regneark eller en projektmappe

1234567891011121314 Sub Paste_Other_Sheet_or_Book ()'Klip eller kopier og indsæt til et andet regnearkRegneark ("ark1"). Område ("A1"). Kopier regneark ("ark2"). Område ("B1") 'KopiRegneark ("ark1"). Område ("A1"). Klip regneark ("ark2"). Område ("B1") 'Klip'Klip eller kopier og indsæt til en anden projektmappeArbejdsbøger ("bog1.xlsm"). Regneark ("ark1"). Område ("A1"). Kopi _Arbejdsbøger ("book2.xlsm"). Regneark ("ark1"). Område ("B1") 'KopiArbejdsbøger ("book1.xlsm"). Regneark ("ark1"). Område ("A1"). Klip _Arbejdsbøger ("book2.xlsm"). Regneark ("ark1"). Område ("B1") 'KlipApplication.CutCopyMode = FalskAfslut Sub

Værdi Indsæt

Normalt, når du kopierer og indsætter, indsætter du alle egenskaberne for en celle: formatering, formler osv. … Value Paste giver dig mulighed for at kopiere og indsætte cellers værdier og intet andet. Den nemmeste måde at værdipasta i VBA er at definere cellens værdi direkte:

123456789101112131415 Sub ValuePaste ()'Værdi Indsæt cellerOmråde ("B1"). Værdi = Område ("A1"). VærdiOmråde ("B1: B3"). Værdi = Område ("A1: A3"). Værdi'Indstil værdier mellem regnearkRegneark ("ark2"). Område ("A1"). Værdi = Regneark ("ark1"). Område ("A1"). Værdi'Indstil værdier mellem arbejdsbøgerArbejdsbøger ("book2.xlsm"). Regneark ("ark1"). Område ("A1"). Værdi = _Arbejdsbøger ("book1.xlsm"). Regneark ("ark1"). Område ("A1"). VærdiApplication.CutCopyMode = FalskAfslut Sub

Indsæt special

Paste Special giver dig mulighed for at kopiere og indsætte specifikke egenskaber for celler (eksempler: formater, værdier, kolonnebredder osv.). Det giver dig også mulighed for at udføre særlige indsætningsoperationer (eksempler: spring emner over, transponer). Vi vil se på flere eksempler herunder, men for en dybdegående læsning af vores selvstudium om Value Pasting and Paste Special.

12345678910111213141516171819 Sub PasteSpecial ()'Udfør en speciel indsætning:Område ("A1"). Kopi'Indsæt formaterOmråde ("B1"). PasteSpecial Paste: = xlPasteFormats'Indsæt kolonnebredderOmråde ("B1"). PasteSpecial Paste: = xlPasteColumnWidths'Indsæt formlerOmråde ("B1"). PasteSpecial Paste: = xlPasteFormulas'Udfør flere indsætte specialoperationer på én gang:Område ("A1"). Kopi'Indsæt formater og transponerOmråde ("B1"). PasteSpecial Paste: = xlPasteFormats, Operation: = xlNone, SkipBlanks: = _Falsk, Transponere: = SandtApplication.CutCopyMode = FalskAfslut Sub

Ryd udklipsholder

Efter kopiering og indsætning vil du måske rydde udklipsholderen (det gør vi i nogle af kodeeksemplerne ovenfor). For at rydde Excel -udklipsholderen sætter vi Application.CutCopyMode til Falsk:

1 Application.CutCopyMode = Falsk

Dette vil rydde Excel's udklipsholder. Det vil dog ikke rydde Windows Udklipsholder. Følg instruktionerne her for at rydde vinduets udklipsholder.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave