To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
Forum Oficjalnego Klubu Mitsubishi - MitsuManiaki

Komputery, RTV, AGD, Komorki - Pomoc w Excelu

JCH - 24-11-2014, 09:02

Panowie.... a bardziej łopatologicznie :?: :?
W Excelu nie ma funkcji "szukaj". krzychu czy Twój sposób to zdefiniowanie takiej funkcji? Gdzie to trzeba wpisać?

karolgt, Twojego rozwiązania już kompletnie nie kumam. U Marcina miała pojawiać się podpowiedź. U mnie ma się wstawić wartość w konkretną komórkę.

krzychu - 24-11-2014, 09:12

JCH napisał/a:
Gdzie to trzeba wpisać?


Alt+F11. Dodaj tą funkcję do "tego_skoroszytu". Zapisz i potem w Excelu (w tym pliku) powinna już być.

[ Dodano: 14-12-2014, 20:57 ]
Coś Ci się udało z tym zdziałać?

Juiceman - 10-01-2015, 13:44

Siemanko,

zrobiłem wczoraj swoje pierwsze dwa makra w życiu ( wiem wiem jestem genialny :wink: ).

Ale potrzebuje Waszej pomocy ;-)
Mianowicie chciałbym aby z automatu po wpisaniu w danej komórce kodu w dwóch innych wyświetlała mi się szukana nazwa dostawcy oraz kto się nim zajmuje.

Pierwsze Makro nawet zadziałało idealnie, jednak po kliknięciu na komórke w której pojawiał się wynik widoczna była formuła vlookup, a nie tekst.

Sub dostawcy()
Range("C5").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R5C1,Dane!C[-2]:C,3,0)"
Range("C6").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R5C1,Dane!C[-2]:C[11],14,0)"
Range("C7").Select
End Sub

Zrobiłem drugie makro. Problem jest taki że za każdym razem po wpisaniu nowej wartości(kodu) muszę ponownie uruchomić makro aby przeliczył mi wartości szukane.

Pytanie brzmi jak zmodyfikować to cudo aby za każdym razem po wpisywaniu nowej szukanej, z automatu aktualizowały by się szukane wartości w dwóch innych komórkach.

Sub Dostawcy1()
'
' Dostawcy1 Macro
'
' Keyboard Shortcut: Ctrl+Shift+D
'

Range("C5").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC1,Dane!C[-2]:C,3,0)"
Range("C5").Select
Selection.Copy
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C6").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R5C1,Dane!C[-2]:C[11],14,0)"
Range("C6").Select
Selection.Copy
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub


Pewnie pytanie banalnie proste ale jakoś nie doszukałem się w necie odpowiedzi.

krzychu - 10-01-2015, 18:30

Napisz funkcje jak ja wcześniej dla JCH. Wtedy w komórce do której chcesz wynik pisujesz = i nazwę swojej nowej funkcji (w parametrze np. zakres danych czy co tam potrzebujesz)...

A chodzi Ci o to, że masz gdzieś 3 kolumny kod, nazwa i kto się zajmuje? Wpisujesz gdzieś kod i w 2 komórkach obok ma to znaleźć? To można by i bez VB zrobić....

JCH - 10-01-2015, 19:14

krzychu napisał/a:
A chodzi Ci o to, że masz gdzieś 3 kolumny kod, nazwa i kto się zajmuje? Wpisujesz gdzieś kod i w 2 komórkach obok ma to znaleźć? To można by i bez VB zrobić....
No właśnie. Ja bym to zrobił bez makra.

PS. krzychu, teraz dopiero widzę, że dopisałeś pytanie czy zadziałało.
Nie, nie zadziałało. Ale nie chciało mi się już drążyć dlaczego, bo to w sumie była "zabawa" :)

jawlo - 11-01-2015, 09:24

Najprościej zrobić to przy użyciu zwykłych formuł.
Najlepiej gdy kod jest liczbowy, wtedy uzyskasz to formułą =PRZESUNIĘCIE().


Juiceman - 12-01-2015, 06:01

Wszystko ładnie pięknie tylko nadal po zaznaczeniu (w przypadku screenu jawlo) komórki C1 - widzimy formułe jaka została użyta. A chciałbym aby nie było tego widać. Stąd w moim drugim makro została użyta funkcja wklej wartości. Jednak nie potrafię dalej tego tak zapętlić że po zmianie wartości w komórce zostaną automatycznie wklejone wartości szukane. ( nie wiem jak zrobić aby makro było uruchomione w tle i się nie wyłączało).
krzychu - 12-01-2015, 08:23

Juiceman - zrób funkcję w innej komórce, która zwróci Ci wynik do tych komórek co chcesz. Wtedy jak funkcja jako parametr będzie przyjmować wartość z pola które zmieniasz to zadziała tak jak chcesz.

Funkcja może też wywołać procedurę? Tylko tak klikam i nie wiem czy nie ma jakiegoś ograniczenia na funkcje (że nie mogą edytować innych komórek)?

JCH - 12-01-2015, 10:26

Juiceman napisał/a:
Wszystko ładnie pięknie tylko nadal po zaznaczeniu (w przypadku screenu jawlo) komórki C1 - widzimy formułe jaka została użyta. A chciałbym aby nie było tego widać.
Możesz "ukryć" widoczność formuł poprzez użycie opcji: formatowanie komórki - ochrona i albo "zablokuj" (żeby nikt Ci tam bzdur nie pisał) albo "ukryj". Albo i jedno, i drugie.
A co do samej funkcji to ja bym użył "WYSZUKAJ.PIONOWO".

Juiceman - 12-01-2015, 19:19

Chodzi mi o coś takiego:


Ukrycie funkcji nie wiem czemu - nie działa :?
Chciałbym aby po najechaniu na na tą komórkę C5/C6 był widoczny tylko wyświetlany tekst w zależności od kodu jaki się znajduje w komórce A5

JCH - 12-01-2015, 20:56

Juiceman napisał/a:
Ukrycie funkcji nie wiem czemu - nie działa :?
Potem trzeba jeszcze "ochronić" arkusz -> Recenzja-Chroń arkusz.

Wyszukaj.pionowo = Vlookup.... o ja goopi... :banghead:

Juiceman - 13-01-2015, 06:39

Podziękować ;-)
pamar - 29-01-2015, 20:04

No to i ja mam problem :(
Jak na bieżąco zabezpieczyć tabelę exela, udostępnioną on line, przed użytkownikami którzy mieli do niej dostęp ale teraz już nie chcemy żeby ten dostęp był dla nich?

JCH - 29-01-2015, 22:26

pamar napisał/a:
Jak na bieżąco zabezpieczyć tabelę exela, udostępnioną on line, przed użytkownikami którzy mieli do niej dostęp ale teraz już nie chcemy żeby ten dostęp był dla nich?
Hm.... to chyba nie jest temat "exel-owy" tylko bardziej adminowo-systemowy.... że się tak wyrażę ;)
Może da się tak poustawiać prawa dostępu do pliku (do folderu) aby plik był widoczny (lub dostępny do odczytu, modyfikacji, zapisu) dla jednych a dla drugich nie. Na pewno się da tak zrobić 8)

karolgt - 29-01-2015, 23:40

on-line tzn jak?

w sieci wewnętrznej?
przez www?
google doc?



Powered by phpBB modified by Przemo © 2003 phpBB Group