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

Страницы: 1 2 След.
Подскажите, как можно форму предварительного просмотра листа Excel перед печатью вывести кодом VBA поверх формы UserForm1 ?, Подскажите, как можно форму предварительного просмотра листа Excel перед печатью вывести кодом VBA поверх формы UserForm1 ?
 
Вопрос в принципе решил, но не знаю, оптимально это или нет.
Если перед просмотром поменять размер окна, то все работает.

Application.WindowState = xlMaximized

' Предварительный просмотр листа            
'Workbooks("Книга1").Worksheets("Лист1").PrintPreview
Application.WindowState = xlNormal
Подскажите, как можно форму предварительного просмотра листа Excel перед печатью вывести кодом VBA поверх формы UserForm1 ?, Подскажите, как можно форму предварительного просмотра листа Excel перед печатью вывести кодом VBA поверх формы UserForm1 ?
 
online, Дмитрий(The_Prist) Щербаков, все получилось как нужно, но когда открыт один файл Excel!
Cпасибо! В принципе работать можно.

p.s. из непонятного остался момент, когда открыты другие файлы Excel.
В коде явно указываю, какая книга и лист активные.
При первом просмотре перед печатью Preview,  открывается окно предварительного просмотра, которое можно закрыть только нажав крест "X"  на окне (правый верхний угол). Нет реакции ни на одну кнопку к самом окне предварительного просмотра Preview.  Окно как заблокировано!
Но если нажать ту же кнопку  просмотра на форме повторно - то закрыть окно просмотра Preview можно уже и кнопкой на форме и "X".
И после повторных просмотров в окне просмотра доступны все кнопки! (параметры страницы и другие)

В чем может быть проблемка?  Ведь кнопка просмотра запускает один и тот же код.

А когда открыт один файл Excel, такой проблемы вообще нет - можно закрыть окно просмотра с первого раза и далее как угодно.
Из наблюдения - если есть открытые файлы Excel и загружаю свой файл с формой управления, то форма становится верхней и активной, а вот
лист самого файла, которому принадлежит форма может оказаться не сразу за формой, а где-то между предыдущими файлами Exceл.
Может в этом и суть, но тогда как с этим бороться?

Код
Public Sub PrintPreview()
         Application.DisplayAlerts = False
         Application.ScreenUpdating = True
         Application.Visible = True       
        Windows("Книга1.xlsm").Activate
        Workbooks("Книга1.xlsm").Sheets("Лист1").Activate

       ' Скрываем UserForm1 перед запуском предварительного просмотра
        UserForm1.Hide              

      ' Предварительный просмотр листа      
       'Workbooks("Книга1").Worksheets("Лист1").PrintPreview
                              ' или      
       Workbooks("Книга1").Worksheets("Лист1").PrintOut Copies:=1, Preview:=True      

     ' Показываем UserForm снова после закрытия окна предпросмотра         
      UserForm1.Show
End Sub
Изменено: YGrigor18 - 12.12.2024 12:22:07
Подскажите, как можно форму предварительного просмотра листа Excel перед печатью вывести кодом VBA поверх формы UserForm1 ?, Подскажите, как можно форму предварительного просмотра листа Excel перед печатью вывести кодом VBA поверх формы UserForm1 ?
 
online,  Дмитрий(The_Prist) Щербаков,  спасибо!
потестирую оба варианта, решения вполне подходят.
Изменено: YGrigor18 - 10.12.2024 16:47:26
Подскажите, как можно форму предварительного просмотра листа Excel перед печатью вывести кодом VBA поверх формы UserForm1 ?, Подскажите, как можно форму предварительного просмотра листа Excel перед печатью вывести кодом VBA поверх формы UserForm1 ?
 
online, добрый день! красивое решение.
при выполнении кода, к сожалению, ошибка на строке:
previewOpen = Application.CommandBars("Print Preview").Visible

