Меню

Vba excel ошибка constant expression required

I’m using an enum defined in a class module in Excel VBA. This has been working fine, but I’ve started getting a compile error on every time I do a comparison on enum variables:

In class CExample:

Enum MyEnum
    Foo
    Bar
End Enum

Elsewhere:

If someValue = myEnum.Foo Then

The text .Foo will be highlighted, and a «Compile error: Constant expression required» message pops up.

A search on Google suggests that this can randomly happen, and fixes such as restarting the IDE or adding a space after the enum declaration can make it start working again.

  • http://www.tek-tips.com/viewthread.cfm?qid=1355882
  • http://www.vbforums.com/showthread.php?405564-RESOLVED-Constant-Expression-Required-Error-when-checking-Enum

Is this really a known bug in VBA? Is there anything I can do to avoid it happening, or reliably get VBA working again if it does crop up?

In my case, closing and reopening Excel hasn’t helped. Excuse me while I reboot my PC.

Update after reboot:

The problem persisted after rebooting my machine, which is surprising. I tried adding Public in front of the enum definition (they’re meant to be public by default but I thought I’d give it a try), and the error disappeared. I’ve removed the Public keyword (so we’re back to my original code) and it still compiles and runs fine.

It does look like this is a random bug in VBA. I’d be interested to know if experienced developers have found this comes up often — would you advise not using enums? Or does it pop up once in a blue moon and I was just unlucky?

Update after 6 weeks of further development:

The problem didn’t recur during the rest of my time developing this project, so it looks like it is a rare problem.

Return to VBA Code Examples

We covered arrays, static arrays and dynamic arrays in a previous tutorial.  We are going to look at a common error associated with static arrays called Constant Expression Required. This error is generated when you try to use a static array instead of a dynamic array as shown in the code below:

Static array instead of dynamic array

The static array needs to have constants used to set it since it is fixed.
The way to resolve this error is to use a Dynamic array variable instead. You would use the ReDim keyword every time you want to resize the array. This is shown in the code below:

Sub UsingReDim()

Dim value1 As Integer
Dim value2 As Integer
Dim value3 As Integer

value1 = 3
value2 = 9
value3 = 15

Dim listofvalues() As Integer

ReDim listofvalues(value1)

End Sub

Read more about Dynamic array variables in our Array variable tutorial.

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
vba save as

Learn More!

vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

I’m new at VB and I’m having a hard time doing something that should be very simple.

I’m trying to make an array of n+1 length and I keep getting «Constant expression required» when running the following code

Function binomial(n As Integer, p As Double)
Dim probabilities(0 To n) As Double
End Function

I understand that the arguments used to build the array must be constants, but do I create one from the argument of the function?

Thank you in advance

Joel Coehoorn's user avatar

Joel Coehoorn

391k111 gold badges561 silver badges789 bronze badges

asked Mar 3, 2011 at 19:37

ANd's user avatar

You can’t DIM against a variable size. ReDim it instead

For example

Function binomial(n As Integer, p As Double)
Dim probabilities() As Double
ReDim probabilities(0 To n)
MsgBox LBound(probabilities)
MsgBox UBound(probabilities)
End Function

Sub test()
Call binomial(3, 2)
End Sub

Run the sub «test»

answered Mar 3, 2011 at 19:42

RichardTheKiwi's user avatar

RichardTheKiwiRichardTheKiwi

105k26 gold badges196 silver badges262 bronze badges

1

I’m new at VB and I’m having a hard time doing something that should be very simple.

I’m trying to make an array of n+1 length and I keep getting «Constant expression required» when running the following code

Function binomial(n As Integer, p As Double)
Dim probabilities(0 To n) As Double
End Function

I understand that the arguments used to build the array must be constants, but do I create one from the argument of the function?

Thank you in advance

Joel Coehoorn's user avatar

Joel Coehoorn

391k111 gold badges561 silver badges789 bronze badges

asked Mar 3, 2011 at 19:37

ANd's user avatar

You can’t DIM against a variable size. ReDim it instead

For example

Function binomial(n As Integer, p As Double)
Dim probabilities() As Double
ReDim probabilities(0 To n)
MsgBox LBound(probabilities)
MsgBox UBound(probabilities)
End Function

Sub test()
Call binomial(3, 2)
End Sub

Run the sub «test»

answered Mar 3, 2011 at 19:42

RichardTheKiwi's user avatar

RichardTheKiwiRichardTheKiwi

105k26 gold badges196 silver badges262 bronze badges

1

Permalink

Cannot retrieve contributors at this time

title keywords f1_keywords ms.prod ms.assetid ms.date ms.localizationpriority

Constant expression required

vblr6.chm1040114

vblr6.chm1040114

office

e0493fe4-8f50-c935-391f-0ffaca726b2b

06/08/2017

medium

A constant must be initialized. This error has the following causes and solutions:

  • You tried to initialize a constant with a variable, an instance of a user-defined type, an object, or the return value of a function call.

    Initialize constants with literals, previously declared constants, or literals and constants joined by operators (except the Is logical operator).

  • array

    To declare a dynamic array within a procedure, declare the array with ReDim and specify the number of elements with a variable.

For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).

[!includeSupport and feedback]

 

peat

Пользователь

Сообщений: 119
Регистрация: 21.04.2013

#1

30.04.2013 18:35:30

Доброго времени суток! Надеюсь на вашу помощь)
История такая — в моем документе куча листов и нудных формул. В самом начале вычисляется кол-во временных интервалов. Надоело в каждой процедуре прописывать это. Их кол-во задается в начале и не меняется. Вот код (я не прогер, так что это говнокод, вероятнее всего):

Цитата

    With Worksheets(«123»)
    God = .Range(«God»)
    Mes = .Range(«Mes»)
    Srok = God * 12 + Mes

Srok глобально объявлен как целое,

Цитата
Public God, Mes, Srok As Integer

проблем с вызовом в каждой процедуре не было, но в каждую приходится писать эти вот строчки. Хотелось бы в сааааамом начале проекта его вычислить и вставлять по ходу действа, когда нужен.

С другой переменной, тоже задающейся в самом начале, попробовал такую вот штуку:

Цитата
Const StartDate As Date = Worksheets(«123»).Range(«StartDate»)

заругалась «constant expression required». Найденные в сети варианты с Set… тоже успехом не увенчались.
прошу вашей помощи, знатоки!

у меня вся эта байда во вкладке «Modules», где у меня описание всех кнопок, функции и тп. Мб куда в другое место надо перенести объявление глобальных переменных/констант?

 

Юрий М

Модератор

Сообщений: 60335
Регистрация: 14.09.2012

Контакты см. в профиле

Где у Вас объявлены глобальные переменные? Нужно в области деклараций стандартного модуля. Т.е. ПЕРЕД ними не должно никаких процедур. А значения им присваивайте в процедуре, которая выполняется самой первой.

 

peat

Пользователь

Сообщений: 119
Регистрация: 21.04.2013

#3

30.04.2013 19:20:58

Юрий М, на самом верху, да:

Цитата
Option Explicit
Public StartDate As Date, God, Mes, Srok, i, j, N, LastRow As Integer, Pi As Double, Cell As Variant

перед ними ничего нет. Если в первой процедуре Srok получит значение 100500, то при любых дальнейших вызовов этой переменной, ее значение будет равно 100500?
провел эксперимент и ваши слова подтвердились)спасибо большое!
возник другой вопрос — пользователь открывает документ и выполняет процедуры не с самой первой, а последние 2, к примеру. Но в них этот самый Srok используется. Каким будет его значение? Эксель как бы на заднем фоне втихую выполнит процедуру, в которой Srok считается и возьмет верное значение или подставит 0?)

Изменено: peat30.04.2013 19:24:41

 

Юрий М

Модератор

Сообщений: 60335
Регистрация: 14.09.2012

Контакты см. в профиле

Если затем это значение (100500) не менялось, то оно так и останется таким. И переменная будет доступна в любом модуле.
Обратите внимание: переменные God, Mes, Srok, i, j, N будут иметь тип Variant.
P.S. Я глобальные всегда пишу каждую в отдельную строку.

 

The_Prist

Пользователь

Сообщений: 13958
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#5

30.04.2013 19:34:03

Вынесите присвоение переменным значений в отдельную процедуру(скажем InitPublic). Затем при открытии книги запускайте эту процедуру:

Код
Private Sub Workbook_Open()
    Call InitPublic
End Sub

Так же на всякий случай в каждой процедуре, в которой переменная может понадобиться, можно делать проверку:

Код
If Mes = 0 Then Call InitPublic

Так же можете почитать про переменные:

Что такое переменная и как правильно её объявить?

А то Вы их объявляете неверно(Юрий уже указал Вам на это).

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Hugo

Пользователь

Сообщений: 23100
Регистрация: 22.12.2012

Ну и вместо integer пишите Long — оно оправданнее в новых версиях VBA, и кроме того у Вас с integer не будет работать на весь лист (ругнётся на LastRow (As Integer)).

 

peat

Пользователь

Сообщений: 119
Регистрация: 21.04.2013

Юрий М, The_Prist, Hugo, спасибо Вам всем большое! ценные советы не знающим vba)

 

peat

Пользователь

Сообщений: 119
Регистрация: 21.04.2013

#8

01.05.2013 01:10:30

The_Prist, сделал, как вы описали. Весь код в модулях прекрасно понимает глобальную переменную, но вот код в юзер форме отказывается это делать.
Вставил вот такую штуку

Код
If Srok = Empty Or Srok = 0 Then Call InitPublic

При дебагере эта процедура вызывается, но Srok все равно empty после прохождения.

Изменено: peat01.05.2013 01:11:07

 

Юрий М

Модератор

Сообщений: 60335
Регистрация: 14.09.2012

Контакты см. в профиле

А что у Вас в процедуре InitPublic? Где она? И может есть смысл показать небольшой файл, где всё это происходит?

 

peat

Пользователь

Сообщений: 119
Регистрация: 21.04.2013

#10

01.05.2013 01:45:56

Юрий М, видимо, она не там… Она в самом верху модуля, в котором бОльшая часть кода.
Содержит в себе вот что:

Код
Sub InitPublic()
     With Worksheets("123")
     God = .Range("God")
     Mes = .Range("Mes")
     Srok = God * 12 + Mes
     End With
End Sub

Вероятно, она не там висит. Если не в этом дело, накрамсаю файл для примера.

 

Юрий М

Модератор

Сообщений: 60335
Регистрация: 14.09.2012

Контакты см. в профиле

И процедура InitPublic в модуле книги на событие открытия? Давайте лучше небольшой пример…

 

The_Prist

Пользователь

Сообщений: 13958
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

InitPublic должна быть расположена в стандартном модуле. Так же как и объявление Public переменных.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

peat

Пользователь

Сообщений: 119
Регистрация: 21.04.2013

нашел проблему — у меня не один стандартный модуль. При удалении других модулей глобальная переменная Srok спокойно работает в юзерформе. Надо создать какой-то другой модуль? читал по вашей ссылке про модуи классов — мне туда?

Изменено: peat01.05.2013 11:48:49

 

The_Prist

Пользователь

Сообщений: 13958
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

peat, Вы считаете необходимым пустое сообщение писать?

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

peat

Пользователь

Сообщений: 119
Регистрация: 21.04.2013

#15

01.05.2013 11:59:38

The_Prist, нет, просто надо было его удалить — не нашел кнопки)

попробовал создать модуль класса, запихнул туда

Код
Public God As Long
Public Mes As Long
Public Srok As Long

