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

Вход

Регистрация

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

 

= Мир MS Excel/Работа в Excel с большими по объему текстами - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Работа в Excel с большими по объему текстами (Формулы/Formulas)
Работа в Excel с большими по объему текстами
Roman1 Дата: Воскресенье, 02.04.2017, 22:55 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте! Есть необходимость создания программ для оборудования с числовым программным управлением в excel.
Смысл в такой: я в Excel создал шаблон программы. В этой программе есть подпрограммы. Каждая подпрограмма это текстовый файл большого размера, расположенный в определенной папке. Excel к сожалению не может свободно работать с большими текстами. Здесь планируется использовать, либо ссылку на эти подпрограммы, либо некую функцию копируя текст каждой подпрограммы не загружая его в ексель. После необходимо сохранить все в обычном формате txt.
По факту, как я делаю все это сейчас: создаю шаблон в excel (он от каждой новой задачи будет новый), копирую все это дело в обычный блокнот виндоус, открываю вторым блокнотом файл подпрогаммы, копирую там все, вставляю в первый блокнот. И так далее. Когда таких подпрограмм, скажем до 5 это еще терпимо, но когда их 20, 30, 50, тут уже велик шанс ошибиться. Да и вообще это муторно делать в блокноте.
Конечный результат файла программы может быть легко и 50 мб и 80 мб. Обычный блокнот с этим справляется шутя, а вот ексель задумывается и не разбудишь. Есть ли возможность как то использовать Excel для данного дела?
Прикладываю скан рабочего стола:
 
Ответить
СообщениеЗдравствуйте! Есть необходимость создания программ для оборудования с числовым программным управлением в excel.
Смысл в такой: я в Excel создал шаблон программы. В этой программе есть подпрограммы. Каждая подпрограмма это текстовый файл большого размера, расположенный в определенной папке. Excel к сожалению не может свободно работать с большими текстами. Здесь планируется использовать, либо ссылку на эти подпрограммы, либо некую функцию копируя текст каждой подпрограммы не загружая его в ексель. После необходимо сохранить все в обычном формате txt.
По факту, как я делаю все это сейчас: создаю шаблон в excel (он от каждой новой задачи будет новый), копирую все это дело в обычный блокнот виндоус, открываю вторым блокнотом файл подпрогаммы, копирую там все, вставляю в первый блокнот. И так далее. Когда таких подпрограмм, скажем до 5 это еще терпимо, но когда их 20, 30, 50, тут уже велик шанс ошибиться. Да и вообще это муторно делать в блокноте.
Конечный результат файла программы может быть легко и 50 мб и 80 мб. Обычный блокнот с этим справляется шутя, а вот ексель задумывается и не разбудишь. Есть ли возможность как то использовать Excel для данного дела?
Прикладываю скан рабочего стола:

Автор - Roman1
Дата добавления - 02.04.2017 в 22:55
SLAVICK Дата: Понедельник, 03.04.2017, 09:11 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Excel к сожалению не может свободно работать с большими текстами.

Это смотря как вы ему этот текст "подсовываете".
Можно считывать макросом построчно - тогда все норм. читается.
Если
Обычный блокнот с этим справляется шутя,

тем более если
копирую ... в обычный блокнот виндоус,..., копирую ... вставляю в первый блокнот.

то excel справится и подавно - у меня текстовые файлы весили за 300мб - там блокнот умирал, можно было открыть только Notepad ++. Excel даже не подумал виснуть :D .
Суть работы.
Открыть главный файл для записи.
потом открывать поочередно все файлы, которые нужно собрать - обрабатываете и записываете и закрываете их.
закрыть файл для записи
Размер значения не имеет. (По крайней мере я в потолок не уперся)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Excel к сожалению не может свободно работать с большими текстами.

Это смотря как вы ему этот текст "подсовываете".
Можно считывать макросом построчно - тогда все норм. читается.
Если
Обычный блокнот с этим справляется шутя,

