Kategorie szkoleń | Egzaminy | Kontakt
  • 2
  • 5
  • 232

Mam ok. 350 kolumn wypełnionych danymi i formułami (liczba kolumn z danymi będzie się dynamicznie zmieniać). Każda z kolumn w ósmym wierszu posiada nazwę (nagłówek). Jak mogę zdefiniować nazwy dla wszystkich komórek w ósmym wierszu na podstawie zawartości komórki? Opcja poprzez najechanie na komórkę i z rozwijanego menu wybranie "definiuj nazwę" jest zbyt pracochłonna. Zdefiniowane nazwy potrzebuję do dalszej części makra z pętlą for, która na podstawie zdefiniowanej nazwy będzie wprowadzać odpowiednią formułę aż do ostatniej komórki, która odwołuje się do danych.

Przemo
  • Zapytał
  • @ Przemo | 26.03.2014
    • laureat
    • 59
    • 24
    • 71

Odpowiedzi (2)

  • 12

Można na przykład napisać makro, które każdej komórce nada nazwę, np.

For each cell in ActiveCell.CurrentRegion.Rows(1).Cells

     If cell.Text <> "" Then cell.Name = cell.Text

Next

(zakładamy, że użytkownik aktywuje jakąkolwiek komórkę wewnątrz tej tabeli i że w pierwszym wierszu tej tabeli jest nagłówek, a w Pana/Pani przypadku to też tak może być,  mimo że pierwszy wiersz tej tabeli będzie ósmym wierszem arkusza).

  • Odpowiedział
  • @ | 27.03.2014
  • TRENER ALTKOM AKADEMII
Komentarze
super! działa! dzięki!
Skomentował : @ Przemo ,28.03.2014
  • 59
  • 24
  • 71
  • 9

Zastanawiam się czy nazwa ma być definiowana tylko dla pojedynczych komórek w wierszu ósmym czy też dla zakresu komórek w kolumnie od wiersza ósmego w dół.

Do "masowego" definiowania nazw można też wykorzystać funkcję z zakładki Formuły->[Nazwy zdefiniowane]->Utwórz z zaznaczenia (skrót klawiszowy CTRL+SHIFT+F3).

Działa to następująco: jeżeli nazwy mają być do pojedynczych komórek, musimy zrobić małą sztuczkę. Tworzymy kopię całego wiersza, zaznaczamy interesujące nas komórki:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a po kliknięciu OK komórki z wiersza 8 zostają nazwane nagłówkiem (wiersz 7) zgodnie z poniższym zrzutem:

 

 

Gdyby jednak w pytaniu chodziło o zakres komórek poniżej wiersza z nagłówkami, to po prostu zaznaczamy cały zakres (zrzut poniżej). Jeżeli byśmy chcieli, to możemy też jednocześnie nazwać wiersze:

 

 

A potem już możemy korzystać ze zdefiniowanych nazw pisząc np. taką formułę: "=kolumna2 wiersz2" jako wynik otrzymamy "g" (wartość komórki C3).

Szymon_Siemiaszko
  • Odpowiedział
  • @ Szymon_Siemiaszko | 27.03.2014
    • lider
    • laureat
    • 18
    • 7
    • 30
Komentarze
Nazwa ma być zdefiniowana dla pojedynczych komórek. Niestety 7 wiersz mam zajęty innymi danymi (grupującymi), ale sprawdziłęm na innym arkuszu i Pana sposób też działa. Dzięki
Skomentował : @ Przemo ,28.03.2014
  • 59
  • 24
  • 71