Ругается на "Print Preview", имя не воспринимает - требует индекс. (?)
Подскажите, как можно форму предварительного просмотра листа Excel перед печатью вывести кодом VBA поверх формы UserForm1 ?, Подскажите, как можно форму предварительного просмотра листа Excel перед печатью вывести кодом VBA поверх формы UserForm1 ?
 
online, спасибо!
так собственно пробовал, но почему то не подошло.
Но сейчас думаю, что все устраивает.

Конечно,  хотелось бы понять, как перехватить событие от "х" - закрытие окна предварительного просмотра.
Но видимо это уже другая история.
 
Изменено: YGrigor18 - 09.12.2024 22:57:08
Подскажите, как можно форму предварительного просмотра листа Excel перед печатью вывести кодом VBA поверх формы UserForm1 ?, Подскажите, как можно форму предварительного просмотра листа Excel перед печатью вывести кодом VBA поверх формы UserForm1 ?
 
Добрый день, форумчане!  
В Excel  использую форму UserForm1 и кнопки управления. UserForm1 соответственно визуализируется - UserForm1.Show
Одна из кнопок запускает Sub, которая заполняет лист и запускает перед печатью предварительный просмотр
Код
Worksheets("Лист").PrintPreview

И дело в том, что окно предварительного просмотра оказывается под формой UserForm1.
Невозможно посмотреть результат  и невозможно закрыть форму просмотра и код по сути висит.

1. Подскажите, как можно  форму предварительного просмотра листа Excell перед печатью вывести кодом VBA поверх формы UserForm1 ?
   (Ну или - как можно UserForm1 спрятать под окно  предварительного просмотра перед печатью и потом вернуть назад?)
2. Форму предварительного просмотра можно вообще-то потом закрыть,  нажав "Х".
   А как можно перехватить событие, что окно предварительного просмотра закрыто?

Спасибо за идеи и код!  
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online, добрый день!  все более менее заработало  как нужно, спасибо!
но столкнулся с  вопросом по теме группировки.
С группировкой по одному полю понятно как работает.
А как реализовать последовательную группировку по двум или трем полям последовательно?
сужая поиск (кол-во строк) после каждой группировки.
Т.е группировку по второму полю выполнять на данных не всего массива, а на данных полученных после первой группировки.
При этом, чтобы после допустим группировки по второму и третьему полю были доступны значения всех полей, е не только поля по которому делается группировка.


Сейчас мы группируем по одному полю по всей таблице (по всему массиву).
Используем массив, словарь и коллекцию и пишем в массив или в ComboBox.

Далее из  полученного списка в ComboBox выбираем опят таки одно значение и по нему ищем опять по всему массиву совпадение с выбранным значением.
А как сделать, чтобы искать уже не по всему массиву, а только по полученному списку после группировки по первому полю?
Изменено: YGrigor18 - 25.11.2024 18:21:16
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online, добрый день!  сделал следующее, в Private Sub ComboBox1_Click()  и Private Sub ComboBox2_Click() - поместил код полностью аналогичный кодам
Private Sub ComboBox1_AfterUpdate()  и Private Sub ComboBox2_AfterUpdate() - соответственно.

И все работает без нажатия Enter, а поля обновляются после выбора элемента из списка, т.е по Click()

Еще сделал  UserForm1.ComboBox1.ListIndex = 0  и  UserForm1.ComboBox2.ListIndex = 0
Чтобы в списках стоял нулевой индекс и соответственно первый элемент списка.

Не знаю насколько это супер правильно.
Ну и в этих Sub объявляются одни и те же переменные. Как минимум с этим нужно посмотреть.
Вынести их в глобальные?

И  видимо если в  ComboBox1  не будет элементов, то  UserForm1.ComboBox1.ListIndex = 0   выдаст ошибку.
И аналогично, если после выбранного элемента ComboBox1, не найдется такого в ComboBox2, то
UserForm2.ComboBox2.ListIndex = 0  также даст ошибку.
Это то, что я увидел.

Можно такой подход использовать в целом?
ну с коррекциями по переменным и проверкой существовования непустого списка в ComboBox1 и ComboBox2
Изменено: YGrigor18 - 21.11.2024 13:04:31
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online, добрый день!  
насколько понял процедуры Private Sub ComboBox1_AfterUpdate() и Private Sub ComboBox2_AfterUpdate()
нужно перенести из модуля1 в  код формы Form1, а в модуле 1 этот код удалить.
Далее в этих процедурах чуть подправил  с If array2(i, 1) = selectedGroup  на If array2(i, 2) = selectedGroup
и вроде как работает.

Сейчас это работает так:
1)  Выбираем в ComboBox1  элемент группы, например ИТ,  нажимаем Enter (без нажатия ничего не происходит)  и
    в ComboBox2  появляются номера ID, которые привязаны к ИТ.
2)  Далее переходим в ComboBox2 , выбираем нужный ID номер и опять нажимаем Enter (без нажатия ничего не происходит).
    И тогда заполняются ComboBox3, 4,5

Это почти норм, но вопрос - можно ли сделать так, чтобы обновлялись поля не по Enter, а чтобы каждый раз выбирая из списка элемент группы
(ComboBox1 ) - сразу без Enter заполнялось поле ID (ComboBox2)  ?
А выбирая в (ComboBox2)  определенный ID  - без нажатия Enter заполнялись ComboBox3, 4,5

Предположу, что можно для этого задействовать:
Private Sub ComboBox1_CLick()  и Private Sub ComboBox2_CLick()   ' ?
или может быть
Private Sub ComboBox1_Change()  и Private Sub ComboBox2_Change()  ' ?

Подскажите, плз, как это принято обычно делать.
Спасибо!
Изменено: YGrigor18 - 19.11.2024 15:46:33
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online, добрый день! поднастроил совсем немного под поля формы.
Работает в некоторыми оговорками.
По идее - выбирается элемент в ComboBox1 - из списка и в ComboBox2  вычисляется и формируется список ID.
Это и происходит. Но если выбрать другой элемент ComboBox1,  на ComboBox2  он лайн изменения нет, пока не откроешь его список.

Далее выбираем ID из списка в ComboBox2 и ничего на форме не происходит.
Все вычисляется - ComboBox3 ComboBox4  ComboBox5 , но чтобы обновилась форма (поля формы) нужно перейти на ComboBox3.

- посмотрите плз код, почему нет визуального он-лайн изменения данных.
- и концептуально используется Коллекция. А можно было это сделать на функционале Словаря, там ведь как и в Коллекции значение - ключ?
- я попробовал также использовать Filter, но пока не сделал
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online,  добрый день!  ранее не работал с коллекциями, но в целом разобрался и адаптирую код под форму.
пока, что то не так отрабатывает, и похоже нормально на выхи смогу заняться и написать, сейчас в командировке,
спасибо за помощь
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
забыл файл вложить
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online, добрый день! адаптировал код под свой тестовый пример.
Можно спросить концептуально по какому пути пойти далее?
В присоединенном файле, на форму в тестовом примере, вывел в списки ComboBox нужные поля.
Может конечно можно более сжато это сделать, но не факт.
Далее хочу сделать следующее:
1. при выборе любого значения из списка ID,  а это поле уникальное, чтобы в остальные поля подставлялись соответствующие значения из нужной строки, т.е из массива array2.
Как это сделать алгоритмически представляю. В разделе AfterUpdate поместить код: чтения UserForm1.ComboBox2.Value и искать в массиве array2 такое значение и найдя вычислить индекс и по нему уже проставить данные в другие поля ComboBox-ов.
Хотя можно и сразу, вычислять индекс элемента списка ComboBox2 на котором стоит курсор.
Код
Dim J As Integer, st As String
 J = ComboBox2.ListIndex
 If J >= 0 Then st = ComboBox2.List(J)
Это примерно правильно мыслю?

