Note: The other languages of the website are Google-translated. Back to English

Kako ustvariti ukazni gumb za kopiranje in lepljenje podatkov v Excelu?

Recimo, da morate po spremembi podatkov pogosto kopirati vrsto celic na drugo mesto, bo metoda ročnega kopiranja in lepljenja zamudna in dolgotrajna. Kako narediti to afero kopiranja in lepljenja samodejno zagnano? Ta članek vam bo pokazal, kako z ukaznim gumbom kopirate in prilepite podatke z enim samim klikom.

Ustvarite ukazni gumb za kopiranje in lepljenje podatkov s kodo VBA


Ustvarite ukazni gumb za kopiranje in lepljenje podatkov s kodo VBA

Naredite naslednje, če želite samodejno kopirati in prilepiti podatke, ko kliknete ukazni gumb.

1. Vstavite ukazni gumb s klikom Razvojni > Vstavi > Ukazni gumb (nadzor ActiveX). Oglejte si posnetek zaslona:

2. Narišite ukazni gumb na delovni list in ga kliknite z desno miškino tipko. Izberite Ogled kode iz kontekstnega menija.

3. V pojavnem oknu Microsoft Visual Basic za aplikacije okno, zamenjajte izvirno kodo v oknu Code s spodnjo kodo VBA.

Koda VBA: Uporabite ukazni gumb za kopiranje in lepljenje podatkov v Excelu

Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Dim xSheet As Worksheet
    Set xSheet = ActiveSheet
        If xSheet.Name <> "Definitions" And xSheet.Name <> "fx" And xSheet.Name <> "Needs" Then
            xSheet.Range("A1:C17 ").Copy
            xSheet.Range("J1:L17").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        End If

    Application.ScreenUpdating = True
End Sub

Opombe: V kodi je CommandButton1 ime vstavljenega ukaznega gumba. A1: C17 je obseg, ki ga morate kopirati, in J1: L17 je ciljni obseg za lepljenje podatkov. Prosimo, spremenite jih po potrebi.

4. Pritisnite druga + Q tipke za zapiranje Microsoft Visual Basic za aplikacije okno. In izklopite Design Mode na zavihku Developer.

5. Zdaj kliknite ukazni gumb, vsi podatki v obsegu A1: C17 bodo kopirani in prilepljeni v obseg J1: L17 brez oblikovanja celice.