тем более если
копирую ... в обычный блокнот виндоус,..., копирую ... вставляю в первый блокнот.

то excel справится и подавно - у меня текстовые файлы весили за 300мб - там блокнот умирал, можно было открыть только Notepad ++. Excel даже не подумал виснуть :D .
Суть работы.
Открыть главный файл для записи.
потом открывать поочередно все файлы, которые нужно собрать - обрабатываете и записываете и закрываете их.
закрыть файл для записи
Размер значения не имеет. (По крайней мере я в потолок не уперся)

Автор - SLAVICK
Дата добавления - 03.04.2017 в 09:11
Roman1 Дата: Понедельник, 03.04.2017, 18:57 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо за ответ!

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

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

Автор - Roman1
Дата добавления - 03.04.2017 в 18:57
SLAVICK Дата: Понедельник, 03.04.2017, 22:13 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
есть ли такая возможность:

Догадываюсь(поскольку живых примеров нет), что есть. Почитайте для старта тут и тут. Если не выйдет - готовьте живые примеры, с пояснениями что куда и зачем.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
есть ли такая возможность:

Догадываюсь(поскольку живых примеров нет), что есть. Почитайте для старта тут и тут. Если не выйдет - готовьте живые примеры, с пояснениями что куда и зачем.

Автор - SLAVICK
Дата добавления - 03.04.2017 в 22:13
Roman1 Дата: Суббота, 15.04.2017, 17:33 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
К сожалению, ссылки не помогли. Выкладываю пример в папке с пояснениями. Главная загвоздка не в сохранении в txt, а в "вытаскивание" информации из файлов, которые в ексель-файле даны гиперссылками. Спасибо!
К сообщению приложен файл: _1001.rar (8.4 Kb)
 
Ответить
СообщениеК сожалению, ссылки не помогли. Выкладываю пример в папке с пояснениями. Главная загвоздка не в сохранении в txt, а в "вытаскивание" информации из файлов, которые в ексель-файле даны гиперссылками. Спасибо!

Автор - Roman1
Дата добавления - 15.04.2017 в 17:33
Udik Дата: Суббота, 15.04.2017, 21:46 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Чет на какой-то глюк наткнулся при считывании 1 файла, первая строка получается яюG0Z50.000. Откуда яю берётся непонятно.
[vba]
Код

Option Explicit

Public Sub test()
Dim str1 As String

str1 = "Подпрограмма 1.nc"
str1 = ThisWorkbook.Path & "/" & str1
Open str1 For Input As #2
Line Input #2, str1
Debug.Print str1
Close #2
End Sub
[/vba]
Остальное нормально отрабатывает :)
К сообщению приложен файл: _1.nc (0.4 Kb)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Суббота, 15.04.2017, 21:50
 
Ответить
СообщениеЧет на какой-то глюк наткнулся при считывании 1 файла, первая строка получается яюG0Z50.000. Откуда яю берётся непонятно.
[vba]
Код

Option Explicit

Public Sub test()
Dim str1 As String

str1 = "Подпрограмма 1.nc"
str1 = ThisWorkbook.Path & "/" & str1
Open str1 For Input As #2
Line Input #2, str1
Debug.Print str1
Close #2
End Sub
[/vba]
Остальное нормально отрабатывает :)

Автор - Udik
Дата добавления - 15.04.2017 в 21:46
Udik Дата: Воскресенье, 16.04.2017, 14:19 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Разобрался с глюком. Файл в кодировке UCS-2 Little Endian, перевел в ANSI и всё стало нормально. Чуток код изменил
[vba]
Код

Option Explicit

Const NOTHYP As String = "В ячейке нет гиперссылки!"

