Quantcast
Channel: Malinowy Excel
Viewing all articles
Browse latest Browse all 291

Odzyskiwanie różnych formuł po nadpisaniu ich wartością

$
0
0

Czyli trudna rzecz rozwiązana prostą metodą

Niedawno opisywałam już podobny przypadek, natomiast dotyczył on trochę łatwiejszej sytuacji. Chodziło bowiem o to, żeby dać użytkownikowi możliwość wpisania do jednej komórki wartości z palca, lub skorzystania z wpisanej tam formuły. Taki switch: chcę wartość, to ją wpiszę, a jak ją skasuję, to na jej miejscu pojawi się formuła. Cudo!

Wtedy jednak opisywałam sytuację, gdy w komórce ma się pojawić tylko jedna, określona formuła. Teraz natomiast chodzi o to, żeby mogły się tam pojawiać różne formuły, w zależności od komórki, którą będę edytowała. Brzmi strasznie, ale jest bardzo proste. Wymaga tylko kolumny pomocniczej i leciutkiej edycji kodu VBA, który napisałam dla poprzedniej sytuacji.

Formatkę i całą magię pokazuje ten rysunek:

Formatka

Formatka

Let’s go!

W rozwiązaniu, które wymyśliłam idę na łatwiznę (jak zwykle ;)). Pomyślałam sobie, że stworzę w arkuszu kolumnę (szara kolumna I), w której będą napisane formuły, które chcę odzyskać, gdy user skasuje wartość w komórce (z kolumny Jednostkowa cena netto). Tę kolumnę roboczą (I) ukryję i jedyne co makro będzie robiło innego niż poprzednio, to podbierało wartość z odpowiedniej komórki tej ukrytej kolumny. Nawet nie trudzę się, żeby wpisywało identyczną formułę. Dla użytkownika i tak to nie ma znaczenia – on chce widzieć określoną wartość :). O rety, ale sprytne 🙂

Całą modyfikacja w kodzie sprowadza się do tej jednej linijki:

Target.FormulaR1C1 = "=RC[4]"

Czyli cały kod, dla przypomnienia, wygląda tak:

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim Zakres As Range
 
 On Error GoTo Obsluga
 
 Set Zakres = Me.Range("Ceny")
 
 If Not Intersect(Zakres, Target) Is Nothing And Target.Value = "" Then
 Target.FormulaR1C1 = "=RC[4]"
 End If
Obsluga:
 Set Zakres = Nothing
 
End Sub

I wszystko. Moim zdaniem efekt jest super, przy minimalnym nakładzie pracy. Czyli to, o co zazwyczaj chodzi 😉

Tutaj znajdziesz plik z rozwiązaniem do pobrania (oczywiście zawiera makra!):

A tutaj wersję wideo:

 

 


Viewing all articles
Browse latest Browse all 291

Trending Articles


TRX Antek AVT - 2310 ver 2,0


Автовишка HAULOTTE HA 16 SPX


POTANIACZ


Zrób Sam - rocznik 1985 [PDF] [PL]


Maxgear opinie


BMW E61 2.5d błąd 43E2 - klapa gasząca a DPF


Eveline ➤ Matowe pomadki Velvet Matt Lipstick 500, 506, 5007


Auta / Cars (2006) PLDUB.BRRip.480p.XviD.AC3-LTN / DUBBING PL


Peugeot 508 problem z elektroniką


AŚ Jelenia Góra