powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Копирование определенных ячеек с одного листа в другой???
9 сообщений из 9, страница 1 из 1
Копирование определенных ячеек с одного листа в другой???
    #34832490
R@maN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть форма в неё вносятся 4 критерия (дата с .. по .. , и три строковых поля). Нужно с первого листа где забита база скопировать определённые ячейки которые удовлетворяют вышеуказаный критерий. Если кто-то может помочь, пишите, буду благодарен
...
Рейтинг: 0 / 0
Копирование определенных ячеек с одного листа в другой???
    #34832510
R@maN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вобщем форма сделана, не могу понять как скопировать ячейку с одного листа в другой не используя Range, а через Cells, что-бы цыкл можна было организовать.
...
Рейтинг: 0 / 0
Копирование определенных ячеек с одного листа в другой???
    #34835177
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R@maNВобщем форма сделана, не могу понять как скопировать ячейку с одного листа в другой не используя Range, а через Cells, что-бы цыкл можна было организовать.

Если собираетесь делать цыкл, то тогда ясно, зачем он нужен для одной ячейки. А если для ячеек, то вам понадобится цикл, и тогда можно и через Range. Так что вы на самом деле хотите?
...
Рейтинг: 0 / 0
Копирование определенных ячеек с одного листа в другой???
    #34835404
R@maN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если собираетесь делать цыкл, то тогда ясно, зачем он нужен для одной ячейки. А если для ячеек, то вам понадобится цикл, и тогда можно и через Range. Так что вы на самом деле хотите?[/quot]

Private Sub MakeReport_Click()

Dim nd, str, np, rp As String
Dim d, df, dt, t As Date
Dim vn, ud, per As Currency
Dim rw As Integer

df = Report.DateFrom
dt = Report.DateTill
rw = 1
rp = Report.Rpodrazd.Value
dt = dt
df = df
Do Until df = dt

For rw = 1 To ThisWorkbook.Worksheets("Main_list").UsedRange.Rows.Count

If ThisWorkbook.Worksheets("Main_list").Cells(rw, 1) = df Then
nd = ThisWorkbook.Worksheets("Main_list").Cells(rw, 2)
str = ThisWorkbook.Worksheets("Main_list").Cells(rw, 9)
vn = ThisWorkbook.Worksheets("Main_list").Cells(rw, 11)
ud = ThisWorkbook.Worksheets("Main_list").Cells(rw, 17)
per = ThisWorkbook.Worksheets("Main_list").Cells(rw, 12)
d = ThisWorkbook.Worksheets("Main_list").Cells(rw, 18)
np = ThisWorkbook.Worksheets("Main_list").Cells(rw, 19)

ThisWorkbook.Sheets("Report_list").Rows("2:2").EntireRow.Select
Selection.Insert Shift:=xlDown

Worksheets("Report_list").Cells(3, 1).Value = nd
Worksheets("Report_list").Cells(3, 2).Value = str
Worksheets("Report_list").Cells(3, 3).Value = vn
Worksheets("Report_list").Cells(3, 4).Value = ud
Worksheets("Report_list").Cells(3, 5).Value = per
Worksheets("Report_list").Cells(3, 6).Value = dt
Worksheets("Report_list").Cells(3, 7).Value = np
End If

Next rw
t = df
df = t + 1


Loop

End Sub

Вобщем такой вот код но почему-то выдаёт ошибку out of range и выделяет строку ThisWorkbook.Sheets("Report_list").Rows("2:2").EntireRow.Select
Selection.Insert Shift:=xlDown
Причем аналогичный код толлько в модуле а не форме работает, а этот лагает...
...
Рейтинг: 0 / 0
Копирование определенных ячеек с одного листа в другой???
    #34835755
R@maN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не знаю, что делать, или у меня офис лагает, или торможу но поидее должна вставлятся строка а выдаёт ошибку out of range. Если поймёте обьясните мне, что-бы я дураком не умер.... Снова вставлю листинг

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
Private Sub MakeReport_Click()

Dim nd As String
Dim str As String
Dim np As String
Dim rp As String
Dim df As Date
Dim dt As Date
Dim d As Date
Dim vn As Currency
Dim ud As Currency
Dim per As Currency
Dim rw As Integer