2.  далее хочу попробовать сделать выбор нужных данных по фильтрации полей Вид деятельности - Специальность -Город
    Чтобы выбирая Вид деятельности, в списках полей  - Специальность -Город  сразу пересчитывались данные  и в них оставались для выбора только данные для  выбранной Специальности.
И соответственно, если далее выбрать далее Специальность, то список поля Город также автоматически пересчитывался.
ФИО, это скорее инфо поле, оно просто покажется в итоге, когда будет выбрана позиция.

Как такое реализовать в принципе, концептуально?

На ADO по идее это вложенные SELECT c соответствующими WHERE.
Предположу, что можно использовать команду FILTER и полученные массивы на выходе прописывать в ComboBox-ы
Изменено: YGrigor18 - 08.11.2024 18:21:00
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online, огромное спасибо! изучаю, пробую и адаптирую код под свою форму и т.д., все сложнее, чем думал по сравнению с sql запросом :)  
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online, Добрый день! Прошу прощения, по теме, что обсуждали есть вопрос, можно ли его  здесь задать или нужно открывать новую тему?
В общем получить аналог кода VBA ADO
rst.Open "SELECT [Группа], count([Группа]) FROM [Лист1$]  GROUP BY' [Группа]", cnn, adOpenStatic, adLockReadOnly
и далее пишем в массив

Как в посте #10  дописать строки, чтобы сгруппировать данные по колонке Группа?
Чтобы получить список групп в колонке Группа и кол-во строк в каждой группе и записать в массив
Попробовал так, но не видно результата.

Sub Group()Dim ws As Worksheet
Set ws = ActiveWorkbook.Sheets("Лист11")
   ws.Range("A1:A100").Group
End Sub
Изменено: YGrigor18 - 07.11.2024 21:27:40
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online, решение с rst.RecordCount  красивое! применил, все работает как надо!
Спасибо за все рекомендации, рабочий и аккуратный код, это очень помогло и  прояснились на текущий момент узкие места в алгоритме.
Пробую реализовать!
Изменено: YGrigor18 - 01.11.2024 14:49:01
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online, понятно.
попробую реализовать оба варианта с ADO и только с объектами Excel.
1.Насколько понимаю, проще в обоих вариантах сначала таблицу с листа закачать в массив и с ним далее работать.
например, отбирать определенные данные из массива и отображать в разных ComBox на форме.

2. а можно изначально в самом листе изначально данные искать в таблице и их грузить в массив и отображать в ComboBox
   По мне, так вариант1 предпочтительнее.

3. Краткий вопрос . В посте #1 и #2  в ADO  VBA варианте некорректно работает rst.RecordCount, показывает -1, хотя запрос не пустой и он пишется в массив.
   Как подсказали, что это из-за присоединенного внешнего файла источника.
   Но как тогда посчитать кол-ко записей ? Или хотя бы понимать, что запрос не пустой, ибо если пустой,  то array1 = rst.GetRows() выдаст ошибку.
   Пытался считать через IF Exist ("SELECT [Наименование], [Марка] FROM [Лист1$] WHERE [Артикул] = 'RG58'"), но здесь синтаксис не прокатывает.
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online, теперь конечно  все на своих местах ! Спасибо!
Уже применяю полученную информацию !  
Код
Private Sub TextBox1_Change()   
    ' Если нужно обрабатывать изменение текста
    ' Например, возможно, вы хотите просто обновить ComboBox здесь.
End Sub

Что вы подразумеваете под просто обновить ComboBox ?  
Прописать в ComboBox1.Value какое то значение или обновить весь список значений  через UserForm1.ComboBox1.AddItem  
или ComboBox1.Update ? (Но такой  команды похоже , увы нет)
 
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online,   спасибо за помощь!
попробовал реализовать на своем примере, не получилось передать значения массива в другие Sub
пишу на вашем примере, сделал так:
Код
Option Explicit

   Dim ws As Worksheet
   Dim rng As Range
   Dim array1 As Variant
   Dim i As Long
   Dim result As String

