Да кажем, че имаме справочна таблица в колони G и H като:
Искаме да въведем дума в клетка A1 и подходящата формула да се появи в клетка B1.
Въведете следния макрос Събитие в кодовата област на работния лист:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
Set r = Range("G1:G4").Find(What:=Target.Value)
If r Is Nothing Then Exit Sub
Application.EnableEvents = False
Target.Offset(0, 1).Formula = r.Offset(0, 1).Formula
Application.EnableEvents = True
End Sub
Тъй като това е код на работен лист, той е много лесен за инсталиране и автоматичен за използване:
- щракнете с десния бутон върху името на раздела в долната част на прозореца на Excel
- изберете Преглед на кода - това извежда прозорец на VBE
- поставете нещата и затворете прозореца на VBE
Ако имате някакви притеснения, първо го изпробвайте на пробен работен лист.
Ако запишете работната книга, макросът ще бъде записан с нея. Ако използвате версия на Excel по-късно от 2003 г., трябва да запишете файла като .xlsm вместо .xlsx
За да премахнете макроса:
- изведете VBE прозорците, както по-горе
- изчистете кода
- затворете прозореца на VBE
За да научите повече за макросите като цяло, вижте:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
и
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
За да научите повече за макроси на събития (код на работен лист), вижте:
http://www.mvps.org/dmcritchie/excel/event.htm
Макросите трябва да са активирани, за да работи това!
person
Gary's Student
schedule
20.06.2015
=qty/1000
е формула! Освен товаvlookup
ще търси някаква конкретна стойност в някаква конкретна таблица. Не виждам друга таблица, не виждам стойност, която може да се търси в тази друга таблица. - person ZygD   schedule 20.06.2015