Sorodni članki:


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2019 in 365. Podpira vse jezike. Preprosta namestitev v vašem podjetju ali organizaciji. Vse funkcije 30-dnevnega brezplačnega preskusa. 60-dnevno jamstvo za vračilo denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50% in vsak dan zmanjša na stotine klikov z miško!
dno pisarniške mize
Komentarji (53)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
To funkcijo sem uporabil v svojem delovnem zvezku. Uporabljam aktivne gumbe x za kopiranje in lepljenje podatkov znotraj istega lista na več listov. Vendar pa obstajajo listi brez aktivnih gumbov x ali makrov, ki dobijo prilepljene podatke iz ustreznih polj na listu, ki jih ne želim. Pomoč?
Ta komentar je moderator na spletnem mestu minimiziral
Ali lahko dobim kodo, ki bo kopirala obseg I4:L26 iz Sheet2 (imenovan TransferSheet) (gumb bo na tem listu) v Sheet1 (imenovan JobsToDo) v vrstico C (1. vrstica, ki je prazna, ker se bodo podatki nenehno dodajali, prosim
Ta komentar je moderator na spletnem mestu minimiziral
Kako lahko spremenite kodo, da rezultate prilepite na drugo stran v delovnem zvezku? in kako vstavite vrstico, preden vstavite nove podatke, da jih ne prepiše
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Jason,
Če želite rezultate prilepiti na druge delovne liste v delovnem zvezku, poskusite s spodnjo kodo VBA.

Zasebni podukazni gumb1_Klik()
Dim xSheet, xDWS kot delovni list
Dim xFNum kot celo število
Dim xSRg kot obseg

On Error Resume Next
Nastavite xSRg = Application.InputBox("Prosim, izberite celico, da prilepite obseg:", "Kutools for Excel", xTxt, , , , , 8)
Če xSRg ni nič, zapustite Sub

Application.ScreenUpdating = Napačno
Obseg("A1:C17 ").Kopiraj
xSRg.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.ScreenUpdating = Res

End Sub
Ta komentar je moderator na spletnem mestu minimiziral
kako je formula za kopiranje datotek
nato ga prilepite na naslednji list. in prilepite naslednjega naredite presledek ali nadaljujte navzdol, ne da bi izbrisali prejšnjega lepljenja.
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Spodnja koda VBA vam lahko pomaga rešiti težavo. Prosim, poskusite. Hvala vam.

Zasebni podukazni gumb1_Klik()
Dim xSheet, xDWS kot delovni list
Dim xFNum kot celo število
Dim xSRg kot obseg

On Error Resume Next
Nastavite xSRg = Application.InputBox("Prosim, izberite celico, da prilepite obseg:", "Kutools for Excel", xTxt, , , , , 8)
Če xSRg ni nič, zapustite Sub

Application.ScreenUpdating = Napačno
Obseg("A1:C17 ").Kopiraj
xSRg.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.ScreenUpdating = Res

End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Kaj pa, če bi želel narediti čakalno vrsto za lepljenje?
Da dodatno razložim. Kliknem CommandButton1 in nato kopiram A1. Ko sem uporabil prilepi, kopijo iz A1 - Potem želim kopirati A2, ne da bi kliknil drug gumb, tako da lahko A2 takoj prilepim kam drugam. Potem, ko sem uporabil prilepi, kopijo iz A2 in nato kopijo A3. če je to možno? Ali lahko to deluje tudi v ozadju, ko uporabljate običajen Excelov list, in poskusite izvesti to dejanje, kjer kopiram iz Excela in nato prilepim v popolnoma drug program, kot je internetni brskalnik, drug program, beseda, datoteka txt itd. ?

Ta članek je bil vseeno zelo koristen, najlepša hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Magnus,
Žal ti pri tem ne morem pomagati. Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
Rad bi razširil ta korak ... Po lepljenju dejanskih vrednosti ne formul ... Moram kopirati novo celico in prilepiti v drug program, ki ni excel, če moram preprosto klikniti gumb kopiraj formulo iz določeno celico in mimo dejanske vrednosti v drugi, nato pa to novo vrednost kopirajte v odložišče Windows v preteklost v drugi aplikaciji. Upam, da je to smiselno in cenim vašo pomoč pri znanju, kako dodati novo kodo... Vem, kaj želim, samo ne poznam, kako jo kodirati...
Hvala
Ta komentar je moderator na spletnem mestu minimiziral
Hi,
Koda je bila posodobljena v članku, poskusite. Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
Ali bi bilo mogoče, da ukazni gumb takoj prilepi izbrani obseg na določen list (v naslednjo prazno celico), namesto da bi morali vsakič vnašati, kam želite prilepiti podatke?
Ta komentar je moderator na spletnem mestu minimiziral
Hi Adam,
Spodnja koda VBA vam lahko pomaga rešiti težavo.
V kodi morate zamenjati "Sheet4" in "A1:C17" z vašim določenim listom in obsegom.

Zasebni podukazni gumb1_Klik()
Dim xSWName kot niz
Zatemni xSheet kot delovni list
Zatemni xPSheet kot delovni list
Dim xIntR kot celo število
xSWName = "List4"
On Error Resume Next
Application.ScreenUpdating = Napačno
Nastavite xSheet = ActiveSheet
Če xSheet.Name <> "Definicije" in xSheet.Name <> "fx" in xSheet.Name <> "potrebuje", potem
xSheet.Range("A1:C17 ").Kopiraj
Nastavi xPSheet = Delovni listi.Item(xSWName)
xIntR = xPSheet.UsedRange.Rows.count
xPSheet.Cells(xIntR + 1, 1).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Konec Če
Application.ScreenUpdating = Res
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
zelo dobro, moram večkrat kopirati in prilepiti, ali je mogoče izbrati, da prilepim vrstico podatkov v 3 vrstice ali 5 vrstic, kar mi je všeč?
Ta komentar je moderator na spletnem mestu minimiziral
Žal ti pri tem ne morem pomagati
Ta komentar je moderator na spletnem mestu minimiziral
gospod, kako kopirati obseg celice v trenutnem delovnem listu in nato prilepiti na druge delovne liste?
Ta komentar je moderator na spletnem mestu minimiziral
Hi,
Spodnja koda VBA vam lahko pomaga rešiti težavo.
V kodi morate zamenjati "Sheet4" in "A1:C17" z vašim določenim listom in obsegom.

Zasebni podukazni gumb1_Klik()
Dim xSWName kot niz
Zatemni xSheet kot delovni list
Zatemni xPSheet kot delovni list
Dim xIntR kot celo število
xSWName = "List4"
On Error Resume Next
Application.ScreenUpdating = Napačno
Nastavite xSheet = ActiveSheet
Če xSheet.Name <> "Definicije" in xSheet.Name <> "fx" in xSheet.Name <> "potrebuje", potem
xSheet.Range("A1:C17 ").Kopiraj
Nastavi xPSheet = Delovni listi.Item(xSWName)
xIntR = xPSheet.UsedRange.Rows.count
xPSheet.Cells(xIntR + 1, 1).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Konec Če
Application.ScreenUpdating = Res
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Če tega ne želim kopirati v trenutni delovni zvezek, ampak v drug delovni zvezek (ki še vedno ni odprt) v excelu. Kako ustrezno spremenim to kodo VBA?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Robbert,
Žal ti pri tem ne morem pomagati. Hvala za komentar.
Ta komentar je moderator na spletnem mestu minimiziral
Imam qusrion Imam list 1 s stolpcem z datumom b3:b33 in želim, da se kopira na list 2 B33:b63 njegovo besedilo, vendar potrebujem enak format za besedilo, tj. velikost barve
Ta komentar je moderator na spletnem mestu minimiziral
Živjo avtor,

Članek, ki ste ga omenili zgoraj, mi je zelo koristen. Nisem vajen excel kode in ukazov. Še vedno moram vedeti, ne pa ta članek. V redu sem s kopiranjem in lepljenjem na naslednji list. Še vedno pa moram vedeti, "kako prilepiti in dodati v novo vrstico na naslednjem listu vsakič, ko pritisnem gumb". V nasprotnem primeru bodo moji podatki na naslednjem listu vsakič zamenjani. Res bi bil hvaležen in se veselim vašega odgovora.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Kyaw Ye Min,
Oprostite za tako pozen odgovor. Sledite korakom in zamenjajte kodo s spodnjo. V kodi je List4 ciljni delovni list, na katerega boste kopirali podatke, spremenite ga in kopirani obseg A1:C17, kot potrebujete. Hvala za vaš komentar.

Zasebni podukazni gumb1_Klik()
Dim xSWName kot niz
Zatemni xSheet kot delovni list
Zatemni xPSheet kot delovni list
Dim xIntR kot celo število
xSWName = "List4"
On Error Resume Next
Application.ScreenUpdating = Napačno
Nastavite xSheet = ActiveSheet
Če xSheet.Name <> "Definicije" in xSheet.Name <> "fx" in xSheet.Name <> "potrebuje", potem
xSheet.Range("A1:C17 ").Kopiraj
Nastavi xPSheet = Delovni listi.Item(xSWName)
xIntR = xPSheet.UsedRange.Rows.Count
xPSheet.Cells(xIntR + 1, 1).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Konec Če
Application.ScreenUpdating = Res
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni prosim za pomoč. Potrebujem enako kot zgoraj, vendar moram samo prilepiti, kar je aktivna celica, v novo vrstico (če je mogoče nad prejšnjimi vnosi) na drugem delovnem listu. Resnično cenim vsako pomoč pri tem. Lep pozdrav
Ta komentar je moderator na spletnem mestu minimiziral
zdravo, pomagaj mojemu primeru, želim imeti gumb za ustvarjanje makra, kjer imam excel, in izvoz podatkov v <" "> v word, hvala
Ta komentar je moderator na spletnem mestu minimiziral
Hi,
Oprosti, ker nisem razumel tvojega pomena. Lepo bi bilo, če bi lahko podrobneje razložili, kaj poskušate narediti.
Ta komentar je moderator na spletnem mestu minimiziral
Iščem pomoč glede tega, da lahko uporabnik klikne številko vrstice in nato pritisne ukazni gumb, da bo naredil kopijo te vrstice in jo vstavil v vrstico pod njo.
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Žal ti lahko pri tem še pomagam. Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
mojster bagaimana jika berbeda list in kopiraj podatke yg diinginkan
contoh sheet1 hanya data kolom B & kolom D copy ke sheet2
terimakasih
Ta komentar je moderator na spletnem mestu minimiziral
pošljite kodo VBA za kopiranje vsebine ene celice s klikom na ukazni gumb brez uporabe besedilnega polja, da boste lahko prilepili v katero koli aplikacijo, kot je beležnica, msword
Ta komentar je moderator na spletnem mestu minimiziral
Ali je mogoče narediti gumb, ki samo kopira eno izbrano celico na enem listu na drug list? Hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo lexi,
Spodnja koda VBA vam lahko pomaga rešiti težavo. Po potrebi spremenite "Sheet3" v ime lista.
Izberite celico in pritisnite ukazni gumb, da bo delovala.

Zasebni podukazni gumb1_Klik()
Dim xSWName kot niz
Zatemni xSheet kot delovni list
Zatemni xPSheet kot delovni list
Dim xIntR kot celo število
xSWName = "List3"
On Error Resume Next
Application.ScreenUpdating = Napačno
Nastavite xSheet = ActiveSheet
Če xSheet.Name <> "Definicije" in xSheet.Name <> "fx" in xSheet.Name <> "potrebuje", potem
Selection.CurrentRegion.Select
Izbor. Kopija
Nastavi xPSheet = Delovni listi.Item(xSWName)
xIntR = xPSheet.UsedRange.Rows.Count
xPSheet.Cells(xIntR + 1, 1).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Konec Če
Application.ScreenUpdating = Res
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo!
Ali obstaja način za izdelavo kode, tako da lahko gumb kopira obseg (recimo A1:D5).
Nato ga prilepite na A6:D10.

In če pritisnem gumb še enkrat, bo kopiral A1:D5 v A11:D15.

In tako naprej?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Jonas,
Žal ti pri tem ne morem pomagati. Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
To je čudovito - prilagodil sem se za svoj s.sheet, vendar potrebujem, da je bolj dinamičen in da uporabljam oznake in ne trdo kodirajo lokacije celic.
V obsegu A2-A6 poiščite ime 'Jamie' in nato ime v stolpcu K2 in prilepite

Prav tako potrebujem vsak klik za +1 in zaženem isto kopiranje in lepljenje, vendar v naslednji stolpec, tj

kliknite 1 - prilepi v Q1, kliknite 2 - prilepi v Q2 itd

primer:

Stolpec A Stolpec B ...... Stolpec K Stolpec L
1. Ime Opravljenih ur Ime Q1 Q2 Q3 Q4
2. Jamie 22 Sammy
3. Sammy 40 Judith
4. Judith 18 Jamie
5. Tammy 16 Keith
6. Keith 42 Tammy


Vsako pomoč bi bilo zelo cenjeno.
Ta komentar je moderator na spletnem mestu minimiziral
kako kodirati za kopiranje celice iz obsega a1 do a5, da jo prilepite v c1 in v naslednjo razpoložljivo celico zaporedno?
Ta komentar je moderator na spletnem mestu minimiziral
in tudi kopirajte in prilepite celico eno za drugo.
Hvala za vašo pomoč!
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo družba. to potrebuje pomoč, prosim. V svojem delovnem listu (List10) moram ustvariti gumb 1*, ki bo kopiral 3 celice, Primer: List1, A1, B1, C1. nato to prilepite na List2 A1, B1, C1. potem, če kliknem gumb 4, na primer: List1, A4, B4, C4, moram to prenesti v Sheet2, A2, B2, C2. Če kliknem gumb 2, mora preiti v Sheet2, A3, B3, C3. Upam, da je to smiselno.
Tu še ni objavljenih komentarjev
Obremenitev Več
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije