и насчет этих показателей я имел ввиду что если фин состояние изменилось, например в худшую сторону, то в столбце "фин состояние" прописывалось "ухудшилось" и наоборот "улучшилось" а если осталось таким же то "без изменений"
фин состояние идет по убыванию: стабильное нестабильное удовлетворительное неудовлетворительное критическое
и насчет этих показателей я имел ввиду что если фин состояние изменилось, например в худшую сторону, то в столбце "фин состояние" прописывалось "ухудшилось" и наоборот "улучшилось" а если осталось таким же то "без изменений"
фин состояние идет по убыванию: стабильное нестабильное удовлетворительное неудовлетворительное критическоеErik
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]
примерно [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
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]
код изменил [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
Ребят, больше подходящей темы не нашел. Помогите с похожим вопросом, только все гораздо легче.
Как скопировать из одного файла диапазон данных (Книга 1) диапазон C4:H75, открыть книгу 2 и вставить этот диапазон в готовый шаблон, но только в каждый раз правее от уже имеющихся данных - все начинается с диапазона C4:H75 и так далее по шаблону. Вставка должна происходить только значений, в оригинальном файле (книга 1) будут идти формулы. Пароль на архив 3399
Помогите пожалуйста. Заранее благодарен.
Ребят, больше подходящей темы не нашел. Помогите с похожим вопросом, только все гораздо легче.
Как скопировать из одного файла диапазон данных (Книга 1) диапазон C4:H75, открыть книгу 2 и вставить этот диапазон в готовый шаблон, но только в каждый раз правее от уже имеющихся данных - все начинается с диапазона C4:H75 и так далее по шаблону. Вставка должна происходить только значений, в оригинальном файле (книга 1) будут идти формулы. Пароль на архив 3399
И зачем архив с паролем? В стандартный модуль книги 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
RAN, подскажи пожалуйста, а как указать путь к такого же типа книге, только по другому пути? Ибо эти два файла находяться в разных папках. И наверное не много не правильно высказал свою мысль, приношу прощение. Данные должны вставлять так как Вы это реализовали, все верно. Но начинать надо сразу от серых столбцов не С4 а В4 .
RAN, подскажи пожалуйста, а как указать путь к такого же типа книге, только по другому пути? Ибо эти два файла находяться в разных папках. И наверное не много не правильно высказал свою мысль, приношу прощение. Данные должны вставлять так как Вы это реализовали, все верно. Но начинать надо сразу от серых столбцов не С4 а В4 .Pasha
Сообщение отредактировал Pasha - Среда, 21.11.2012, 12:08