Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Динохромный


Contributor


Сообщения: 703
Благодарности: 320

Профиль | Отправить PM | Цитировать


golovatov, насколько я понимаю - вы хотите скопировать каждую столько раз, сколько написано в ячейке второго столбца на каждой строчке?
Цитата golovatov:
в итоге должно получиться 2577473 »
2577473 - это сумма всех значений по столбцу 2, верно?
попробуйте такой код, оговорки - во втором столбце должна обязательно стоять цифра (иначе строчка будет пропущена), значение в txt файле разделяются знаком ";", конечный файл сохраняется по адресу "C:/1.txt". Полностью вашу таблицу не прогонял - стало скучно когда txt файл весил около 145мБт.
код
Код: Выделить весь код
Public Sub xls_to_txt()

Dim DataCell As Range
Dim DataSheet As Worksheet
Dim i As Long
Set FSO = CreateObject("scripting.filesystemobject")
Set ts = FSO.CreateTextFile("C:/1.txt", True, True)

Set DataSheet = ActiveSheet

For Each DataCell In Intersect(DataSheet.UsedRange, DataSheet.Columns(1))

    If IsNumeric(DataCell.Offset(0, 1).Value) Then
    
        For i = 1 To DataCell.Offset(0, 1).Value
            ts.Write Trim(DataCell.Value & ";")
            ts.Write Trim(DataCell.Offset(0, 1).Value & ";")
            ts.Write Trim(DataCell.Offset(0, 2).Value & Chr(13))
        Next i
        
        
    End If
Next DataCell
ts.Close
Set ts = Nothing
Set DataSheet = Nothing
Set FSO = Nothing
Set DataCell = Nothing
End Sub

golovatov, а Вы уверены, что Вам нужно именно это? Проблему этим копированием Вы какую решаете?

Последний раз редактировалось a_axe, 13-11-2015 в 16:20.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:27, 12-11-2015 | #2