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

Cum să păstrați formatarea celulei în timp ce faceți referire la alte celule de foaie?

În general, celula păstrează valoarea celulei numai în timp ce face referire la altă celulă, dar în acest articol, introduc un cod VBA pentru a păstra valorile și formatarea celulei în timp ce faceți referire la o altă celulă, iar valorile celulei și formatarea se modifică pe măsură ce celula de referință se modifică ca mai jos. captură de ecran afișată.
doc păstrați formatarea în timp ce faceți referire la 1

Păstrați formatarea celulei în timp ce faceți referire la o altă celulă cu VBA


Păstrați formatarea celulei în timp ce faceți referire la o altă celulă cu VBA

Pentru a face față acestei lucrări, trebuie doar să rulați sub cod.

1. Activați registrul de lucru pe care îl utilizați, apăsați Alt + F11 cheie pentru activare Microsoft Visual Basic pentru aplicație fereastră și faceți dublu clic pe numele foii în care veți plasa celula de referință Proiect-VBAProject pentru a afișa un script gol. În acest caz, vreau să mă refer la celulă A1 în Sheet1. Vedeți captura de ecran:
doc păstrați formatarea în timp ce faceți referire la 2

2. Lipiți codul de mai jos în script și, în codul VBA, specificați referințele celulei după cum aveți nevoie.

VBA: Păstrați formatarea și valorile în timp ce faceți referire la o altă celulă

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

notițe: A1 este celula de referință, B1 in Indicatori din 2 este celula pe care doriți să o conectați la celula de referință și să păstrați valorile și formatarea cu A1 în Shee1.

Apoi, atunci când modificați valorile sau formatarea în celula A1 din Sheet1, celula B1 din Sheet2 va fi modificată în timp ce faceți clic de două ori pe celula de referință.


Numără după culoare

În unele cazuri, este posibil să aveți o gamă de calorii cu mai multe culori, iar ceea ce doriți este să numărați / să sumați valorile pe aceeași culoare, cum puteți calcula rapid?
Cu Kutools pentru Excel's Numără după culoare, puteți face rapid multe calcule după culoare și, de asemenea, puteți genera un raport al rezultatului calculat.
doc numără după culoare

Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (8)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
salut, cred ca asta poate fi exact ceea ce caut. Am nevoie ca textul de referință să aibă aceleași culori și caracteristici din pagina de referință. Singurul lucru diferit la al meu este că trag dintr-o gamă mai mare. Nu am folosit niciodată VBA până acum, așa că am vrut să confirm înainte de a face modificări. Trag dintr-un document (foaia 2) pe documentul (foaia 1). Am folosit formule IF pentru a face acest lucru, deci returnează o valoare din 3 coloane diferite și nu sunt într-un rând. Coloanele sunt F,H,J. Mă puteți ajuta vă rog să-mi dau seama cum pot face asta să funcționeze?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Scuze, problema ta este cam complexa, nu inteleg clar.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am de-a face cu o problemă similară. Am o formulă în coloana C, care ia valoare din același rând, coloana A. (Dar numai DACĂ B3 nu este x ȘI A3 nu este gol):

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

Celulele coloanei A arată astfel: OK 2019_12_03
Dar „OK” este în format aldine. Aș dori să păstrez acest format.
Vreau acest lucru pentru sute de celule, așa că nu este de dorit să faceți clic sau să scrieți un script pentru fiecare dintre ele. Aveți idee dacă există o astfel de caracteristică? Aș aprecia un fel de funcție „WITHFORMAT()” pe care l-aș putea pune în formulă, astfel încât următoarea formulă ar păstra formatul original:

=IF(B3="x";"y";IF(A3="";"z";WITHFORMAT(A3)))
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc mult pentru scenariu. Îmi puteți spune dacă există o modalitate prin care celula conectată să se actualizeze fără a fi nevoie să faceți dublu clic pe celula de referință? Mulțumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc pentru împărtășirea asta. Există un script VBA care permite referirea la o serie de celule într-un registru de lucru și apoi afișarea valorii și formatului celulelor la care se face referire într-un registru de lucru diferit?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc pentru împărtășirea asta. Am o serie de celule în WorksheetA, Sheet1, Range G3:G3000 pe care vreau să le fac referire în WorksheetB, Sheet1, Range G3:G3000. Am nevoie de WorksheetB, Sheet1, Range G3:G3000 pentru a afișa atât valoarea, cât și formatul celulelor la care se face referire în WorksheetA, Sheet1, G3:G3000. Există un script VBA care să permită acest lucru?
Acest comentariu a fost redus la minimum de moderatorul de pe site
No tienes uno que sea dentro del mismo archivo
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua, aș dori să păstrez formatul celulei mele de referință. Cu toate acestea, chiar și cu VBA-ul tău nu funcționează. Ma poti ajuta te rog?
Aș dori ca celula mea B2 din foaia mea 1 să fie celula mea de referință pentru celulele mele C2 din foile 2,3,4,5,6,7.
Documentul meu este o listă de oameni, prin urmare voi avea mai multe celule de referințe, nu continuarea.
Multumesc anticipat
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL