2013-10-14 1 views
5

Мне было поручено выяснить, что это делает. Я не видел этот тип языка/формулы до и когда я Google эти формулы, я не могу найти конкретных определений относительно того, что делает каждая функция. В этой книге есть 3 листа; Query Sheet, Data Sheet и Macro1, это отображается на Macro1.Как я могу перепроектировать макрос Excel V4 (устаревший)?

Было бы неплохо найти API, помощь или что-то в этом роде.

Cmd ExtractData (a) 
    =DEFINE.NAME("Criteria",'Query Sheet'!P1:W2) 
    =DEFINE.NAME("Extract",'Query Sheet'!$A$7:$N$7) 
    =DEFINE.NAME("Database",'Data Sheet'!Database) 
    =EXTRACT(FALSE) 
    =IF(ISBLANK(!A8)) 
    = SELECT("r8c1") 
    = FORMULA("No Match Found") 
    =ELSE() 
    = SELECT("r7c1") 
    = SELECT.END(4) 
    = ROW(ACTIVE.CELL()) 
    = FORMULA.FILL("=Serr_(RC[-9],RC[-8],RC[-7],RC[-6],RC[-3],RC[-2],RC[-1])","R8C14:R"&TEXT(B13,0)&"C14") 
    = SELECT("R8C1:R"&TEXT(B13,0)&"C14") 
    = IF(mSTB="U") 
    = SORT(1,"R8C9",2,"R8C14",1) 
    = ELSE.IF(mSTB="S") 
    = SORT(1,"R8C9",1,"R8C14",1) 
    = ELSE() 
    = SORT(1,"R8C14",1) 
    = END.IF() 
    = SELECT("R8C1") 
    =END.IF() 
    =RETURN() 

Fctn SErr_ 
    =RESULT(1) 
    =ARGUMENT("Acet",1) 
    =ARGUMENT("Agar",1) 
    =ARGUMENT("PH9",1) 
    =ARGUMENT("PH6",1) 
    =ARGUMENT("IEF",1) 
    =ARGUMENT("Short",1) 
    =ARGUMENT("Long",1) 
    =VarM_(!mAcet,Acet) 
    =VarM_(!mAgar,Agar) 
    =VarM_(!mPH9,PH9) 
    =VarM_(!mPH6,PH6) 
    =VarM_(!mIEF,IEF) 
    =VarM_(!mShort,Short) 
    =VarM_(!mLong,Long) 
    =RETURN(SUMSQ(B36:B42)) 


Fctn VarM_ 
    =RESULT(1) 
    =ARGUMENT("mNT",3) 
    =ARGUMENT("sN",1) 
    =IF(OR(ISTEXT(mNT),sN= -99),RETURN(0), RETURN(mNT-sN)) 

Спасибо

+4

Я считаю, что это называется «V4 Macro» в Excel. Они от *** пути *** назад в Excel V4 (Excel 2010 - V14), и они устарели, но все еще работают (я думаю). – RBarryYoung

+0

@RBarryYoung Чтобы процитировать Neo, [whoa] (http://www.picturenose.com/wp-content/uploads/Neo_Whoa.jpg)! – JMK

ответ

5

это называется "V4 Macro" в Excel. Они вернулись в Excel V4 (Excel 2010 - V14), и они устарели, но все еще работают (я думаю).

Эти V4 макросы есть старый файл справки здесь: http://support.microsoft.com/kb/128185

Вы можете скачать и установить, но результатом является WinHelp файл, который также является архаичной и не работает из коробки в Windows, больше. Если вы можете заставить читателя WinHelp работать, вы сможете использовать его, чтобы выяснить, что здесь происходит. (MS говорит, что у них есть читатели WinHelp, доступные для загрузки через Windows 8, но я не могу заставить Windows 7 версию работать для меня).


Тем не менее, это, кажется, довольно ясно мне, что большинство команд, используемых здесь:

DEFINE.NAME(name,range) Defined a Named Range 
EXTRACT(False)    Probably writes FALSE to the "Extract" named range 
IF(..), ELSE()    Implements an "If..Then..Else.." 
SELECT(range)    Selects the cell or range indicated 
SELECT.END(4)    Selects to the end of something (row, column or sheet?) 
FORMULA(string)   Write the string to the selection as it's formula 
FORMULA.FILL("<<formula>>",range) 
          Autofills the formula to the range. Uses R1C1 addressing. 
SORT(..)     Probably invokes the Excel Data Sort 
RETURN()     Ends the Command and returns 
RETURN(expression)   Ends the function and returns the value of the expression 

ARGUMENT("name",number) Assigns names to the functions parameters in order. 
          (no idea what the number does here) 

Почти все остальное есть формула функции EXCEL, так что вы можете посмотреть их.

+0

'ЭКСТРАКТ (уникальный)' - «Эквивалент выбора команды« Извлечь »из меню« Данные »в Microsoft Excel версии 4.0. Поиск записей базы данных, соответствующих критериям, определенным в диапазоне критериев, и их копирование в отдельный диапазон выделения. значение, соответствующее флажку «Только уникальные записи» в диалоговом окне «Извлечь». Если уникальным является ИСТИНА, Microsoft Excel выбирает этот флажок и исключает дубликаты записей из списка извлечения. Если уникальный FALSE или пропущен, Microsoft Excel снимает флажок и извлекает все записи, соответствующие критериям ». – barrowc

+0

'SELECT.END (4)' - "Выбирает ячейку на краю диапазона в указанном направлении. Эквивалентно нажатию CTRL + ARROW в Microsoft Excel для Windows" 1 = Влево, 2 = Вправо, 3 = Вверх, 4 = Вниз – barrowc

Смежные вопросы