Private Function getHyperlinkAddress(ByVal rCell As Range) As String
    Dim S As String
    If rCell.Hyperlinks.Count = 0 Then
        If Mid$(rCell.Formula, 2, 9) = "HYPERLINK" Then
            getHyperlinkAddress = Mid$(rCell.Formula, 13, InStr(13, rCell.Formula, Chr(34)) - 13)
        Else
            getHyperlinkAddress = NOTHYP
        End If
    Else
        S = rCell.Hyperlinks(1).SubAddress
        If S <> "" Then S = "#" & rCell.Hyperlinks(1).SubAddress
        getHyperlinkAddress = rCell.Hyperlinks(rCell.Hyperlinks.Count).Address & S
    End If
End Function

''===

Public Sub main()
Dim rowLast As Long, i&
Dim str1 As String
Const outFile As String = "resultat.nc"

  str1 = ThisWorkbook.Path & "/" & outFile
  Open str1 For Output As #1
  rowLast = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
  With ThisWorkbook.ActiveSheet
  For i = 1 To rowLast
  str1 = getHyperlinkAddress(ActiveSheet.Range("A" & i))

  If str1 <> NOTHYP Then
  str1 = ThisWorkbook.Path & "/" & str1
  If Dir(str1) = "" Then
    Close #1
    MsgBox "Не найден файл " & str1 & ". Макрос остановлен", 48, "Файл отсутствует "
    Exit Sub
  End If
   Open str1 For Input As #2
    Do While Not EOF(2)
      Line Input #2, str1
      If Not EOF(2) Then Print #1, str1
    Loop
    Close #2
  Else
    str1 = .Cells(i, 1).Value
    If .Cells(i, 2).Value <> "" Then
    str1 = str1 & vbTab & .Cells(i, 2).Value
    If .Cells(i, 3).Value <> "" Then
    str1 = str1 & vbTab & .Cells(i, 3).Value
    End If
    End If
    Print #1, str1
  End If
  Next i
  End With
  Close #1
End Sub

[/vba]
К сообщению приложен файл: 0t.xlsm (27.5 Kb)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеРазобрался с глюком. Файл в кодировке UCS-2 Little Endian, перевел в ANSI и всё стало нормально. Чуток код изменил
[vba]
Код

Option Explicit

Const NOTHYP As String = "В ячейке нет гиперссылки!"

Private Function getHyperlinkAddress(ByVal rCell As Range) As String
    Dim S As String
    If rCell.Hyperlinks.Count = 0 Then
        If Mid$(rCell.Formula, 2, 9) = "HYPERLINK" Then
            getHyperlinkAddress = Mid$(rCell.Formula, 13, InStr(13, rCell.Formula, Chr(34)) - 13)
        Else
            getHyperlinkAddress = NOTHYP
        End If
    Else
        S = rCell.Hyperlinks(1).SubAddress
        If S <> "" Then S = "#" & rCell.Hyperlinks(1).SubAddress
        getHyperlinkAddress = rCell.Hyperlinks(rCell.Hyperlinks.Count).Address & S
    End If
End Function

''===

Public Sub main()
Dim rowLast As Long, i&
Dim str1 As String
Const outFile As String = "resultat.nc"

  str1 = ThisWorkbook.Path & "/" & outFile
  Open str1 For Output As #1
  rowLast = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
  With ThisWorkbook.ActiveSheet
  For i = 1 To rowLast
  str1 = getHyperlinkAddress(ActiveSheet.Range("A" & i))

  If str1 <> NOTHYP Then
  str1 = ThisWorkbook.Path & "/" & str1
  If Dir(str1) = "" Then
    Close #1
    MsgBox "Не найден файл " & str1 & ". Макрос остановлен", 48, "Файл отсутствует "
    Exit Sub
  End If
   Open str1 For Input As #2
    Do While Not EOF(2)
      Line Input #2, str1
      If Not EOF(2) Then Print #1, str1
    Loop
    Close #2
  Else
    str1 = .Cells(i, 1).Value
    If .Cells(i, 2).Value <> "" Then
    str1 = str1 & vbTab & .Cells(i, 2).Value
    If .Cells(i, 3).Value <> "" Then
    str1 = str1 & vbTab & .Cells(i, 3).Value
    End If
    End If
    Print #1, str1
  End If
  Next i
  End With
  Close #1
End Sub

[/vba]

Автор - Udik
Дата добавления - 16.04.2017 в 14:19
Roman1 Дата: Воскресенье, 16.04.2017, 17:28 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Udik, я просто в восторге от Вас! Спасибо большущее!!!
Опробовал на данном примере, сейчас займусь на больших файлах пробовать.

Еще раз спасибо!
 
Ответить
СообщениеUdik, я просто в восторге от Вас! Спасибо большущее!!!
Опробовал на данном примере, сейчас займусь на больших файлах пробовать.

Еще раз спасибо!

Автор - Roman1
Дата добавления - 16.04.2017 в 17:28
Roman1 Дата: Воскресенье, 16.04.2017, 18:31 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

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

Вторая проблема: Все работает на ура, когда все подпрограммы находятся в той же папке, что и ексель файл. Пробую вставлять гиперссылки на подпрограммы с их правильного местонахождения - ошибка.
И работает все только когда название файла "Подпрограмма ...". Возможно сделать произвольное название? Информацию брать с файла с гиперссылки из любого места на диске и с произвольным названием файла?

В макросах не силен, не могу понять что не так (работаю по мелочи с макросами, без них никуда, но тут все новые функции для меня).

Спасибо!


Сообщение отредактировал Roman1 - Воскресенье, 16.04.2017, 18:34
 
Ответить
СообщениеПротестировал на рабочих делах с большими файлами. Столкнулся с первой проблемой: Почему с подпрограмм не выводит последнюю строчку. Пробовал в разных вариациях. Это забавно, т.к. мне последнии две строчки и не нужны, т.к. они отключают вращение шпинделя. Но хотелось бы понять из-за чего это и как тогда убрать и предпоследнюю строчку (раз уж коснулись этого вопроса, как убрать и первую строку, она отвечает за начало программы).

Вторая проблема: Все работает на ура, когда все подпрограммы находятся в той же папке, что и ексель файл. Пробую вставлять гиперссылки на подпрограммы с их правильного местонахождения - ошибка.
И работает все только когда название файла "Подпрограмма ...". Возможно сделать произвольное название? Информацию брать с файла с гиперссылки из любого места на диске и с произвольным названием файла?

В макросах не силен, не могу понять что не так (работаю по мелочи с макросами, без них никуда, но тут все новые функции для меня).

Спасибо!

Автор - Roman1
Дата добавления - 16.04.2017 в 18:31
Udik Дата: Воскресенье, 16.04.2017, 19:07 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Почему с подпрограмм не выводит последнюю строчку


скорее всего из-за
[vba]
Код

If Not EOF(2) Then Print #1, str1
[/vba]
если последняя значащая строка заканчивается EOF, то она обрежется. Можно добавить пустую строку, либо код подправить :)
се работает на ура, когда все подпрограммы находятся в той же папке

Хы, я именно на это и расчитывал. К имени файла добавляется путь к текущей папке, поэтому ерунда выходит когда файл в другой. Посмотрю что можно сделать.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
Сообщение
Почему с подпрограмм не выводит последнюю строчку


скорее всего из-за
[vba]
Код

If Not EOF(2) Then Print #1, str1
[/vba]
если последняя значащая строка заканчивается EOF, то она обрежется. Можно добавить пустую строку, либо код подправить :)
се работает на ура, когда все подпрограммы находятся в той же папке

Хы, я именно на это и расчитывал. К имени файла добавляется путь к текущей папке, поэтому ерунда выходит когда файл в другой. Посмотрю что можно сделать.

Автор - Udik
Дата добавления - 16.04.2017 в 19:07
Udik Дата: Воскресенье, 16.04.2017, 19:35 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Исправленный вариант
[vba]
Код

Option Explicit

Const NOTHYP As String = "В ячейке нет гиперссылки!"

Private Function getHyperlinkAddress(ByVal rCell As Range) As String
    Dim S As String
    If rCell.Hyperlinks.Count = 0 Then
        If Mid$(rCell.Formula, 2, 9) = "HYPERLINK" Then
            getHyperlinkAddress = Mid$(rCell.Formula, 13, InStr(13, rCell.Formula, Chr(34)) - 13)
        Else
            getHyperlinkAddress = NOTHYP
        End If
    Else
        S = rCell.Hyperlinks(1).SubAddress
        If S <> "" Then S = "#" & rCell.Hyperlinks(1).SubAddress
        getHyperlinkAddress = rCell.Hyperlinks(rCell.Hyperlinks.Count).Address & S
    End If
End Function

''===

Public Sub main()
Dim rowLast As Long, i&
Dim str1 As String
Const outFile As String = "resultat.nc"

  str1 = ThisWorkbook.Path & "/" & outFile
  Open str1 For Output As #1
  rowLast = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
  With ThisWorkbook.ActiveSheet
  For i = 1 To rowLast
  str1 = getHyperlinkAddress(ActiveSheet.Range("A" & i))

  If str1 <> NOTHYP Then
  If InStr(str1, ":\") = 0 Then
  str1 = ThisWorkbook.Path & "/" & str1
  End If
  If Dir(str1) = "" Then
    Close #1
    MsgBox "Не найден файл " & str1 & ". Макрос остановлен", 48, "Файл отсутствует "
    Exit Sub
  End If
   Open str1 For Input As #2
    Do While Not EOF(2)
      Line Input #2, str1
      If (str1 = "") And (EOF(2)) Then
      Else
      Print #1, str1
      End If
    Loop
    Close #2
  Else
    str1 = .Cells(i, 1).Value
    If .Cells(i, 2).Value <> "" Then
    str1 = str1 & vbTab & .Cells(i, 2).Value
    If .Cells(i, 3).Value <> "" Then
    str1 = str1 & vbTab & .Cells(i, 3).Value
    End If
    End If
    Print #1, str1
  End If
  Next i
  End With
  Close #1
End Sub

[/vba]
К сообщению приложен файл: 1221087.xlsm (25.9 Kb)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеИсправленный вариант
[vba]
Код

Option Explicit

Const NOTHYP As String = "В ячейке нет гиперссылки!"

Private Function getHyperlinkAddress(ByVal rCell As Range) As String
    Dim S As String
    If rCell.Hyperlinks.Count = 0 Then
        If Mid$(rCell.Formula, 2, 9) = "HYPERLINK" Then
            getHyperlinkAddress = Mid$(rCell.Formula, 13, InStr(13, rCell.Formula, Chr(34)) - 13)
        Else
            getHyperlinkAddress = NOTHYP
        End If
    Else
        S = rCell.Hyperlinks(1).SubAddress
        If S <> "" Then S = "#" & rCell.Hyperlinks(1).SubAddress
        getHyperlinkAddress = rCell.Hyperlinks(rCell.Hyperlinks.Count).Address & S
    End If
End Function

''===

Public Sub main()
Dim rowLast As Long, i&
Dim str1 As String
Const outFile As String = "resultat.nc"

  str1 = ThisWorkbook.Path & "/" & outFile
  Open str1 For Output As #1
  rowLast = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
  With ThisWorkbook.ActiveSheet
  For i = 1 To rowLast
  str1 = getHyperlinkAddress(ActiveSheet.Range("A" & i))

  If str1 <> NOTHYP Then
  If InStr(str1, ":\") = 0 Then
  str1 = ThisWorkbook.Path & "/" & str1
  End If
  If Dir(str1) = "" Then
    Close #1
    MsgBox "Не найден файл " & str1 & ". Макрос остановлен", 48, "Файл отсутствует "
    Exit Sub
  End If
   Open str1 For Input As #2
    Do While Not EOF(2)
      Line Input #2, str1
      If (str1 = "") And (EOF(2)) Then
      Else
      Print #1, str1
      End If
    Loop
    Close #2
  Else
    str1 = .Cells(i, 1).Value
    If .Cells(i, 2).Value <> "" Then
    str1 = str1 & vbTab & .Cells(i, 2).Value
    If .Cells(i, 3).Value <> "" Then
    str1 = str1 & vbTab & .Cells(i, 3).Value
    End If
    End If
    Print #1, str1
  End If
  Next i
  End With
  Close #1
End Sub

[/vba]

Автор - Udik
Дата добавления - 16.04.2017 в 19:35
Roman1 Дата: Воскресенье, 16.04.2017, 20:09 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Все работает!

СПАСИБО!!!
 
Ответить
СообщениеВсе работает!

СПАСИБО!!!

Автор - Roman1
Дата добавления - 16.04.2017 в 20:09
Roman1 Дата: Воскресенье, 16.04.2017, 20:23 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
А есть ли возможность добавить диапазон работы данного макроса? Это необходимо для внедрения макроса в уже существующий файл эксель, т.к. на этом же файле много других необходимых данных для автоматической генерации координат и их нет возможности перенести на другой лист.
 
Ответить
СообщениеА есть ли возможность добавить диапазон работы данного макроса? Это необходимо для внедрения макроса в уже существующий файл эксель, т.к. на этом же файле много других необходимых данных для автоматической генерации координат и их нет возможности перенести на другой лист.

Автор - Roman1
Дата добавления - 16.04.2017 в 20:23
Udik Дата: Воскресенье, 16.04.2017, 21:11 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Э, макрос работает с активным листом книги макроса, с 3-я первыми столбцами. Можете в любой лист поместить "программу".


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеЭ, макрос работает с активным листом книги макроса, с 3-я первыми столбцами. Можете в любой лист поместить "программу".

Автор - Udik
Дата добавления - 16.04.2017 в 21:11
Roman1 Дата: Вторник, 18.04.2017, 20:16 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Udik, Спасибо еще раз огромное за помощь! Я сейчас сильно продвинулся в этом направлении (написании управляющих программ). Осталось несколько вопросов, которые я к сожалению не могу сам решить (пробовал по разному, не вышло):
1. В оригинале файла не три столбца, а пять. Не получилось изменить макрос на обработку пяти первых столбцов;
2. Есть ли все же возможность ограничить диапазон работы макроса? В моем конкретном случае используется диапазон: D1:H500.
3. Есть ли возможность удаления двух последних строк в каждой подгружаемой подпрограммы с гиперссылки. Это нужно, т.к. последнии две строки отвечают за отключение шпинделя, а это разумеется не нужно.

Спасибо!
 
Ответить
СообщениеUdik, Спасибо еще раз огромное за помощь! Я сейчас сильно продвинулся в этом направлении (написании управляющих программ). Осталось несколько вопросов, которые я к сожалению не могу сам решить (пробовал по разному, не вышло):
1. В оригинале файла не три столбца, а пять. Не получилось изменить макрос на обработку пяти первых столбцов;
2. Есть ли все же возможность ограничить диапазон работы макроса? В моем конкретном случае используется диапазон: D1:H500.
3. Есть ли возможность удаления двух последних строк в каждой подгружаемой подпрограммы с гиперссылки. Это нужно, т.к. последнии две строки отвечают за отключение шпинделя, а это разумеется не нужно.

Спасибо!

Автор - Roman1
Дата добавления - 18.04.2017 в 20:16
Udik Дата: Вторник, 18.04.2017, 21:08 | Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Есть ли все же возможность ограничить диапазон работы макроса?

Мне лень переделывать :)
Есть ли возможность удаления двух последних строк в каждой подгружаемой подпрограммы с гиперссылки

Если строки одинаковые, то можно просто проверку добавить и пропускать ненужные.
==
Посмотрел сейчас файлики подпрограмм - везде последние строки разные. Или эти файлики тоже не совсем рабочие?


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Вторник, 18.04.2017, 21:15
 
Ответить
Сообщение
Есть ли все же возможность ограничить диапазон работы макроса?

Мне лень переделывать :)
Есть ли возможность удаления двух последних строк в каждой подгружаемой подпрограммы с гиперссылки