Sub InitPublic()
     With Worksheets("Исходные Данные")
     God = .Range("God")
     Mes = .Range("Mes")
     Srok = God * 12 + Mes
     End With
End Sub

не помогло — в юзер форме Srok = empty, если call InitPublic — то не находит ее..

 

The_Prist

Пользователь

Сообщений: 13958
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Необходимо поместить в один стандартный модуль — ЛЮБОЙ.  СТАНДАРТНЫЙ.
Не проще было уже выложить свой файл? 100% Вы сами себе проблему создали и саами не понимаете что и куда Вы пишите, что и приводит к некорректной работе.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

peat

Пользователь

Сообщений: 119
Регистрация: 21.04.2013

конечно, сам создал) но с вашей помощь сам и решил — в другом модуле эта же переменная тоже объявлялась, как паблик, в этом проблема и была)еще раз спасибо

 

Юрий М

Модератор

Сообщений: 60335
Регистрация: 14.09.2012

Контакты см. в профиле

Не понимаю — почему люди так упорно не желают показывать файлы-примеры?.. Давно бы получили правильный ответ.

 

peat

Пользователь

Сообщений: 119
Регистрация: 21.04.2013

у меня достаточно большой файл, в нем много кода. он не сложный, никуда не претендует, но его много) надо бОльшую часть удалить, чтобы не мешала поиску проблему — лениво немного) и выкладывать как-то стремновато — диплом все ж таки) хотя пока подготавливал файл к выкладыванию, нашел ошибку)

 

Юрий М

Модератор

Сообщений: 60335
Регистрация: 14.09.2012

Контакты см. в профиле

#20

01.05.2013 13:08:47

Цитата
peat пишет:
лениво немного

Вам лениво готовить небольшой файл, а нам не лениво искать Вашу ошибку по описанию? С таким подходом помогающих у Вас поубавится…

 

The_Prist

Пользователь

Сообщений: 13958
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

На мой взгляд это как раз тот случай, когда размер не имеет значения  :D

Ошибка-то явно в объявлении, а не в самих кодах. Поэтому даже большой проект можно просмотреть бегло только в нужных местах, не ковыряясь в кодах.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

peat

Пользователь

Сообщений: 119
Регистрация: 21.04.2013

#22

01.05.2013 14:04:23

The_Prist, да вот именно, что я не один раз объявлял ее в этих самых кодах и, чистя их, нашел понял в чем ошибка)

Цитата
Юрий М пишет:
Вам лениво готовить небольшой файл, а нам не лениво искать Вашу ошибку по описанию?

мне казалось, скачивать файл еще муторней) В итоге, Вы и помогли по описанию

 

sm_ph

Пользователь

Сообщений: 1
Регистрация: 26.06.2019

#23

26.06.2019 13:49:50

У меня работает так:

Код
Public nastroyki As String
Public osnovnie_d As String
Public id_upd_v_buh As String
Public obmen_d As String

Public Sub Globalnie_peremennie()
nastroyki = "Настройки"
osnovnie_d = "Основные данные"
id_upd_v_buh = "3-три"
obmen_d = "4-четыре"
End Sub

Sub tttttt()
Globalnie_peremennie
MsgBox nastroyki & ", " & osnovnie_d & ", " & id_upd_v_buh & ", " & obmen_d
End Sub

Изменено: sm_ph26.06.2019 13:51:44

…this is a very difficult question to Google, because most of the questions/answers you find are due to people LEGITIMATELY misusing non-constant statements. If your code looks like this:

Dim i As Long
i = 5
Dim arr(i) As String

…then VBA will (rightly) complain that you can’t use a non-constant expression to declare an array. Or, if you do this:

Dim Pi As Double
Pi = 3.1415
Const Two_Pi As Double = Pi * 2

…then, again, VBA will complain that you NEED to use a constant there. That’s NOT what I’m talking about here…I’m talking about times when your code is perfectly fine:

Dim taskcount As Long
taskcount = 10
For i = 1 to taskcount
 Debug.Print i
Next i

…but VBA complains about it anyway, and flags that third line «taskcount» variable, saying «Constant Expression Required», when we all know that a constant expression is NOT required there. I have no idea why this occurs, but it just randomly pops up from time to time, and recompiling the project doesn’t do anything…even restarting the program, or the entire computer, does not help. As it turns out, all you need to do is this:

Ctrl+A

Ctrl+X

Ctrl+V

That’s right…just cut all the code out of the module and paste it back in. I have NO idea why this works, but I guess it just forces VBA to re-evaluate the code, and that somehow makes it realize that it was fine all along.

If anyone has any good explanation about why this issue occurs, or why this fixes it, I’d be really interested to know. Also, let me know if you are getting this error and this does NOT fix it…you may have legitimate code issues, or maybe this just doesn’t always work.

  • Remove From My Forums
  • Question

  • I have a similar issue that eludes me.  I have defined a Procedure with the Optional defaults to date Parameters of Now.  It is only the last Param (Optional dtOrigTimeFinish As DateTime = Now)
    that causes this error.  Any advice will be appreciated.

        Private Sub SetOccupancy(strMethod As String, strRoomName As String, dtTimeStart As DateTime, dtTimeFinish As DateTime, _
                                 Optional intId As Integer = 0, Optional strOrigRoomName As String = "", _
                                 Optional dtOrigTimeStart As DateTime = Now, Optional dtOrigTimeFinish As DateTime = Now)

    Regards, Graham.


    VB Developer

Answers

  • I believe the error is telling you that DateTime.Now is not a constant, which is true.  You would need to set this optional parameter to constant time, such as DateTime.MinValue.



    Mike

    • Proposed as answer by

      Saturday, October 15, 2011 10:04 AM

    • Marked as answer by
      Mike FengModerator
      Monday, October 17, 2011 2:54 AM

  • I believe the compiler is just being kind, not repeating the same error multiple times on the same line.  Delete the last optional parameter from your declaration, and you will see the same error given on the
    parameter previous to it. 

    As to how to properly set an optional parameter, as I said, you could use DateTime.MinValue.  In your code, test the value and set the param to DateTime.Now.



    Mike

    • Marked as answer by
      Mike FengModerator
      Monday, October 17, 2011 2:52 AM

Правка макроса (constant expression required)

Leojse

Дата: Понедельник, 21.07.2014, 21:10 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 148


Репутация:

1

±

Замечаний:
0% ±


2010/2013

Добрый вечер, уважаемые форумчане!
Стыдно уже писать на форуме, но пока не вижу для себя другого выхода.
Пытаюсь из двух столбцов с помощью макроса в столбец G вывести значения, которые отсутствуют в столбцах А и В. В примере диапазон ограничивается от 1 до 16. Но диапазон «от» и «до» постоянно меняется. Можно, вообщем-то прописывать этот диапазон каждый раз вручную, правя код, но хочется узнать, возможно ли с помощью InputBox вводить значение «от» и значение «до» при каждом запуске макроса? Также, хочу спросить, возможно ли, чтобы результат вносился в столбец G не с первой ячейки?
Попытался сам что-то сделать, но ничего не получилось. Выделяет переменную b и пишет «constant expression required».
И, как обычно, заранее спасибо и много «+»!

К сообщению приложен файл: 7109334.xls(36.0 Kb)

 

Ответить

_Boroda_

Дата: Понедельник, 21.07.2014, 21:34 |
Сообщение № 2

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16550


Репутация:

6441

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Если Вы хотите именно этот макрос, то его можно переделать так
[vba]

Код

Sub Numbers()
Dim a, b
Dim Num() As Boolean, RA As Range, n&, r&, r0&
On Error Resume Next
a = InputBox(«Введите начальное число», «Ввод первого числа»)
b = InputBox(«Введите конечное число», «Ввод второго числа»)
ReDim Num(a To b)
On Error Resume Next
For Each RA In Selection
       Num(RA.Value) = True
Next
r0 = 5’Начальная строка
For n = LBound(Num) To UBound(Num)
       If Num(n) = False Then r = r + 1: Cells(r + r0-1, «G») = n
Next
Erase Num
End Sub

[/vba]


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Leojse

Дата: Понедельник, 21.07.2014, 21:41 |
Сообщение № 3

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 148


Репутация:

1

±

Замечаний:
0% ±


2010/2013

_Boroda_, спасибо Вам огромное! А можно чисто теоретический вопрос? Можно в одном окне InputBox вводить сразу 2 значения?
[offtop]Я только сейчас начал основательно вникать во всё это… Имею ввиду процедуры, методы, классы, свойства, и т.д. И откуда Вы всё это знаете?)

 

Ответить

_Boroda_

Дата: Понедельник, 21.07.2014, 21:51 |
Сообщение № 4

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16550


Репутация:

6441

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Можно в одном окне InputBox вводить сразу 2 значения?

Например, так можно
[vba]

Код

Sub Numbers()
Dim a, b, aa
Dim Num() As Boolean, RA As Range, n&, r&, r0&
On Error Resume Next
aa = InputBox(«Введите начальное и конечное числа через запятую»)
a = Int(—aa)
b = WorksheetFunction.Substitute(aa — a, «0,», «»)
ReDim Num(a To b)
On Error Resume Next
For Each RA In Selection
        Num(RA.Value) = True
Next
r0 = 5
For n = LBound(Num) To UBound(Num)
        If Num(n) = False Then r = r + 1: Cells(r + r0, «G») = n
Next
Erase Num
End Sub

[/vba]

И откуда Вы всё это знаете?

Это почти как у Сократа: чем больше я знаю, тем больше я понимаю, что знаю очень мало.
Где-то когда-то вычитал (вольная цитата): знание — это шар, чем он больше, тем у него больше площадь соприкосновения с неведомым.


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Skif-F

Дата: Понедельник, 21.07.2014, 21:53 |
Сообщение № 5

Группа: Проверенные

Ранг: Участник

Сообщений: 73


Репутация:

14

±

Замечаний:
0% ±


Excel 2007, 2010, 2013, 2016

Можно ввести значения, например, через какой-то разделитель (слэш, пробел, запятая, точка с запятой — как Вам удобнее), а потом программно разделить полученную строку на 2 значения:
[vba]

Код

Sub Numbers()
     Dim a, b, c As String
     Dim Num() As Boolean, RA As Range, n&, r&, r0&
     c = InputBox(«Введите два числа через косую черту» & vbCr & «Например: 2/3», «Ввод чисел»)
     a = CInt(Left(c, InStr(1, c, «/») — 1))
     b = CInt(Right(c, Len(c) — InStr(1, c, «/»)))
     ReDim Num(a To b)
     On Error Resume Next
     For Each RA In Selection
         Num(RA.Value) = True
     Next
     r0 = 5 ‘Начальная строка
     For n = LBound(Num) To UBound(Num)
         If Num(n) = False Then r = r + 1: Cells(r + r0 — 1, «G») = n
     Next
     Erase Num
End Sub

[/vba]

 

Ответить

Leojse

Дата: Понедельник, 21.07.2014, 21:55 |
Сообщение № 6

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 148


Репутация:

1

±

Замечаний:
0% ±


2010/2013

Skif-F, Большое спасибо!!!

Сообщение отредактировал LeojseПонедельник, 21.07.2014, 21:56

 

Ответить

Leojse

Дата: Понедельник, 21.07.2014, 21:57 |
Сообщение № 7

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 148


Репутация:

1

±

Замечаний:
0% ±


2010/2013

_Boroda_, И Вам преогромнейшее спасибо еще раз!)

 

Ответить

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Vaillant turbo max ошибки
  • Vba excel ошибка 457