df = Report.DateFrom.Value
dt = Report.DateTill.Value
rw = 1
rp = Report.Rpodrazd.Value

Do Until df = dt
    
        For rw = 1 To ThisWorkbook.Worksheets("Main_list").UsedRange.Rows.Count
        
            If ThisWorkbook.Worksheets("Main_list").Cells(rw, 1) = df Then
             nd = ThisWorkbook.Worksheets("Main_list").Cells(rw, 2).Value
             str = ThisWorkbook.Worksheets("Main_list").Cells(rw, 9).Value
             vn = ThisWorkbook.Worksheets("Main_list").Cells(rw, 11).Value
             ud = ThisWorkbook.Worksheets("Main_list").Cells(rw, 17).Value
             per = ThisWorkbook.Worksheets("Main_list").Cells(rw, 12).Value
             d = ThisWorkbook.Worksheets("Main_list").Cells(rw, 19).Value
             np = ThisWorkbook.Worksheets("Main_list").Cells(rw, 20).Value
             
             ThisWorkbook.Sheets("Report_list").Rows("2:2").EntireRow.Select
             Selection.Insert Shift:=xlDown
             
             ThisWorkbook.Sheets("Report_list").Worksheets("Report_list").Cells(3, 1).Value = nd
             ThisWorkbook.Sheets("Report_list").Worksheets("Report_list").Cells(3, 2).Value = str
             ThisWorkbook.Sheets("Report_list").Worksheets("Report_list").Cells(3, 3).Value = vn
             ThisWorkbook.Sheets("Report_list").Worksheets("Report_list").Cells(3, 4).Value = ud
             ThisWorkbook.Sheets("Report_list").Worksheets("Report_list").Cells(3, 5).Value = per
             ThisWorkbook.Sheets("Report_list").Worksheets("Report_list").Cells(3, 6).Value = dt
             ThisWorkbook.Sheets("Report_list").Worksheets("Report_list").Cells(3, 7).Value = np
            End If
        
        Next rw
    
       df = df + 1
    

Loop

End Sub
...
Рейтинг: 0 / 0
Копирование определенных ячеек с одного листа в другой???
    #34835862
R@maN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень ругается на текст :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
ThisWorkbook.Worksheets("Report_list").Rows("2:2").EntireRow.Select
             Selection.Insert Shift:=xlDown
             
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  1 ).Value = nd
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  2 ).Value = str
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  3 ).Value = vn
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  4 ).Value = ud
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  5 ).Value = per
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  6 ).Value = dt
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  7 ).Value = np
....
...
Рейтинг: 0 / 0
Копирование определенных ячеек с одного листа в другой???
    #34836244
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R@maNОчень ругается на текст :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
ThisWorkbook.Worksheets("Report_list").Rows("2:2").EntireRow.Select
             Selection.Insert Shift:=xlDown
             
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  1 ).Value = nd
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  2 ).Value = str
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  3 ).Value = vn
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  4 ).Value = ud
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  5 ).Value = per
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  6 ).Value = dt
             ThisWorkbook.Worksheets("Report_list").Cells( 3 ,  7 ).Value = np
....


Метод Select можно применить только на активном листе

Код: plaintext
1.
2.
ThisWorkbook.Worksheets("лист1").Activate
Rows("2:2").EntireRow.Select
Selection.Insert

А вообще лучше не пользоваться им вообще

Код: plaintext
ThisWorkbook.Worksheets("лист1").Rows("2:2").EntireRow.Insert
...
Рейтинг: 0 / 0
Копирование определенных ячеек с одного листа в другой???
    #34837595
R@maN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пасиба. Я исправил ошибку (прописал без select), но всеравно ошибка осталась и опять же таки на этом месте.... Я скоро сойду с ума (((
...
Рейтинг: 0 / 0
Копирование определенных ячеек с одного листа в другой???
    #34837682
R@maN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё раз спасиба, ВСЁ работает. Как я и думал это баг офиса, весь прикол в том что ему чего-то не понравилось название листа(случайно переименовал лист и всё заработало), ска. А я два дня голову ламал, думал в чём ошибка. Ещё раз спасиба дружище.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Копирование определенных ячеек с одного листа в другой???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]