excel 2003 podpowiedzi w komorkach do danego rekordu

witam ma nastepujacy problem:

mam baze danych ktora zawiera:

nr rejstracyjny auta , kierowce , licznik wyjazd , licznik powrot


wpisywanie odbywa sie na podstawie kontroli poprawnosci
(czyli nr rejstracyjny wybierany z odpowiedniej listy , kierowca z listy itd ..)

chcialbym zrobic cos takiego ze po wybraniu odpowiedniego nr rejstracyjnego
domyslnie w miejsce kierowcy wskoczyl kierowca ktory ostatnio jechal tym nr rejstracyjnym

czyli krotko mowiac (piszac ;-)   

wpisuje numer rejstracyjny np pz0777 a reszta pol (kierowca ....) podpowiada sie domyslnie z ostatnio dokonanego wpisu ale na tym nr rejstracyjnym czyli pz0777

probowalem to zrobic funkcja "wyszukaj.pionowa" ale ona znajduje pierwszy wpis a nie ostatni tak jak ja bym to potrzebowal
pomysly mi sie skonczyly

Prosze o POMOC!

Odpowiedzi: 2

patrykbrek2:
wpisuje numer rejstracyjny np pz0777 a reszta pol (kierowca ....) podpowiada sie domyslnie z ostatnio dokonanego wpisu ale na tym nr rejstracyjnym czyli pz0777
probowalem to zrobic funkcja "wyszukaj.pionowa" ale ona znajduje pierwszy wpis a nie ostatni tak jak ja bym to potrzebowal

Gdyby można było posortować kolumnę z numerami rejestracyjnymi, to można by było oprzeć rozwiązanie na funkcjach PODAJ.POZYCJĘ i INDEKS.

Jeśli nie, to faktycznie pozostaje makro. 

Koziorozec
Dodano
03.11.2006 03:13:49
  • patrykbrek2 03.11.2006 11:33:36

    <p>niestety nie moge tego sortowac </p><p>ma ktos pomysl na jakiesc makro w VBA ?&nbsp;</p>

  • Poziomek 03.11.2006 11:59:08

    <p>Spr&oacute;buj czegoś takiego:</p><p>&nbsp;</p><p>Option Explicit<br /><br />Private Sub CommandButton1_Click()<br />&nbsp;&nbsp;&nbsp; Dim i As Integer &#39;zmienna dla pętli<br />&nbsp;&nbsp;&nbsp; Dim wiersz As Integer &#39;numer wiersza w kt&oacute;rym wpisujesz nowy rekord<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; i = 2 &#39;zaczynam od 2. wiersza, bo 1. to nagł&oacute;wek<br />&nbsp;&nbsp;&nbsp; Do While Cells(i, 2).Value &lt;&gt; vbNullString &#39;pętla znajdująca pierwsze wolne miejsce<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = i + 1<br />&nbsp;&nbsp;&nbsp; Loop<br />&nbsp;&nbsp;&nbsp; wiersz = i &#39;nr wiersza w kt&oacute;rym wpisuje dane<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; i = i - 1<br />&nbsp;&nbsp;&nbsp; Do While (Cells(i, 1).Value &lt;&gt; Cells(wiersz, 1)) And (i &gt; 1) &#39;poszukiwanie tablicy<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = i - 1<br />&nbsp;&nbsp;&nbsp; Loop<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; If i &gt; 1 Then &#39; wpisanie danych<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Cells(wiersz, 2).Value &lt;&gt; vbNullString Or Cells(wiersz, 3).Value &lt;&gt; vbNullString Then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;sprawdzam, czy czegoś nie nadpiszę<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MsgBox &quot;Obszar docelowy nie jest pusty!&quot;, vbCritical + vbOKOnly, &quot;BŁĄD&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GoTo 10<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cells(wiersz, 2).Value = Cells(i, 2).Value &#39;w kolumnie 2. wpisuję kierowcę<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cells(wiersz, 3).Value = Cells(i, 4).Value &#39;w kolumnie 3. stan licznika po ostatnim powrocie<br />&nbsp;&nbsp;&nbsp; End If<br />&nbsp;&nbsp;&nbsp; <br />10<br />End Sub<br /><br />Musisz do arkusza dodać nowy przycisk, a p&oacute;źniej ten kod wrzucić w projekt VBA.</p><p>Miłej pracy&nbsp;</p>

Formułą tego nie zrobisz (przynajmniej ja nie widzę takiej możliwości). Coś takiego możliwe jest tylko poprzez odpowiedni program w VBA.
Poziomek
Dodano
02.11.2006 21:47:33
patrykbrek2
Dodano:
02.11.2006 14:11:00
Komentarzy:
2
Strona 1 / 1