Если строки одинаковые, то можно просто проверку добавить и пропускать ненужные.
==
Посмотрел сейчас файлики подпрограмм - везде последние строки разные. Или эти файлики тоже не совсем рабочие?

Автор - Udik
Дата добавления - 18.04.2017 в 21:08
Roman1 Дата: Суббота, 22.04.2017, 10:20 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Если строки одинаковые, то можно просто проверку добавить и пропускать ненужные

Да строки одинаковые это:
M05
M30
и начало программы:
%
Посмотрел сейчас файлики подпрограмм - везде последние строки разные. Или эти файлики тоже не совсем рабочие?

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

Ну, пожалуйста!!! yes :)
 
Ответить
Сообщение
Если строки одинаковые, то можно просто проверку добавить и пропускать ненужные

Да строки одинаковые это:
M05
M30
и начало программы:
%
Посмотрел сейчас файлики подпрограмм - везде последние строки разные. Или эти файлики тоже не совсем рабочие?

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

Ну, пожалуйста!!! yes :)

Автор - Roman1
Дата добавления - 22.04.2017 в 10:20
Udik Дата: Суббота, 22.04.2017, 12:32 | Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Мне пока некогда


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеМне пока некогда

Автор - Udik
Дата добавления - 22.04.2017 в 12:32
Udik Дата: Воскресенье, 23.04.2017, 16:35 | Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Вот подрихтовал код

