Страницы: 1
RSS
Тире до конкретной ячейки
 
Добрый день, уважаемые форумчане!  
Просьба помочь с таким вопросом.  
1) Мои макросы (Excel-VBA) выдают постранично строчки с какими-то данными по материалам (инвентаризация) и внизу на каждой странице некоторые итоги и после каждого итога надо черточки (тире)(так требует бухгалтерия)  
2) Например внизу каждой страницы надо чтобы было  
Количество номеров Двадцать шесть ----------------------  
Количество единиц фактически двадцать девять тысяч -----  
Сумма фактически сто тысяч -----------------------------  
3) Допустим по всем итоговым строчкам делать черточки до столбца G  
4) Вопрос - как рассчитать сколько делать этих черточек - до столбца G - пытался считать, но шрифты не пропорциональные и не получается поэтому ничего хорошего!  
5) Нет ли каких-то функций-операторов - просто тащить черточки от конца выражения и до столбца G?  
6) Или еще какие-то приемы?  
7) Лист с табличкой Excel прилагаю  
Игорь
 
функция ПОВТОР("-";256) даст Вам необходимое (в примере 256) количество "-".  
А рассчитывать нет смысла: вводим в столбец G пробел и строка сама оборвется.
 
Спасибо, понял!  
А не подскажете в макросе в Excel (VBA) какую функцию можно для этих целей использовать?
 
Спасибо большое!  
Вопрос - какая функция - снимаю.  
Функция эта REPT  
Все хорошо получается!  
Игорь
 
Вообще-то REPT - это Worksheet Functions, т.е. функция листа доступная в VBA. А в самом VBA:  
String(256, "-")
 
С помощью форума писал макрос по сбору в текстовую строку и расчетом пробелов, чтобы текст выглядел как таблица.  
http://www.planetaexcel.ru/forum.php?thread_id=4580  
А это кусок кода.  
'формируем итоговую строку по данным таблицы  
   For iRow = iFirstRow To iLastRow  
           'собираем ячейки каждой строки по столбцам в текстовую строку  
           For kColmn = 2 To 5  
             
           'определяем максимальную длину текста в столбце  
               iDlnStr = Evaluate("=max(len(" & Range(Cells(iFirstRow, kColmn), _  
               Cells(iLastRow, kColmn)).Address & "))")  
               
            'проверяем промежуточную строку на даные/обработка по столбцам  
            'проверяем наличие данных в первом столбце текущей строки  
            'и если нет, то заполняем пробелами/иначе значение из ячейки  
               If a = "" Then  
                   If Cells(iRow, kColmn).Value = "" Then  
                       a = WorksheetFunction.Rept(" ", iDlnStr)  
                   Else  
                       a = Cells(iRow, kColmn).Value  
                   End If  
               
             'если данные в строку уже вносились, выравниваем длину строки по макс  
             'значению в столбце  
               Else  
                   If kColmn <= 4 Then a = a & " " & Cells(iRow, kColmn).Value & WorksheetFunction.Rept(" ", iDlnStr - Len(Cells(iRow, kColmn)))  
                   If kColmn = 5 Then a = a & " " & WorksheetFunction.Rept(" ", iDlnStr - Len(Cells(iRow, kColmn))) & Cells(iRow, kColmn).Value  
                     
               End If  
           Next  
       
    'формируем построчно итоговую строку, разделяя строки знаком переноса строки  
       If UniteRange = "" Then 'если это первая строка  
           UniteRange = a 'передаем значение строк в итоговую  
           a = ""  'очищаем промежуточную строку  
       Else 'если последующие строки диапазона  
           UniteRange = UniteRange & Chr(10) & a  
           a = ""  
       End If
 
Да, Лузер, Вы совершенно правы!  
Функция действительно String в VBA, я уже разобрался.  
Спасибо Вам большое - Вы меня здорово выручили.  
Игорь.
 
{quote}{login=Игорь}{date=22.07.2008 01:23}{thema=Тире до конкретной ячейки}{post}Добрый день, уважаемые форумчане!  
Просьба помочь с таким вопросом.  
1) Мои макросы (Excel-VBA) выдают постранично строчки с какими-то данными по материалам (инвентаризация) и внизу на каждой странице некоторые итоги и после каждого итога надо черточки (тире)(так требует бухгалтерия)  
2) Например внизу каждой страницы надо чтобы было  
Количество номеров Двадцать шесть ----------------------  
Количество единиц фактически двадцать девять тысяч -----  
Сумма фактически сто тысяч -----------------------------  
3) Допустим по всем итоговым строчкам делать черточки до столбца G  
4) Вопрос - как рассчитать сколько делать этих черточек - до столбца G - пытался считать, но шрифты не пропорциональные и не получается поэтому ничего хорошего!  
5) Нет ли каких-то функций-операторов - просто тащить черточки от конца выражения и до столбца G?  
6) Или еще какие-то приемы?  
7) Лист с табличкой Excel прилагаю  
Игорь{/post}{/quote}
 
А ещё можно объединить ячейки, установить перенос по словам, вручную установить высоту строки. Пробел в таком случае в соседней ячейке будет не нужен.
 
Пользовательский формат:  
Основной*-;Основной*-;Основной*-;Основной*-
 
{quote}{login=DV}{date=03.12.2009 05:45}{thema=}{post}Пользовательский формат:  
Основной*-;Основной*-;Основной*-;Основной*-{/post}{/quote}  
Откройте секрет, по какому алгоритму можно создать такой формат.  
С уважением, Александр.
Страницы: 1
Читают тему
Наверх