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

Kako ohraniti oblikovanje celic, medtem ko se sklicuje na druge celice lista?

Na splošno celica ohranja vrednost celice le med sklicevanjem na drugo celico, vendar v tem članku predstavljam kodo VBA, ki ohranja vrednosti celic in oblikovanje, medtem ko se sklicuje na drugo celico, vrednosti celic in oblikovanje pa se spreminjajo, ko se referenčna celica spreminja, kot spodaj prikazan posnetek zaslona.
doc ob sklicevanju ohrani formatiranje 1

Obdržite oblikovanje celic, medtem ko se na drugo celico sklicujete z VBA


Obdržite oblikovanje celic, medtem ko se na drugo celico sklicujete z VBA

Če želite opraviti to nalogo, morate zagnati spodnjo kodo.

1. Omogočite delovni zvezek, ki ga uporabljate, pritisnite Alt + F11 tipko za omogočanje Microsoft Visual Basic za uporabo okno in dvokliknite ime lista, v katerega boste postavili referenčno celico Projekt-VBAProjekt podokno za prikaz praznega skripta. V tem primeru se želim sklicevati na celico A1 v Sheet1. Oglejte si posnetek zaslona:
doc ob sklicevanju ohrani formatiranje 2

2. Spodnjo kodo prilepite v skript in v kodo VBA določite sklice na celice, kot jih potrebujete.

VBA: ohranite oblikovanje in vrednosti, medtem ko se sklicujete na drugo celico

Private Sub Worksheet_Activate()
'UpdatebyExtendoffice20101024
    Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Or Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    If Not Intersect(Target, Range("A1")) Is Nothing Then              'Range("A1") the reference cell
        Target.Copy
        ActiveWorkbook.Sheets("Sheet2").Range("B1").PasteSpecial xlPasteAllUsingSourceTheme
                    'Range("B1")the cell linked to reference cell,ActiveWorkbook.Sheets("Sheet2")the sheet which contains linked cell
        Application.CutCopyMode = False
        Target.Select
    End If
    Application.EnableEvents = True
End Sub

Opombe: A1 je referenčna celica, B1 in 2 Sheet je celica, ki jo želite povezati z referenčno celico in ohraniti vrednosti in oblikovanje z A1 v Shee1.

Potem, ko spremenite vrednosti ali oblikovanje v celici A1 v Sheet1, bo celica B1 v Sheet2 spremenjena med dvakratnim klikom na referenčno celico.


Štej po barvah

V nekaterih primerih imate lahko vrsto iztočnic z več barvami in kar želite, da štejete / seštevate vrednosti glede na isto barvo, kako lahko hitro izračunate?
z Kutools za Excel's Štej po barvah, lahko hitro izvedete veliko izračunov po barvah in ustvarite tudi poročilo o izračunanem rezultatu.
število dokumentov glede na barvo

Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo 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-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila 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 miške za vas!
dno pisarniške mize
Komentarji (8)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
zdravo, verjamem, da je to morda ravno tisto, kar iščem. Potrebujem, da ima referenčno besedilo enake barve in lastnosti kot referenčna stran. Edina stvar pri mojem je, da vlečem iz večjega obsega. Še nikoli nisem uporabljal VBA, zato sem želel potrditi, preden sem naredil spremembe. Potegnem iz dokumenta (list 2) v dokument (list 1). Za to sem uporabil formule IF, zato vrne vrednost iz 3 različnih stolpcev in niso v vrsti. Stolpci so F,H,J. Mi lahko prosim pomagate ugotoviti, kako lahko to naredim?
Ta komentar je moderator na spletnem mestu minimiziral
Oprostite, vaša težava je nekoliko zapletena, ne razumem jasno.
Ta komentar je moderator na spletnem mestu minimiziral
Ukvarjam se s podobnim problemom. V stolpcu C imam formulo, ki vzame vrednost iz iste vrstice, stolpca A. (Vendar samo ČE B3 ni x IN A3 ni prazen):

=IF(B3="x";"y";IF(A3="";"z";A3))

Celice stolpca A izgledajo takole: OK 2019_12_03
Toda "OK" je v krepki obliki. Rad bi obdržal to obliko.
To želim za stotine celic, zato je klikanje ali pisanje skripta za vsako od njih nezaželeno. Kakšne ideje, če taka funkcija obstaja? Hvaležen bi bil za kakšno funkcijo "WITHFORMAT()", ki bi jo lahko vstavil v formulo, tako da bi naslednja formula ohranila prvotno obliko:

=IF(B3="x";"y";IF(A3="";"z";WITHFORMAT(A3)))
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala za scenarij. Ali mi lahko poveste, ali obstaja način, da se povezana celica posodobi, ne da bi morali dvakrat klikniti referenčno celico? Hvala vam!
Ta komentar je moderator na spletnem mestu minimiziral
Hvala, ker ste to delili. Ali obstaja skript VBA, ki omogoča sklicevanje na obseg celic v enem delovnem zvezku in nato prikaz vrednosti in oblike navedenih celic v drugem delovnem zvezku?
Ta komentar je moderator na spletnem mestu minimiziral
Hvala, ker ste to delili. Imam obseg celic v delovnem listu A, listu1, obsegu G3:G3000, na katerega se želim sklicevati v delovnem listuB, listu1, obsegu G3:G3000. Potrebujem WorksheetB, Sheet1, Range G3:G3000, da prikažem tako vrednost kot obliko referenčnih celic v delovnem listu A, Sheet1, G3:G3000. Ali obstaja skript VBA, ki to omogoča?
Ta komentar je moderator na spletnem mestu minimiziral
No tienes uno que sea dentro del mismo archivo
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, rad bi obdržal obliko svoje referenčne celice. Vendar tudi z vašim VBA ne deluje. Ali mi lahko pomagaš prosim?
Rad bi, da bi bila moja celica B2 mojega lista 1 moja referenčna celica za moje celice C2 listov 2,3,4,5,6,7.
Moj dokument je seznam oseb, zato bom imel več celic referenc in ne nadaljevanja.
Hvala vnaprej
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL