Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/как вставить формулу в последний пуст столбец идущий за не п - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: китин, _Boroda_  
как вставить формулу в последний пуст столбец идущий за не п
Erik Дата: Вторник, 09.10.2012, 23:01 | Сообщение № 21
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

на этой страке вылетает дебук, пишет "run time error" If Cells(yy, x - 1).Value <> Cells(yy, x).Value Then
 
Ответить
Сообщениена этой страке вылетает дебук, пишет "run time error" If Cells(yy, x - 1).Value <> Cells(yy, x).Value Then

Автор - Erik
Дата добавления - 09.10.2012 в 23:01
ABC Дата: Вторник, 09.10.2012, 23:04 | Сообщение № 22
Группа: Друзья
Ранг: Обитатель
Сообщений: 397
Репутация: 112 ±
Замечаний: 0% ±

Excel 2007
ну: сперва дату вводит строке 3, после запускать макрос


MS Excel 2007 and 2010...
-------------------------------
С Уважением, Даулет
 
Ответить
Сообщениену: сперва дату вводит строке 3, после запускать макрос

Автор - ABC
Дата добавления - 09.10.2012 в 23:04
Erik Дата: Вторник, 09.10.2012, 23:05 | Сообщение № 23
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

сори, все разобрался! супер! спасибо!
 
Ответить
Сообщениесори, все разобрался! супер! спасибо!

Автор - Erik
Дата добавления - 09.10.2012 в 23:05
Erik Дата: Вторник, 09.10.2012, 23:06 | Сообщение № 24
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

а можно если дата не та, то вместо дебук, выпрыгивала сообщение что нужно вставить дату?
 
Ответить
Сообщениеа можно если дата не та, то вместо дебук, выпрыгивала сообщение что нужно вставить дату?

Автор - Erik
Дата добавления - 09.10.2012 в 23:06
Erik Дата: Вторник, 09.10.2012, 23:18 | Сообщение № 25
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

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

фин состояние идет по убыванию:
стабильное
нестабильное
удовлетворительное
неудовлетворительное
критическое
 
Ответить
Сообщениеи насчет этих показателей я имел ввиду что если фин состояние изменилось, например в худшую сторону, то в столбце "фин состояние" прописывалось "ухудшилось" и наоборот "улучшилось" а если осталось таким же то "без изменений"

фин состояние идет по убыванию:
стабильное
нестабильное
удовлетворительное
неудовлетворительное
критическое

Автор - Erik
Дата добавления - 09.10.2012 в 23:18
ABC Дата: Вторник, 09.10.2012, 23:18 | Сообщение № 26
Группа: Друзья
Ранг: Обитатель
Сообщений: 397
Репутация: 112 ±
Замечаний: 0% ±

Excel 2007
примерно
[vba]
Code
Public Sub a()
     Dim x&, yy&, y&
     On Error Resume Next
     x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column    ' + 1
     y = Cells(Rows.Count, 7).End(xlUp).Row    ' тянем формулу по 7-му столбцу
     If IsDate(Cells(3, x).Value) Then
         Range(Cells(4, x), Cells(y, x)).Formula = _
         "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))"
         Range(Cells(4, x), Cells(y, x)).Value = Range(Cells(4, x), Cells(y, x)).Value
         For yy = 4 To Cells(Rows.Count, 7).End(xlUp).Row
             If Cells(yy, x - 1).Value <> Cells(yy, x).Value Then
                 Cells(yy, 8).Value = Cells(yy, x).Value
             End If
         Next
     Else: MsgBox ("проверь дату")
     End If
End Sub
[/vba]


MS Excel 2007 and 2010...
-------------------------------
С Уважением, Даулет
 
Ответить
Сообщениепримерно
[vba]
Code
Public Sub a()
     Dim x&, yy&, y&
     On Error Resume Next
     x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column    ' + 1
     y = Cells(Rows.Count, 7).End(xlUp).Row    ' тянем формулу по 7-му столбцу
     If IsDate(Cells(3, x).Value) Then
         Range(Cells(4, x), Cells(y, x)).Formula = _
         "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))"
         Range(Cells(4, x), Cells(y, x)).Value = Range(Cells(4, x), Cells(y, x)).Value
         For yy = 4 To Cells(Rows.Count, 7).End(xlUp).Row
             If Cells(yy, x - 1).Value <> Cells(yy, x).Value Then
                 Cells(yy, 8).Value = Cells(yy, x).Value
             End If
         Next
     Else: MsgBox ("проверь дату")
     End If
End Sub
[/vba]

Автор - ABC
Дата добавления - 09.10.2012 в 23:18
Serge_007 Дата: Вторник, 09.10.2012, 23:19 | Сообщение № 27
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Erik)
дебук

Это детский пук?
Может всё-таки Дебаг (отладка)?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Erik)
дебук

Это детский пук?
Может всё-таки Дебаг (отладка)?

Автор - Serge_007
Дата добавления - 09.10.2012 в 23:19
ABC Дата: Вторник, 09.10.2012, 23:22 | Сообщение № 28
Группа: Друзья
Ранг: Обитатель
Сообщений: 397
Репутация: 112 ±
Замечаний: 0% ±

Excel 2007
Erik, макросу тоже не понятен ухудшилась или улучшилась если нет условии


MS Excel 2007 and 2010...
-------------------------------
С Уважением, Даулет
 
Ответить
СообщениеErik, макросу тоже не понятен ухудшилась или улучшилась если нет условии

Автор - ABC
Дата добавления - 09.10.2012 в 23:22
Erik Дата: Вторник, 09.10.2012, 23:25 | Сообщение № 29
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

Serge_007, )) верно "дебаг"

Чет теперь даж если вводишь дату верно согласно листу1, то выводит сообщение "проверь дату"
 
Ответить
СообщениеSerge_007, )) верно "дебаг"

Чет теперь даж если вводишь дату верно согласно листу1, то выводит сообщение "проверь дату"

Автор - Erik
Дата добавления - 09.10.2012 в 23:25
Erik Дата: Вторник, 09.10.2012, 23:30 | Сообщение № 30
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

условие такое, допустим представим значение фин состояния в виде баллов :

стабильное = 5
нестабильное = 4
удовлетворительное = 3
неудовлетворительное = 2
критическое =1

от сюда условие если было стабильное , а стало нестабильное ТО можно сравнить по баллам т.е 5>4, то ухудшение
 
Ответить
Сообщениеусловие такое, допустим представим значение фин состояния в виде баллов :

стабильное = 5
нестабильное = 4
удовлетворительное = 3
неудовлетворительное = 2
критическое =1

от сюда условие если было стабильное , а стало нестабильное ТО можно сравнить по баллам т.е 5>4, то ухудшение

Автор - Erik
Дата добавления - 09.10.2012 в 23:30
ABC Дата: Среда, 10.10.2012, 00:08 | Сообщение № 31
Группа: Друзья
Ранг: Обитатель
Сообщений: 397
Репутация: 112 ±
Замечаний: 0% ±

Excel 2007
код изменил
[vba]
Code
Public Sub a()
       Dim x&, yy&, y&, a, b, s
       On Error Resume Next
       a = Array("стабильное", "нестабильное", "удовлетворительное", "неудовлетворительное", "критическое")
       x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column    ' + 1
       y = Cells(Rows.Count, 7).End(xlUp).Row    ' тянем формулу по 7-му столбцу
       If Cells(3, x).Value<>"" Then
           Range(Cells(4, x), Cells(y, x)).Formula = _
           "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))"
           Range(Cells(4, x), Cells(y, x)).Value = Range(Cells(4, x), Cells(y, x)).Value
           For yy = 4 To Cells(Rows.Count, 7).End(xlUp).Row
               For i = 0 To 5
                   Select Case a(i) = Cells(yy, x - 1).Value
                   Case True
                       b = i
                   End Select
               Next
               For i = 0 To 5
                   Select Case a(i) = Cells(yy, x).Value
                   Case True
                       s = i
                   End Select
               Next
               If b = s Then: Cells(yy, 8).Value = "без изменений"
               If b < s Then: Cells(yy, 8).Value = "ухудшилось"
               If b > s Then: Cells(yy, 8).Value = "улучшилось"
           Next
       Else: MsgBox ("поставьте дату")
       End If
End Sub
[/vba]


MS Excel 2007 and 2010...
-------------------------------
С Уважением, Даулет


Сообщение отредактировал ABC - Среда, 10.10.2012, 00:19
 
Ответить
Сообщениекод изменил
[vba]
Code
Public Sub a()
       Dim x&, yy&, y&, a, b, s
       On Error Resume Next
       a = Array("стабильное", "нестабильное", "удовлетворительное", "неудовлетворительное", "критическое")
       x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column    ' + 1
       y = Cells(Rows.Count, 7).End(xlUp).Row    ' тянем формулу по 7-му столбцу
       If Cells(3, x).Value<>"" Then
           Range(Cells(4, x), Cells(y, x)).Formula = _
           "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))"
           Range(Cells(4, x), Cells(y, x)).Value = Range(Cells(4, x), Cells(y, x)).Value
           For yy = 4 To Cells(Rows.Count, 7).End(xlUp).Row
               For i = 0 To 5
                   Select Case a(i) = Cells(yy, x - 1).Value
                   Case True
                       b = i
                   End Select
               Next
               For i = 0 To 5
                   Select Case a(i) = Cells(yy, x).Value
                   Case True
                       s = i
                   End Select
               Next
               If b = s Then: Cells(yy, 8).Value = "без изменений"
               If b < s Then: Cells(yy, 8).Value = "ухудшилось"
               If b > s Then: Cells(yy, 8).Value = "улучшилось"
           Next
       Else: MsgBox ("поставьте дату")
       End If
End Sub
[/vba]

Автор - ABC
Дата добавления - 10.10.2012 в 00:08
Erik Дата: Среда, 10.10.2012, 00:17 | Сообщение № 32
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

Почему то пишет "проверьте дату" хотя дата указана согласно листу1 wacko
 
Ответить
СообщениеПочему то пишет "проверьте дату" хотя дата указана согласно листу1 wacko

Автор - Erik
Дата добавления - 10.10.2012 в 00:17
ABC Дата: Среда, 10.10.2012, 00:21 | Сообщение № 33
Группа: Друзья
Ранг: Обитатель
Сообщений: 397
Репутация: 112 ±
Замечаний: 0% ±

Excel 2007
значить дата не верная


MS Excel 2007 and 2010...
-------------------------------
С Уважением, Даулет
 
Ответить
Сообщениезначить дата не верная

Автор - ABC
Дата добавления - 10.10.2012 в 00:21
Erik Дата: Среда, 10.10.2012, 00:25 | Сообщение № 34
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

указываю туже дату(( может тогда вообще убрать это сообщение? и сделать если нет даты то вообще не вводить формулу и всё, наверно как то так
 
Ответить
Сообщениеуказываю туже дату(( может тогда вообще убрать это сообщение? и сделать если нет даты то вообще не вводить формулу и всё, наверно как то так

Автор - Erik
Дата добавления - 10.10.2012 в 00:25
ABC Дата: Среда, 10.10.2012, 00:31 | Сообщение № 35
Группа: Друзья
Ранг: Обитатель
Сообщений: 397
Репутация: 112 ±
Замечаний: 0% ±

Excel 2007
смотрим сообщению №31


MS Excel 2007 and 2010...
-------------------------------
С Уважением, Даулет
 
Ответить
Сообщениесмотрим сообщению №31

Автор - ABC
Дата добавления - 10.10.2012 в 00:31
Erik Дата: Среда, 10.10.2012, 00:33 | Сообщение № 36
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

ABC, Вы меня опять выручили! всё супер! спасибо! теперь прикручу к своему отчету, надеюсь всё будет отлично.
 
Ответить
СообщениеABC, Вы меня опять выручили! всё супер! спасибо! теперь прикручу к своему отчету, надеюсь всё будет отлично.

Автор - Erik
Дата добавления - 10.10.2012 в 00:33
Michael_S Дата: Среда, 10.10.2012, 01:16 | Сообщение № 37
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
А так не лучше?
можно еще макросов прикрутить, для облегчения заполнения и обновления сводной.
К сообщению приложен файл: Erik.xlsm (28.0 Kb)
 
Ответить
СообщениеА так не лучше?
можно еще макросов прикрутить, для облегчения заполнения и обновления сводной.

Автор - Michael_S
Дата добавления - 10.10.2012 в 01:16
Pasha Дата: Вторник, 20.11.2012, 18:28 | Сообщение № 38
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Ребят, больше подходящей темы не нашел. Помогите с похожим вопросом, только все гораздо легче.

Как скопировать из одного файла диапазон данных (Книга 1) диапазон C4:H75, открыть книгу 2 и вставить этот диапазон в готовый шаблон, но только в каждый раз правее от уже имеющихся данных - все начинается с диапазона C4:H75 и так далее по шаблону. Вставка должна происходить только значений, в оригинальном файле (книга 1) будут идти формулы. Пароль на архив 3399

Помогите пожалуйста. Заранее благодарен.
К сообщению приложен файл: 0328467.rar (32.3 Kb)
 
Ответить
СообщениеРебят, больше подходящей темы не нашел. Помогите с похожим вопросом, только все гораздо легче.

Как скопировать из одного файла диапазон данных (Книга 1) диапазон C4:H75, открыть книгу 2 и вставить этот диапазон в готовый шаблон, но только в каждый раз правее от уже имеющихся данных - все начинается с диапазона C4:H75 и так далее по шаблону. Вставка должна происходить только значений, в оригинальном файле (книга 1) будут идти формулы. Пароль на архив 3399

Помогите пожалуйста. Заранее благодарен.

Автор - Pasha
Дата добавления - 20.11.2012 в 18:28
RAN Дата: Вторник, 20.11.2012, 20:17 | Сообщение № 39
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
И зачем архив с паролем?
В стандартный модуль книги 1.
[vba]
Code
Sub qqq()
     Application.ScreenUpdating = False
     With Workbooks.Open(ThisWorkbook.Path & "\Книга 2.xlsx")
         .Sheets(1).Range("C4").End(xlToRight).Offset(, 1).Resize(72, 6).Value = _
         ThisWorkbook.Sheets(1).Range("C4").Resize(72, 6).Value
         .Close True
     End With
     Application.ScreenUpdating = True
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеИ зачем архив с паролем?
В стандартный модуль книги 1.
[vba]
Code
Sub qqq()
     Application.ScreenUpdating = False
     With Workbooks.Open(ThisWorkbook.Path & "\Книга 2.xlsx")
         .Sheets(1).Range("C4").End(xlToRight).Offset(, 1).Resize(72, 6).Value = _
         ThisWorkbook.Sheets(1).Range("C4").Resize(72, 6).Value
         .Close True
     End With
     Application.ScreenUpdating = True
End Sub
[/vba]

Автор - RAN
Дата добавления - 20.11.2012 в 20:17
Pasha Дата: Среда, 21.11.2012, 11:59 | Сообщение № 40
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

RAN, подскажи пожалуйста, а как указать путь к такого же типа книге, только по другому пути? Ибо эти два файла находяться в разных папках. И наверное не много не правильно высказал свою мысль, приношу прощение. Данные должны вставлять так как Вы это реализовали, все верно. Но начинать надо сразу от серых столбцов не С4 а В4 .


Сообщение отредактировал Pasha - Среда, 21.11.2012, 12:08
 
Ответить
СообщениеRAN, подскажи пожалуйста, а как указать путь к такого же типа книге, только по другому пути? Ибо эти два файла находяться в разных папках. И наверное не много не правильно высказал свою мысль, приношу прощение. Данные должны вставлять так как Вы это реализовали, все верно. Но начинать надо сразу от серых столбцов не С4 а В4 .

Автор - Pasha
Дата добавления - 21.11.2012 в 11:59
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!