Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 След.
Предупреждение о том, что книга уже открыта, макрос
 
Alex_ST,
Цитата
написал:
UserStatus(1,1)
Спасибо, обязательно попробую
Предупреждение о том, что книга уже открыта, макрос
 
andypetr,
Цитата
написал:
можно упростить,
Спасибо, обязательно попробую
Предупреждение о том, что книга уже открыта, макрос
 
Код
Private Function myReadOnlyCheck(wb As Workbook) As Boolean
    If wb.ReadOnly Then
        myReadOnlyCheck = True
        MsgBox wb.Name & vbCrLf & "Попроси коллегу закрыть оригинал файла и нажми ''ОК''.", vbCritical, "Сейчас файл открыт только для чтения"
        wb.Close False
    End If
End Function
вот в таком виде после сообщения о том что файл уже у кого то открыт, можно попросить закрыть файл, нажать "ок" и все отработает как было задумано.
Осталось одно необязательное пожелание, хорошо бы в сообщении выводить имя пользователя который открыл файл
Код
Sub aaa()
    
  Application.ScreenUpdating = False  'отключаем обновление экрана для скорости

  Workbooks.Open Filename:="\\s\Files_server\Отдел\_ОБЩАЯ\С\Отбор.xlsm" 'открыть книгу
    Workbooks("Отбор.xlsm").Windows(1).WindowState = xlMaximized 'на первый план
      Workbooks("Отбор.xlsm").Activate 'на первый план
    If myReadOnlyCheck(ActiveWorkbook) Then

  Workbooks.Open Filename:="\\s\Files_server\Отдел\_ОБЩАЯ\С\Отбор.xlsm" 'открыть книгу
    Workbooks("Отбор.xlsm").Windows(1).WindowState = xlMaximized 'на первый план
      Workbooks("Отбор.xlsm").Activate 'на первый план
    
    End If 'конец блока если

  Sheets("ОП").Select 'выбрать лист
    Call Application.Run("'Отбор.xlsm'!Модуль.Очистка") 'запустить макрос
      Excel.ActiveWorkbook.Save 'сохранить книгу
        ActiveWorkbook.Close True 'закрыть книгу без подтверждения

  Sheets("Доп").Select 'выбрать лист
    Range("B4").Select 'выбрать ячейку
      Range(Selection, Selection.End(xlDown)).Select 'выделить вниз
        Selection.Copy 'копировать
          Sheets("Отбор").Select 'выбрать лист
            Range("A2").Select 'выбрать ячейку
              Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                   :=False, Transpose:=False 'вставить только значения
     
  Sheets("Доп").Select 'выбрать лист
    Range("CA4").Select 'выбрать ячейку
      Range(Selection, Selection.End(xlDown)).Select 'выделить вниз
        Selection.Copy 'копировать
          Sheets("Отбор").Select 'выбрать лист
            Range("B2").Select 'выбрать ячейку
              Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                   :=False, Transpose:=False 'вставить только значения
                   
  Sheets("Авто").Select 'выбрать лист
    Range("BZ4").Select 'выбрать ячейку
      Range(Selection, Selection.End(xlDown)).Select 'выделить вниз
        Selection.Copy 'копировать
          Sheets("Отбор").Select 'выбрать лист
            Range("C2").Select 'выбрать ячейку
              Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                   :=False, Transpose:=False 'вставить только значения

  Range("A2:C2").Select 'выбрать диапазон
    Range(Selection, Selection.End(xlDown)).Select 'выделить вниз
      Selection.Copy 'копировать

  Workbooks.Open Filename:="\\s\Files_server\Отдел\_ОБЩАЯ\С\Отбор.xlsm" 'открыть книгу
    Workbooks("Отбор.xlsm").Windows(1).WindowState = xlMaximized 'на первый план
      Workbooks("Отбор.xlsm").Activate 'на первый план

    If myReadOnlyCheck(ActiveWorkbook) Then

  Workbooks.Open Filename:="\\s\Files_server\Отдел\_ОБЩАЯ\С\Отбор.xlsm" 'открыть книгу
    Workbooks("Отбор.xlsm").Windows(1).WindowState = xlMaximized 'на первый план
      Workbooks("Отбор.xlsm").Activate 'на первый план
    
    End If 'конец блока если
    

  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False 'вставить только значения
    Range("A2").Select 'выбрать ячейку
  
  Excel.ActiveWorkbook.Save 'сохранить книгу
  
    If Weekday(Date, 2) = 1 Then 'если сегодня понедельник
      Dim x As String
        strPath = "\\s\Files_server\Отдел\_ОБЩАЯ\С\Архив\Отбор"     'папка для сохранения резервной копии
      On Error Resume Next
        x = GetAttr(strPath) And 0
          If Err = 0 Then ' если путь существует - сохраняем копию книги, добавляя дату-время
            strDate = Format(Now, "dd.mm.yy hh.mm") 'формат сегодняшней даты и времени
              FileNameXls = strPath & "\" & "Отбор" & " " & strDate & ".xlsm" 'название и формат сохраняемого файла
                ActiveWorkbook.SaveCopyAs Filename:=FileNameXls 'сохранить объединив условия
          Else 'если путь не существует - выводим сообщение
            MsgBox "Папка " & strPath & " недоступна или не существует!", vbCritical 'сообщение в случае ошибки
          End If 'конец блока если
     End If 'конец блока если
     
  ActiveWorkbook.Close True 'закрыть книгу без подтверждения
    Application.ScreenUpdating = True 'включаем обновление экрана