Public Sub GetDataFromActiveWorkbook()    Dim ws As Worksheet   Dim rng As Range
  
   ' Проверяем, есть ли открытая книга
   If Application.Workbooks.Count = 0 Then
       MsgBox "Нет открытых книг Excel"
       Exit Sub
   End If


   ' Устанавливаем активный лист (или вы можете указать конкретный лист)
   Set ws = ActiveWorkbook.Sheets("Лист1")
   
   ' Указываем диапазон: замените A1:C10 на нужный вам диапазон
   Set rng = ws.Range("A1:C10")
   
   ' Получаем данные в массив
   array1 = rng.Value
   
   ' Выводим данные (пример), чтобы показать результат
   For i = LBound(array1, 1) To UBound(array1, 1)
       result = result & array1(i, 1) & " " & array1(i, 2) & vbNewLine
   Next i


   ' Показываем результат в сообщении
   MsgBox result


   ' Освобождаем ресурсы
   Set rng = Nothing
   Set ws = Nothing
End Sub

Создал форму, нарисовал два поля и пытаюсь передать значения Result  и Array(1,1)
Result передается пустым.
Array(1,1) -  пишет, что не определен
Код
Public Sub UserForm_Initialize()
   Application.Visible = True
   Call GetDataFromActiveWorkbook
End Sub

Код
Private Sub TextBox1_Change()
        UserForm1.TextBox1.Value = result
        UserForm1.ComboBox1.Value = array1(1, 1)
End Sub

Что не так?
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
online,  спасибо, идею понял, буду адаптировать код под свою задачу и форму.
Если диапазон динамический, попробовал этот диапазон объявить "умной таблицей",
через Ctrl+T и обращаться к этой таблице, например, Таблица 1.

и тогда вместо    Set rng = ws.Range("A1:C10")
можно написать  Set rng = ws.Range("Таблица1")  
При увеличении или уменьшении Таблицы 1, все подстраивается автоматически и корректно работает.

 
2.   ' Получаем данные в массив
       array1 = rng.Value
Будут ли доступны данные массива в другой Sub ?
Дело в том, что потом то данные выведутся в те же ComboBox на форме и  там уже к форме привязываются свои Sub (Change, Click, AfterUpdate).
Для отбора, фильтрации и т.д.
Будет ли виден массив array1 в перечисленных Sub ?  Если нет , то как это сделать?
Иначе придется плодить массивы, основанные на одних и тех же данных.
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
Online,   спасибо, ваш код более корректен и расшифрован.
я написал часть кода.
Вопрос в том, что в коде строка соединения содержит путь к файлу.
Но находясь в самом открытом файле Test.xlsm, ссылаюсь на него и соединяюсь как в внешнему!

Как итог, если вывести кол-во строк после выполнения запроса, то будет  -1.
MsgBox(rst.RecordCount)
Хотя результат запроса не нулевой, там есть строки и данные заносятся в массив array1
Возможно, что это из-за прилинкованного файла? (идею подсказали на форуме)

В тогда вопрос - как написать соединение не к эксель файлу по его пути, а соединение к открытой Эксель книге (листу) или диапазону ячеек листа???
Подскажите по синтаксису строк соединения c файлом Excel в ADO
 
Код
Public Sub Conn () 
Set Cnn= New ADODB.Connection
       Cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Test\Test.xlsm;" & _
       "Extended Properties=Excel 12.0; xml;"
        Cnn.Open
       
       strQuery = "select Наименование, Марка  FROM [Лист1$] Where Артикул  =  ""RG58"""   
       Set rst = cnn.Execute(strQuery)    
       array1 = rst.GetRows()                
End
Изменено: YGrigor18 - 31.10.2024 09:26:50
Как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?, как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?
 
Kuzmich, добрый день!
подпрограмма, что-то не заработала в таком виде и не добирается до  кода Cells(n, "B") = iSumma
соответственно , ничего и не записывается в ячейки.

