Great code but wondered how I can paste values rather than just paste?
Thanks :)
U hebt bijvoorbeeld een groot werkblad en u wilt nu alleen enkele geselecteerde bereiken kopiëren en naar andere werkbladen distribueren. Maar wanneer u de meerdere bereiken selecteert en op kopiëren klikt, verschijnt er een promptvenster om u eraan te herinneren "Dat commando kan niet worden gebruikt voor meerdere selecties." Hoe kopieer je in deze toestand snel meerdere geselecteerde bereiken? Hier zijn enkele trucs om deze taak op te lossen.
Dankzij klembord, kunt u alle geselecteerde bereiken tegelijk in een ander bereik of werkblad plakken. Ga als volgt te werk:
1. Klikken Home > functie in het klembord groep om de klembord Brood.. Zie screenshot:
2. En kopieer vervolgens de geselecteerde bereiken die u een voor een nodig hebt. Tegelijkertijd zijn de gekopieerde bereiken verschenen in de klembord Brood. zie screenshot hierboven:
3. Selecteer de eerste cel van het doelbereik waarin u alle gekopieerde bereiken wilt plakken en klik op Plak alles knop in de klembord Paneel.
En dan zijn alle gekopieerde bereiken in het opgegeven bestemmingsbereik geplakt.
Het kan vervelend zijn om tientallen bladen uit verschillende werkmappen in één blad te combineren. Maar met Kutools voor Excel's Combineren (werkbladen en werkmappen) hulpprogramma, kunt u het voor elkaar krijgen met slechts enkele klikken!
Gratis proefversie met volledige functionaliteit 30 dagen!
Kutools for Excel - Bevat meer dan 300 handige tools voor Excel. Gratis proefperiode van 30 dagen met volledige functionaliteit, geen creditcard vereist! Snap het nu
Met VBA-code kunt u ook meerdere geselecteerde bereiken kopiëren en in een ander werkblad plakken.
1. De Ctrl -toets en selecteer meerdere niet-aangrenzende bereiken die u wilt gebruiken.
2. pers anders + F11 toetsen tegelijkertijd openen Microsoft Visual Basic voor applicaties venster klikt Invoegen > module, en voer de volgende code in de module in:
Optie Expliciete Sub CopyMultipleSelection () Dim SelAreas () As Range Dim PasteRange As Range Dim UpperLeft As Range Dim NumAreas As Integer, i As Integer Dim TopRow As Long, LeftCol As Integer Dim RowOffset As Long, ColOffset As Integer Dim NonEmptyCellCount As Integer 'Exit als een bereik niet is geselecteerd If TypeName (Selection) <> "Range" Then MsgBox "Selecteer het bereik dat moet worden gekopieerd. Een meervoudige selectie is toegestaan." Exit Sub End If 'Bewaar de gebieden als afzonderlijke Range-objecten NumAreas = Selection.Areas.Count ReDim SelAreas (1 To NumAreas) For i = 1 To NumAreas Set SelAreas (i) = Selection.Areas (i) Next' Bepaal linksboven cel in de meervoudige selectie TopRow = ActiveSheet.Rows.Count LeftCol = ActiveSheet.Columns.Count For i = 1 To NumAreas If SelAreas (i) .Row <TopRow Then TopRow = SelAreas (i) .Row If SelAreas (i) .Column <LeftCol Then LeftCol = SelAreas (i) .Column Next Set UpperLeft = Cells (TopRow, LeftCol) 'Haal het plakadres op Bij fout Hervat Volgende set PasteRange = Application.InputBox _ (Prompt: = "Specificeer de cel linksboven voor het plakken bereik: ", _ Titel: =" Kopieer meerdere selectie ", _ Type: = 8) Bij fout GoTo 0 'Afsluiten indien geannuleerd If TypeName (PasteRange) <>" Bereik "Dan Sub afsluiten' Zorg ervoor dat alleen de cel linksboven is gebruikt Set PasteRange = PasteRange.Range ("A1") 'Controleer plakbereik voor bestaande gegevens NonEmptyCellCount = 0 For i = 1 To NumAreas RowOffset = SelAreas (i) .Row - TopRow ColOffset = Sel Gebieden (i) .Column - LeftCol NonEmptyCellCount = NonEmptyCellCount + _ Application.CountA (Bereik (PasteRange.Offset (RowOffset, ColOffset), _ PasteRange.Offset (RowOffset + SelAreas (i) .Rows.Count - 1, _ ColOffset + SelAr (i) .Columns.Count - 1))) Volgende i 'Als het plakbereik niet leeg is, waarschuw gebruiker If NonEmptyCellCount <> 0 Then _ If MsgBox ("Overschrijf bestaande gegevens?", vbQuestion + vbYesNo, _ "Kopieer meervoudige selectie ") <> vbYes Exit Sub 'Kopieer en plak elk gebied For i = 1 To NumAreas RowOffset = SelAreas (i) .Row - TopRow ColOffset = SelAreas (i) .Column - LeftCol SelAreas (i) .Copy PasteRange.Offset ( RowOffset, ColOffset) Volgende i End Sub
3. Klik vervolgens op de lopen knop om de code uit te voeren.
4. En geef nu een cel op om de bereiken in de opening te plakken Kopieer meerdere selecties dialoogvenster en klik op het OK knop. Zie screenshot:
De Kopieer meerdere bereiken nut van Kutools for Excel kan u helpen snel meerdere bereiken uit het actieve werkblad te kopiëren. Ga als volgt te werk:
Kutools for Excel - Bevat meer dan 300 handige tools voor Excel. Gratis proefperiode van 30 dagen met volledige functionaliteit, geen creditcard vereist! Snap het nu
1. Selecteer de bereiken die u een voor een wilt gebruiken zonder de Ctrl -toets en klik vervolgens op Kutools > Kopieer bereiken. Zie screenshot:
2. In de Kopieer meerdere bereiken dialoogvenster, vink aan Alles optie van Plakken speciaal sectie en klik op de Oké bUtton. Zie screenshot hierboven:
Opmerking: Als u de rijhoogte en kolombreedte wilt behouden als het oorspronkelijke bereik, controleer dan Inclusief rijhoogte optie en Inclusief kolombreedte optie in het dialoogvenster Meerdere bereiken kopiëren.
3. En geef een cel op om de bereiken in het volgende promptvenster te plakken en klik op het OK knop.
En nu worden alle geselecteerde bereiken in de opgegeven cel geplakt met dezelfde rijhoogte en kolombreedte als de oorspronkelijke selecties.
Klik hier voor meer informatie over het hulpprogramma Meerdere bereiken kopiëren
Kutools for Excel - Bevat meer dan 300 handige tools voor Excel. Gratis proefperiode van 30 dagen met volledige functionaliteit, geen creditcard vereist! Snap het nu
Kutools voor Excel biedt een andere Combineer werkbladen hulpprogramma om eenvoudig meerdere bereiken van veel werkbladen of veel werkmappen in Excel te kopiëren. Ga als volgt te werk:
Kutools for Excel - Bevat meer dan 300 handige tools voor Excel. Gratis proefperiode van 30 dagen met volledige functionaliteit, geen creditcard vereist! Snap het nu
1. klikken Kutools Plus > Combineren.
2. Controleer in het openingsvenster Werkbladen combineren - Stap 1 van 3 het Combineer meerdere werkbladen uit een werkmap in één werkblad optie en klik op de volgende knop.
3. Ga als volgt te werk in het dialoogvenster Werkbladen combineren - Stap 2 van 3:
(1) Selecteer de werkmap in het Werkboeklijst sectie en klik vervolgens op het Blader knop achter elk werkblad om het bereik van elk werkblad op te geven;
(2) Klik op het Toevoegen knop om andere werkmappen toe te voegen waaruit u bereiken wilt kopiëren, en herhaal vervolgens bovenstaande (1) om bereiken in de toegevoegde werkmap op te geven.
(3) Klik op het Klaar! knop.
Kutools for Excel - Bevat meer dan 300 handige tools voor Excel. Gratis proefperiode van 30 dagen met volledige functionaliteit, geen creditcard vereist! Snap het nu
4. Vervolgens verschijnt er een dialoogvenster Kutools voor Excel en wordt gevraagd om een combinatiescenario op te slaan. Klik op het Ja knop of Nee knop als je nodig hebt.
Tot dusver zijn alle opgegeven bereiken van meerdere werkbladen of werkmappen gekopieerd en in een nieuwe werkmap geplakt.