End Sub 'конец

Предупреждение о том, что книга уже открыта, макрос
 
МатросНаЗебре,
Цитата
написал:
myReadOnlyCheck
Спасибо, но это только пол дела,
Цитата
написал:
нажму "да" и процесс продолжится
хотелось бы чтобы процесс можно было продолжить, а не просто завершить его. наверное вместо завершения процесса макрос должен запустить сам себя повторно, это вообще возможно?
Предупреждение о том, что книга уже открыта, макрос
 
bigorq, ну макрос по сути и пытается вписать в книгу данные. пользователь который запустил процесс копирования не видит что происходит
Предупреждение о том, что книга уже открыта, макрос
 
Есть книга  "Работа" с макросом, при запуске макроса открывается книга "Отбор" (тоже с макросами), в книге "Отбор" удаляются данные, на их место из книги "Работа" вставляются новые данные.

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

Нужен макрос (часть макроса) которая будет останавливать текущий процесс, при этом должно появиться всплывающее окно - "Книга открыта пользователем "........" , нажмите "да", чтобы продолжить".

я увижу что книга открыта, и кем она открыта, попрошу пользователя закрыть книгу, нажму "да" и процесс продолжится

Код
Sub aaa()

  Application.ScreenUpdating = False  'отключаем обновление экрана для скорости

  Workbooks.Open Filename:="\\s\Files_server\Отдел\_ОБЩАЯ\С\Отбор.xlsm" 'открыть книгу
    Workbooks("Отбор.xlsm").Windows(1).WindowState = xlMaximized 'на первый план
      Workbooks("Отбор.xlsm").Activate 'на первый план

  Sheets("ОП").Select 'выбрать лист
    Call Application.Run("'Отбор.xlsm'!Модуль.Очистка") 'запустить макрос
      Excel.ActiveWorkbook.Save 'сохранить книгу
        ActiveWorkbook.Close True 'закрыть книгу без подтверждения

  Sheets("Доп").Select 'выбрать лист
    Range("B4").Select 'выбрать ячейку
      Range(Selection, Selection.End(xlDown)).Select 'выделить вниз
        Selection.Copy 'копировать
          Sheets("Отбор").Select 'выбрать лист
            Range("A2").Select 'выбрать ячейку
              Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                   :=False, Transpose:=False 'вставить только значения
     
  Sheets("Доп").Select 'выбрать лист
    Range("CA4").Select 'выбрать ячейку
      Range(Selection, Selection.End(xlDown)).Select 'выделить вниз
        Selection.Copy 'копировать
          Sheets("Отбор").Select 'выбрать лист
            Range("B2").Select 'выбрать ячейку
              Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                   :=False, Transpose:=False 'вставить только значения
                   
  Sheets("Авто").Select 'выбрать лист
    Range("BZ4").Select 'выбрать ячейку
      Range(Selection, Selection.End(xlDown)).Select 'выделить вниз
        Selection.Copy 'копировать
          Sheets("Отбор").Select 'выбрать лист
            Range("C2").Select 'выбрать ячейку
              Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                   :=False, Transpose:=False 'вставить только значения

  Range("A2:C2").Select 'выбрать диапазон
    Range(Selection, Selection.End(xlDown)).Select 'выделить вниз
      Selection.Copy 'копировать

  Workbooks.Open Filename:="\\s\Files_server\Отдел\_ОБЩАЯ\С\Отбор.xlsm" 'открыть книгу
    Workbooks("Отбор.xlsm").Windows(1).WindowState = xlMaximized 'на первый план
      Workbooks("Отбор.xlsm").Activate 'на первый план

  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False 'вставить только значения
    Range("A2").Select 'выбрать ячейку
  
  Excel.ActiveWorkbook.Save 'сохранить книгу
  
    If Weekday(Date, 2) = 1 Then 'если сегодня понедельник
      Dim x As String
        strPath = "\\s\Files_server\Отдел\_ОБЩАЯ\С\Архив\Отбор"     'папка для сохранения резервной копии
      On Error Resume Next
        x = GetAttr(strPath) And 0
          If Err = 0 Then ' если путь существует - сохраняем копию книги, добавляя дату-время
            strDate = Format(Now, "dd.mm.yy hh.mm") 'формат сегодняшней даты и времени
              FileNameXls = strPath & "\" & "Отбор" & " " & strDate & ".xlsm" 'название и формат сохраняемого файла
                ActiveWorkbook.SaveCopyAs Filename:=FileNameXls 'сохранить объединив условия
          Else 'если путь не существует - выводим сообщение
            MsgBox "Папка " & strPath & " недоступна или не существует!", vbCritical 'сообщение в случае ошибки
          End If 'конец блока если
     End If 'конец блока если
     
  ActiveWorkbook.Close True 'закрыть книгу без подтверждения
    Application.ScreenUpdating = True 'включаем обновление экрана