может проще поступить?  и использовать If Cells(i + 1, "A") <> "" Then
или  If Not IsEmpty(Cells(i, "A")) Then , но после проверки на наличие цвета в ячейке.

Код ниже работает...

Код
Sub Sub Get_Kol_iRow()Dim i As LongDim iLastRow As LongDim iSummaDim iColIndex As LongDim n As IntegeriLastRow = Cells(Rows.Count, "A").End(xlUp).RowiColIndex = Cells(4, "A").Interior.ColorIndex      iSumma = 0      n = 1  For i = 1 To iLastRow    If Cells(i + 1, "A").Interior.ColorIndex <> iColIndex Then      If Cells(i + 1, "A") <> "" Then         iSumma = iSumma + 1      End If    Else      Cells(n, "D") = iSumma      iSumma = 0      n = i + 1    End If  Next MsgBox ("Выполнено")

Код
End Sub 
Как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?, как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?
 
Ігор Гончаренко, добрый день!  
насчет - у вас в примере в группах ячеек все В и С пустые - результат везде 0.....
я с примера перешел в рабочий файл, который содержит более 10 000 строк и море колонок.
и работаю сразу с ним, поэтому появились колонки B и С ....
Как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?, как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?
 
Ігор Гончаренко,  ваша логика понятна. думаю, что можно упростить, если считать непустые строки целиком, а проверять строку вместе с колонкой, например, если в строке N,  колонка В и С пустые, то далее можно и не проверять.
Тогда все проще получается.  
Как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?, как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?
 
Ігор Гончаренко, добрый день!  Спасибо!  Все считает и красиво работает.
Подскажите, как в этом методе не считать пустые строчки , которые есть столбце, практически в каждой группе?
Как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?, как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?
 
Kuzmich, добрый день!  спасибо, код работает, все считает правильно.
Внес небольшую коррекцию кода, так как в столбце оказались пустые строки, которые считать не нужно.
Видимо из-за пустой строки и не считалось ко-во строк в самом конце файла. (последняя группа между двумя "цветными ячейками")

-------------------
пустая строка
Итого
 
Как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?, как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?
 
Цитата
написал:
Вариант решения без макроса.
Делаем фильтр по цветку заливки. Ставим в соседнем столбец 1 и протягиваем вниз. В итоге рядом с каждой серой ячейкой будет стоять единичка. Добавляем еще один столбец и рядом с первой единичкой ставим формулу ПОИСКПОЗ с плавающим началом (см. файл). Она и выводит количество строк. Также делаем фильтр по серым ячейкам или единичкам и протягиваем эту формулу вниз.Алексей Ш
Цитата
написал:
Вариант решения без макроса.
Делаем фильтр по цветку заливки. Ставим в соседнем столбец 1 и протягиваем вниз. В итоге рядом с каждой серой ячейкой будет стоять единичка. Добавляем еще один столбец и рядом с первой единичкой ставим формулу ПОИСКПОЗ с плавающим началом (см. файл). Она и выводит количество строк. Также делаем фильтр по серым ячейкам или единичкам и протягиваем эту формулу вниз.
=ПОИСКПОЗ(1;B5:B13892;0)-1   - в реальном фале выдает  Н/Д
Как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?, как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?
 
Спасибо!  Красиво!  Все работает.
Вообще файл с примером сильно упрощен,  в реальном море колонок и вставлять промежуточные столбцы будет не всегда удобно.
Поэтому придется все равно искать вариант с макросом (VBA) решением.
Как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?, как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?
 
Добрый день! Подскажите, как макросом или кодом VBA посчитать в Эксель-столбце кол-во записей(строк) между выделенными цветом строками?
В столбце ряд строк выделен серым цветом. Нужно найти эти выделенные цветом строки и посчитать между ними кол-во записей(строк).
И сумму строк записывать в "верхнюю" строку из каждой пары выделенных строк.
Как в файле примере.
Спасибо.
Страницы: 1 2 След.
Наверх