Skocz do zawartości

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

gugała

[Excel] - instrukcja warunkowa w całej kolumnie

Rekomendowane odpowiedzi

Mam tabelkę Excela, w której muszę mieć komórki z kolumny B wypełnione cyfrą 1, ALE tylko wtedy, jeżeli w odpowiadających komórkach z kolumny A będzie cokolwiek napisane. Jak to zrobić?

 

Myślałem o funkcji z instrukcję warunkową w B1, a potem skopiować to w dół:

 

=JEŻELI(CZY.PUSTA(A1);"";1)

 

Funkcja działa, to znaczy dla wypełnionej "A" - pojawia się cyfra 1 w "B", a dla pustej "A" - nie wyświetla się nic (pusty ciąg tekstowy z podwójnego cudzysłowowa).

 

 

I tu jest problem: Nie wiem ile będzie wierszy w tym arkuszu. Znając życie - więcej niż się przewidzi. Nie mogę pociągnąć komórki z funkcją "tak na oko" w dół, bo wypełnionych komórek "B" musi być tyle samo co "A". Czemu? Bo plik będzie importowany do systemu, który wywali błąd, jeśli zobaczy coś w A, ale będzie puste B oraz odwrotnie - jeśli będzie coś w B, a będzie puste A. O dziwo, pusty ciąg tekstowy, będący wynikiem formułki, też jest brany przez ten system pod uwagę (wywala błąd).

 

 

Więc: czy da się to zrobić inaczej? Wiem, że np. "formatowanie warunkowe" potrafi objąć całą kolumnę (rewelacja!) i jest przezroczyste dla systemu do którego importuję plik, ale niestety nie umie wstawić cyfry "1", tylko zgodnie z nazwą formatuje tekst.

 

Jak to ugryźć?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

VBA

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim kolA, kom As Range
   Set kolA = Range("A:A")
   For Each kom In kolA
       If kom = "" Then Exit For
       If kom <> "" Then kom.Offset(0, 1) = 1
   Next kom
End Sub

 

nie zadziała jak masz jakieś puste wiersze

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...