End Sub 'конец
Подстановка формул в столбец в зависимости от условия в соседнем столбце через макрос
 
МатросНаЗебре,
За вариант спасибо, если ничего лучше не найдется, придется использовать этот, но хотелось бы все таки чтобы сами формулы были заложены в макросе, а не ссылкой на листе
Цитата
написал:
Range("CG5:CH9")
Подстановка формул в столбец в зависимости от условия в соседнем столбце через макрос
 
Доброго времени суток!
Подскажите, как через макрос подставлять формулы в зависимости от условия в соседнем столбце?
Есть 5 различных формул, каждая формула применяется при соблюдении определенного условия. Нужно чтобы макрос в каждую строку вставил нужную для этой строки формулу
В примере наглядно показал
Запрос подтверждения на удаление строк / блокировка удаления строк
 
Цитата
написал:
293
к строке
Спасибо! :)  
Запрос подтверждения на удаление строк / блокировка удаления строк
 
Sanja, Спасибо!
Запрос подтверждения на удаление строк / блокировка удаления строк
 
Sanja, решение только для вставки / удаления столбцов, меня интересуют строки, пробовал просто поменять Columns на Rows, но он все также работает только на столбцы
Код
Option Explicit

Public WithEvents q1 As CommandBarButton  ' удалить столбец
Public WithEvents q2 As CommandBarButton  ' вставить столбец

Public WithEvents cb As CommandBars

Dim n As Long

Private Sub cb_OnUpdate()
  If q2 Is Nothing Then
    Init
    n = n + 1
    If Not q2 Is Nothing Then
      Set cb = Nothing
      Debug.Print n
    End If
  End If
End Sub

Private Sub q1_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
    If ActiveWorkbook.Name = ThisWorkbook.Name And ActiveSheet.Name = Sheet2.Name Then
        If Selection.Rows.Count = ActiveSheet.Rows.Count Then
          If MsgBox("Вы хотите удалить " & IIf(Selection.Columns.Count = 1, "выделенный столбец", _
                    "выделенные столбцы"), vbYesNo + vbQuestion) <> vbYes Then
              CancelDefault = True
          End If
        End If
    End If
End Sub

Private Sub q2_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
    If ActiveWorkbook.Name = ThisWorkbook.Name And ActiveSheet.Name = Sheet2.Name Then
        If Selection.Rows.Count = ActiveSheet.Rows.Count Then
          If MsgBox("Вы хотите вставить " & IIf(Selection.Columns.Count = 1, "столбец", "столбцы"), vbYesNo + vbQuestion) <> vbYes Then
              CancelDefault = True
          End If
        End If
    End If
End Sub

Private Sub Init()
    With Application.CommandBars
        If q1 Is Nothing Then Set q1 = .FindControl(ID:=294)
        If q2 Is Nothing Then Set q2 = .FindControl(ID:=3183)
    End With
End Sub

Private Sub Workbook_Open()
    Set cb = Application.CommandBars
    Init
End Sub
Запрос подтверждения на удаление строк / блокировка удаления строк
 
Доброго дня, подскажите, возможно ли например через макрос настроить запрос подтверждения при попытке удалить строку (или полностью заблокировать удаление строк на листе) ?
Есть лист с данными, данные периодически могут меняться, на эти данные ссылаются формулы с других листов, иногда (по невнимательности и забывчивости) вместо очистить содержимое пользователь удаляет строки целиком (так ведь быстрее и проще), а формулы слетают, вообще перестают работать или уменьшается диапазон охвата данных для обработки (что еще хуже, формула ведь работает, а факт того что она обрабатывает не все данные может долгое время быть не выявленным).
Хотелось бы запретить удаление строк на конкретных листах книги (в крайнем случае во всей книге), при этом, ограничение должно быть только на удаление строк и ни на что больше - данные можно менять как угодно, столбцы можно удалять ....
Как вариант - при попытке удалить строку - появляется всплывающее окно  с запросом подтверждения на удаление - пользователь видит, что это может повлиять на формулы и отказывается от удаления строк (вроде как напоминание, что так делать не стоит)
Макрос: Удаление строк на основании множественного отбора, Макрос: Удаление строк на основании множественного отбора
 
Цитата
написал:
50 значений
в моем файле поиск 140 тысяч значений, все уникальные, 7-10-ти значные, ширина таблицы порядка 100 столбцов
Макрос: Удаление строк на основании множественного отбора, Макрос: Удаление строк на основании множественного отбора
 
Для удаления 140 тысяч строк строка
Код
MsgBox c
во втором сообщении явно лишняя)) так и не дождался результата удаления, макрос не рекомендую

Макрос в третьем сообщении отработал за 10 секунд, шикарный исход, рекомендую

Макрос в четвертом сообщении выдал ошибку, ругается на строку
Код
Rg3.EntireRow.Delete
Даже разбираться что не так желания не возникло, так как предыдущий вариант более чем устраивает
Макрос: Удаление строк на основании множественного отбора, Макрос: Удаление строк на основании множественного отбора
 
Цитата
написал:
будут наверно тесты на скорость
Вот не поленюсь, на одном и том же массиве данных проверю все варианты, отпишусь какой лучше)
Спасибо большое за помощь!
Макрос: Удаление строк на основании множественного отбора, Макрос: Удаление строк на основании множественного отбора
 
Доброго дня!
На одном листе есть таблица с данными, в столбце A данной таблицы указаны номера, на соседнем листе в столбце A также указаны номера. Если на листе с таблицей строка начинается (столбец A) с номера который встречается на соседней вкладке (имена листов постоянны), то такую строку необходимо удалить.
Сама таблица имеет порядка 200 тысяч строк, из которых в конечном итоге будет удалено примерно 70 %.
Необходим макрос, который максимально быстро сможет удалить строки которые соответствуют условию (встречаются в столбце A на соседнем листе).
Все данные представлены значениями, формул, фильтров, группировок или разрывов данных нет
Спасибо!
P.S. если вдруг это как то повлияет на скорость удаления - список номеров которые должны быть удалены можно заменить на список номеров которые должны остаться
Изменено: mitya528 - 16.02.2024 11:47:08
Макрос в личной книге макросов который запишет макрос в модуль открытой книги, Макрос который создает другой макрос
 
Sanja, Спасибо, но с этим я к сожалению не разобрался. что и куда подставить так и не понял
Макрос в личной книге макросов который запишет макрос в модуль открытой книги, Макрос который создает другой макрос
 
MadNike, Идея с надстройкой работает, разобрался, спасибо за наводку!
но как быть если файл перенаправят другому пользователю? у него надстройки нет, функция работать не будет
Макрос в личной книге макросов который запишет макрос в модуль открытой книги, Макрос который создает другой макрос
 

Доброго дня!
возможно ли это, чтобы один макрос из личной книги макросов сам создавал другой макрос?

Код
Function AverageByColor(DataRange As Range, ColorSample As Range) As Double
    Dim cell As Range, total As Double, n As Long
     
    For Each cell In DataRange
        If IsNumeric(cell) And cell.Interior.Color = ColorSample.Interior.Color Then
            total = total + cell.Value
            n = n + 1
        End If
    Next cell
    AverageByColor = total / n
End Function

есть функция которая будет считать среднее по цвету, каждый раз добавлять ее в используемый файл не вариант (пользователь этого не умеет, научить не вариант), напрямую из личной книги макросов функция не работает (может я что делаю не так). подскажите, есть ли способ написать макрос, добавить кнопку запуска этого макроса на панель задач, и чтобы этот макрос добавлял в текущий файл вышеуказанную функцию? ну или может есть другой вариант решения данной задачи...
Спасибо!
Изменено: mitya528 - 13.02.2024 09:35:22
Запуск макроса в зависимости от значения ячейки, Запуск макроса в зависимости от значения ячейки
 
Sanja, Спасибо!
Работает
Запуск макроса в зависимости от значения ячейки, Запуск макроса в зависимости от значения ячейки
 
Помогите решить проблему. Не работает, может оформил не верно?
Код
Sub Проверка()
If [a1] = "Один" Then 
     Call Один 
     Exit Sub 
   End If 
If [a1] <> "Один" Then 
      Call Два 
      Exit Sub 
     End If 
End Sub 


Sub Один()
Range("A2").Select 
ActiveCell.FormulaR1C1 = "Один" 
End Sub 

Sub Два()
Range("A3").Select 
ActiveCell.FormulaR1C1 = "Два"
End Sub 
Автозамена значений по определенным условиям, Автозамена значений по определенным условиям
 
Sanja, Спасибо! на такой мелочи погорел...
Автозамена значений по определенным условиям, Автозамена значений по определенным условиям
 
tolikt,
Цитата
написал:
Macro Avtozamena2
Доброго времени суток, случилась необходимость доработать расчетный файл, часть используемых данных пришлось переместить на соседний лист, соответственно и макрос нужно доработать, попробовал - столкнулся с проблемой.
Заменял это:
Код
Dim Potr1 As Range: Set Potr1 = Range("BX16:CD16") ' первая строка таблички Потребность, шт
Dim Otpr1 As Range: Set Otpr1 = Range("CE16:CK16")  ' первая строка таблички К отправке, шт
Dim Rezu1 As Range: Set Rezu1 = Range("CN16:CT16") ' первая строка таблички Результат
на вот это:
Код
Dim Potr1 As Range: Set Potr1 = Sheets(Доп).Range("CD4:CI4")  ' первая строка таблички Потребность, шт
Dim Otpr1 As Range: Set Otpr1 = Sheets(Автозаказ).Range("BF4:BK4")  ' первая строка таблички К отправке, шт
Dim Rezu1 As Range: Set Rezu1 = Sheets(Автозаказ).Range("BF4:BK4") ' первая строка таблички Результат

попытался указать уточненное место расположения данных, но VBA ругается, вот на этом месте: Sheets(Доп)
название листа указано верно, не подскажите как решить проблему? если это вообще возможно реализовать на разных листах.
Спасибо!

Динамический выбор диапазона (макрос), Выбор диапазона от активной ячейки до указанной в условии через макрос
 
Дмитрий(The_Prist) Щербаков, Спасибо! настолько просто, что даже не рассматривал такой вариант)
Динамический выбор диапазона (макрос), Выбор диапазона от активной ячейки до указанной в условии через макрос
 
Доброго дня, теоретический вопрос по VBA - как через макрос выбрать (выделить) диапазон от текущей активной ячейки до конкретной (на постоянной основе прописанной в условии) ячейки, например L1048576 ?
Выполнение различных действий в зависимости от введенного значения InputBox
 
Sanja,
Цитата
написал:
Оператор Select Case (синтаксис, примеры)
Большое спасибо за дельный совет!, прописал как оно должно быть, работает
Код
Sub Сохранить()
Путь = "E:\Users\i\Desktop\" 'куда сохранить файл
Имя = "Отчет о выполненной работе " 'часть имени файла
Дата = Format(Date, "DD.MM.YYYY") 'часть имени файла
Last_Row = Cells(Rows.Count, 1).End(xlUp).Row - 1
a = InputBox("Сколько часов ты работал?", , "1")
Select Case a
Case Is = 1
    b = " час"
Case 2 To 4
    b = " часа"
Case 5 To 20
    b = " часов"
End Select
ActiveWorkbook.SaveAs (Путь & Имя & " " & Дата & " (" & Last_Row & " шт) " & Часы & a & " " & b & ".xlsm") 'сохранить книгу с именем
End Sub
Выполнение различных действий в зависимости от введенного значения InputBox
 
mimoprohodil,
Цитата
написал:
Какие действия?
да, сохранение с нужным окончанием, сохранение это ведь тоже действие
V,
Цитата
написал:
не видно что находится в Путь, Имя
не стал макрос целиком вставлять, может быть и стоило бы, но путь и имя указаны нормально, файл сохраняется все работает, только вот окончание доделать хочется
Sanja,
Цитата
написал:
чем отличается
да по сути только окончанием (в данном примере, но в дальнейшем есть еще идеи, куда применить данный алгоритм работы)
Выполнение различных действий в зависимости от введенного значения InputBox
 
Доброго дня!
Подскажите пожалуйста (если это вообще возможно реализовать),
как в зависимости от введенного значения в всплывающем окне InputBox выполнить различные действия ?
пытался вот так но это не работает:
Код
Sub Сохранить()
Сколько = InputBox("Сколько часов ты работал?", , "1")
If Сколько = "1" Then 'если 1 , то
ActiveWorkbook.SaveAs (Путь & Имя & " " & Дата & " (" & Last_Row & " шт) " & Сколько & "час" & ".xlsm") 'сохранить книгу с именем
 End If 
ActiveWorkbook.SaveAs (Путь & Имя & " " & Дата & " (" & Last_Row & " шт) " & Сколько & "часа" & ".xlsm") 'сохранить книгу с именем
End Sub
Изменено: mitya528 - 08.12.2023 09:41:04
Фильтр по дате с последующим удалением строк (макрос)
 
Цитата
написал:
Не мудрствуя
в файле примере работает, просто без всяких изменений копирую в свой файл - пишет удалено 2 строки, при этом ничего не меняет.

Цитата
написал:
натура творческая
Работает, огромное спасибо!
Цитата
написал:
достаточно будет переписать так
действительно, помогло, спасибо за помощь!
Фильтр по дате с последующим удалением строк (макрос)
 
МатросНаЗебре,
Цитата
написал:
Работает хорошо, но только один раз)
есть диапазон, макрос его обработал, оставил только нужные строки (причем в новой книге, хотелось бы получить результат на том месте где были исходные данные, ну это мелочи). Если запустить в исходном файле макрос повторно - результат отобразится начиная например с 769 строки (почему бы вдруг), и не важно исходные данные были те же или на их место поставили уже другие
Страницы: 1 2 3 4 След.
Наверх