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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование значение в строку перед итогами - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование значение в строку перед итогами (Макросы/Sub)
Копирование значение в строку перед итогами
kleo90 Дата: Вторник, 31.05.2016, 15:12 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Как мне сделать копирование из другого файла так, чтобы скопированные данные всегда вставлялись перед итогами,.
Вставляет все равно в итоги все.
Что в коде добавить

[vba]
Код
Sub example2()

  Dim x As Variant

    Dim wb0 As Workbook
    Dim wl0 As Worksheet
    
Dim r1 As Range

    Application.ScreenUpdating = False
    Set wb0 = ThisWorkbook
    Set wl0 = wb0.Worksheets("Ëèñò1")

Set r1 = wl0.Range("D427:D256335")

    wb0.Activate
   With Workbooks.Open("C:\\Ó÷åò ÐÎÄÑ.xlsx")
       For Each x In r1
       'For Each x In Workbooks("Ó÷åò3.xlsm").Sheets("Ëèñò1").Cells
            If LCase(x.Text) Like "*ðîäñ*" Then
                rk = .Worksheets("Ëèñò1").Cells(Rows.Count, 3).End(xlUp).Row
                If .Worksheets("Ëèñò1").Columns(3).Find(x.Offset(, -2)) Is Nothing Then
                    .Worksheets("Ëèñò1").Cells(rk, 3).Value = x.Offset(, -2)
                    
                    .Worksheets("Ëèñò1").Cells(rk, 4).Value = x.Offset(, 2)
          
                    
                   

                End If
            End If
        Next x
End With
End Sub
[/vba]
К сообщению приложен файл: 4373324.xlsm(32Kb)
 
Ответить
СообщениеКак мне сделать копирование из другого файла так, чтобы скопированные данные всегда вставлялись перед итогами,.
Вставляет все равно в итоги все.
Что в коде добавить

[vba]
Код
Sub example2()

  Dim x As Variant

    Dim wb0 As Workbook
    Dim wl0 As Worksheet
    
Dim r1 As Range

    Application.ScreenUpdating = False
    Set wb0 = ThisWorkbook
    Set wl0 = wb0.Worksheets("Ëèñò1")

Set r1 = wl0.Range("D427:D256335")

    wb0.Activate
   With Workbooks.Open("C:\\Ó÷åò ÐÎÄÑ.xlsx")
       For Each x In r1
       'For Each x In Workbooks("Ó÷åò3.xlsm").Sheets("Ëèñò1").Cells
            If LCase(x.Text) Like "*ðîäñ*" Then
                rk = .Worksheets("Ëèñò1").Cells(Rows.Count, 3).End(xlUp).Row
                If .Worksheets("Ëèñò1").Columns(3).Find(x.Offset(, -2)) Is Nothing Then
                    .Worksheets("Ëèñò1").Cells(rk, 3).Value = x.Offset(, -2)
                    
                    .Worksheets("Ëèñò1").Cells(rk, 4).Value = x.Offset(, 2)
          
                    
                   

                End If
            End If
        Next x
End With
End Sub
[/vba]

Автор - kleo90
Дата добавления - 31.05.2016 в 15:12
_Boroda_ Дата: Вторник, 31.05.2016, 15:47 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9374
Репутация: 3947 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Если честно, я не очень понял вопрос, но, возможно вот такая добавочка подойдет?
[vba]
Код
                    .Worksheets("Лист1").Cells(rk, 1).EntireRow.Insert
                    .Worksheets("Лист1").Cells(rk, 3).Value = x.Offset(, -2)
                    .Worksheets("Лист1").Cells(rk, 4).Value = x.Offset(, 2)
[/vba]
И добавьте после Sub example2() еще строку
[vba]
Код
Application.ScreenUpdating=0
[/vba]

[p.s.]А чтобы кракозябров не было, нужно копировать текст из VBA, находясь при этом в РУССКОЙ раскладке клавиатуры.[/p.s.]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕсли честно, я не очень понял вопрос, но, возможно вот такая добавочка подойдет?
[vba]
Код
                    .Worksheets("Лист1").Cells(rk, 1).EntireRow.Insert
                    .Worksheets("Лист1").Cells(rk, 3).Value = x.Offset(, -2)
                    .Worksheets("Лист1").Cells(rk, 4).Value = x.Offset(, 2)
[/vba]
И добавьте после Sub example2() еще строку
[vba]
Код
Application.ScreenUpdating=0
[/vba]

[p.s.]А чтобы кракозябров не было, нужно копировать текст из VBA, находясь при этом в РУССКОЙ раскладке клавиатуры.[/p.s.]

Автор - _Boroda_
Дата добавления - 31.05.2016 в 15:47
kleo90 Дата: Вторник, 31.05.2016, 15:58 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо, это то ,что надо)
 
Ответить
СообщениеСпасибо, это то ,что надо)

Автор - kleo90
Дата добавления - 31.05.2016 в 15:58
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование значение в строку перед итогами (Макросы/Sub)
Страница 1 из 11
Поиск:

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