Страницы: 1
RSS
InputBox с отображением количества строк в таблице
 
Добрый день.
Задача - здоровые массивы рубать на более мелкие части.
Количество строк в исходной каждый раз разное.
Количество срок в "нарезке" задается оператором.
Нарезанные куски сейвятся в ту же папку.

Существующий макрос:
Код
Sub cut_big_UTD()
 
  ActiveCell.Value = Application.InputBox("размер части")
  Dim Limit As Integer, Count As Integer, SaveDir As String
  
  Count = 1: Limit = ActiveCell.Value
  SaveDir = ActiveWorkbook.FullName
  While Not IsEmpty(Cells(1, 1))
    Rows("1:" & Limit).Cut
    Workbooks.Add xlWBATWorksheet
    ActiveSheet.Paste: Cells(1, 1).Select
    ActiveWorkbook.SaveAs Filename:=SaveDir & "" & Count & ".xls", _
      FileFormat:=xlExcel8
    ActiveWindow.Close
    Rows("1:" & Limit).Delete Shift:=xlUp
    Count = Count + 1
  Wend
  MsgBox "сформированно " & Count - 1 & " частей. "
  ActiveWindow.Close False
End Sub

Проблема: в зависимости от количества строк в исходной таблице  в ней оператором выбирается разное количество строк в частях.
Вопрос: как вывести в тексте InputBox количество строк (в существующем макросе сейчас "размер части". А хотелось бы что-то типа "в таблице (счетчик) строк"
Чет не смог побороть...

PS: ну и если оператор отменяет ввод данных в InputBox (кнопкой отмена) - выкидывает в отладку, вместо отмены выполнения макроса... Но это мелочи.
PS2: не пинать сильно) только учусь)
 
А что такое 'сейвятся' ?
Код
Sub cut_big_UTD()
With ActiveSheet
    lRow = .Cells(.Rows.Count, ActiveCell.Column).End(xlUp).Row
    Limit = Application.InputBox("В таблице " & lRow & " строк." & vbCrLf & "Введите размер части", , , , , , , 1)
    If IsNumeric(Limit) Then
        'какой-то код
    End If
End With
End Sub
Изменено: Sanja - 11.04.2018 17:02:05
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Sanja написал:
А что такое 'сейвятся' ?
сохраняются ;)
Спс за код, запустил
____________
И выход после отмены ввода строк записал как
Код
Sub
On Error GoTo cancel

/макрос/

Exit Sub
cancel:
End Sub
:)
Изменено: andylu - 11.04.2018 18:52:12 (решил вопрос с отменой InputBox)
Страницы: 1
Наверх