Надеюсь строки
M05
M30
в середине подпрограмм не встречаются, а то сюрприз будет :)
К сообщению приложен файл: 8116748.xlsm (26.6 Kb)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Воскресенье, 23.04.2017, 16:40
 
Ответить
СообщениеВот подрихтовал код

Надеюсь строки
M05
M30
в середине подпрограмм не встречаются, а то сюрприз будет :)

Автор - Udik
Дата добавления - 23.04.2017 в 16:35
Roman1 Дата: Суббота, 29.04.2017, 20:32 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Это просто невероятно! Спасибо огромное, вы Мастер!

Столкнулся с двумя проблемами:
1. Почему то "%" не убирает с подпрограмм, хотя в коде это прописано. М05 и М30 убирает.
2. Макрос почему то считывает и скрытые строки. В моем рабочем файле множество строк, которые редко используются, я их скрываю другим макросом, банально в столбце А на всех строках есть соответсвующий символ +/-. Минус разумеется не отображает всю строку (скрывает). Есть ли возможность не считывать скрытые строки? Если нет такой возможности, то не считывать строки, где в столбце А "-".

Извините за назойливость, но Победа близка!
Спасибо еще раз Вам огромное!
 
Ответить
СообщениеЭто просто невероятно! Спасибо огромное, вы Мастер!

Столкнулся с двумя проблемами:
1. Почему то "%" не убирает с подпрограмм, хотя в коде это прописано. М05 и М30 убирает.
2. Макрос почему то считывает и скрытые строки. В моем рабочем файле множество строк, которые редко используются, я их скрываю другим макросом, банально в столбце А на всех строках есть соответсвующий символ +/-. Минус разумеется не отображает всю строку (скрывает). Есть ли возможность не считывать скрытые строки? Если нет такой возможности, то не считывать строки, где в столбце А "-".

Извините за назойливость, но Победа близка!
Спасибо еще раз Вам огромное!

Автор - Roman1
Дата добавления - 29.04.2017 в 20:32
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Работа в Excel с большими по объему текстами (Формулы/Formulas)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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