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

Вход

Регистрация

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

 

= Мир MS Excel/добавление в скопированную макросом ячейку свойств - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
добавление в скопированную макросом ячейку свойств
gagarin-ace Дата: Суббота, 10.06.2023, 20:48 | Сообщение № 1
Группа: Заблокированные
Ранг: Участник
Сообщений: 74
Репутация: 0 ±
Замечаний: 60% ±

2010
в одной из тем мне составили простой макрос для решения моего вопроса с копированием ячеек, я пытаюсь этот макрос адаптировать под мою реально существующую таблицу, но т.к. мои знания в макросах стремятся к нулю, я даже не знаю как запросы в гугле писать и что искать. я и экселем до этого особо не интересовался...
вопросы явно для новичков, возможно даже глупые, но всё же.
[vba]
Код

Option Explicit
Sub TRUBA()
Dim P%, N%, Cl As Range
P = 1
N = 89
For Each Cl In Range("D5:D" & Cells(Rows.Count, 29).End(xlUp).Row)
Sheets("Труба").Select
Cells(N + 1, 7) = Cl.Offset(, 2)
Cells(N + 1, 8) = Cl.Offset(, 3)
Cells(N + 1, 9) = Cl.Offset(, 10)
Cells(N + 1, 10) = Cl.Offset(, 5)
Cells(N + 1, 13) = Cl.Offset(, 14)
Cells(N + 1, 16) = Cl.Offset(, 17)
Cells(N + 1, 19) = Cl.Offset(, 23)
Cells(N + 1, 5) = P
Cells(N, 3).Resize(3, 2).Borders.LineStyle = xlContinuous
N = N + 3
P = P + 1
Next
End Sub
[/vba]
я слегка поломал исходный макрос, кое что понял, кое что ещё нет.

1. как добавлять описание строки? Cells(N + 1, 9) = Cl.Offset(, 10) например "масса деловых остатков из целой трубы"
2. можно ли вместе с ячейкой (которую я копирую), в той же строке, сбоку, ещё как то неподалеку добавлять и свойства (центрока по правому краю, цвет желтый, окружить рамкой, цифры округлять до 1 знака, и т.д)
3. как вставить в ячейку формулу связанную с номером ячейки (напрмер мне необходимо условие если (для скрывания неиспользующихся ячеек =ЕСЛИ(V107=0;"скрыть";" ") как привязать к макросу расчет, а то все что я пытаюсь вставить - оно вставляет как текст, а не готовое значение

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


Сообщение отредактировал gagarin-ace - Суббота, 10.06.2023, 21:05
 
Ответить
Сообщениев одной из тем мне составили простой макрос для решения моего вопроса с копированием ячеек, я пытаюсь этот макрос адаптировать под мою реально существующую таблицу, но т.к. мои знания в макросах стремятся к нулю, я даже не знаю как запросы в гугле писать и что искать. я и экселем до этого особо не интересовался...
вопросы явно для новичков, возможно даже глупые, но всё же.
[vba]
Код

Option Explicit
Sub TRUBA()
Dim P%, N%, Cl As Range
P = 1
N = 89
For Each Cl In Range("D5:D" & Cells(Rows.Count, 29).End(xlUp).Row)
Sheets("Труба").Select
Cells(N + 1, 7) = Cl.Offset(, 2)
Cells(N + 1, 8) = Cl.Offset(, 3)
Cells(N + 1, 9) = Cl.Offset(, 10)
Cells(N + 1, 10) = Cl.Offset(, 5)
Cells(N + 1, 13) = Cl.Offset(, 14)
Cells(N + 1, 16) = Cl.Offset(, 17)
Cells(N + 1, 19) = Cl.Offset(, 23)
Cells(N + 1, 5) = P
Cells(N, 3).Resize(3, 2).Borders.LineStyle = xlContinuous
N = N + 3
P = P + 1
Next
End Sub
[/vba]
я слегка поломал исходный макрос, кое что понял, кое что ещё нет.

1. как добавлять описание строки? Cells(N + 1, 9) = Cl.Offset(, 10) например "масса деловых остатков из целой трубы"
2. можно ли вместе с ячейкой (которую я копирую), в той же строке, сбоку, ещё как то неподалеку добавлять и свойства (центрока по правому краю, цвет желтый, окружить рамкой, цифры округлять до 1 знака, и т.д)
3. как вставить в ячейку формулу связанную с номером ячейки (напрмер мне необходимо условие если (для скрывания неиспользующихся ячеек =ЕСЛИ(V107=0;"скрыть";" ") как привязать к макросу расчет, а то все что я пытаюсь вставить - оно вставляет как текст, а не готовое значение

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

Автор - gagarin-ace
Дата добавления - 10.06.2023 в 20:48
Pelena Дата: Суббота, 10.06.2023, 20:53 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19392
Репутация: 4537 ±
Замечаний: ±

Excel 365 & Mac Excel
gagarin-ace, приложите небольшой пример, как есть и как надо. А то не совсем понятно, в каком виде Вы хотите получить результат
Если правильно поняла
[vba]
Код
Sub TRUBA()
Dim P%, N%, Cl As Range
P = 1
N = 89
For Each Cl In Range("D5:D" & Cells(Rows.Count, 29).End(xlUp).Row)
Sheets("Труба").Select
Cells(N + 1, 7).Copy  Cl.Offset(, 2)    'масса деловых остатков из целой трубы
Cells(N + 1, 8).Copy  Cl.Offset(, 3)
Cells(N + 1, 9).Copy  Cl.Offset(, 10)
Cells(N + 1, 10).Copy  Cl.Offset(, 5)
Cells(N + 1, 13).Copy  Cl.Offset(, 14)
Cells(N + 1, 16).Copy  Cl.Offset(, 17)
Cells(N + 1, 19).Copy  Cl.Offset(, 23)
Cells(N + 1, 5) = P
Cells(N, 3).Resize(3, 2).Borders.LineStyle = xlContinuous
N = N + 3
P = P + 1
Next
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеgagarin-ace, приложите небольшой пример, как есть и как надо. А то не совсем понятно, в каком виде Вы хотите получить результат
Если правильно поняла
[vba]
Код
Sub TRUBA()
Dim P%, N%, Cl As Range
P = 1
N = 89
For Each Cl In Range("D5:D" & Cells(Rows.Count, 29).End(xlUp).Row)
Sheets("Труба").Select
Cells(N + 1, 7).Copy  Cl.Offset(, 2)    'масса деловых остатков из целой трубы
Cells(N + 1, 8).Copy  Cl.Offset(, 3)
Cells(N + 1, 9).Copy  Cl.Offset(, 10)
Cells(N + 1, 10).Copy  Cl.Offset(, 5)
Cells(N + 1, 13).Copy  Cl.Offset(, 14)
Cells(N + 1, 16).Copy  Cl.Offset(, 17)
Cells(N + 1, 19).Copy  Cl.Offset(, 23)
Cells(N + 1, 5) = P
Cells(N, 3).Resize(3, 2).Borders.LineStyle = xlContinuous
N = N + 3
P = P + 1
Next
End Sub
[/vba]

Автор - Pelena
Дата добавления - 10.06.2023 в 20:53
gagarin-ace Дата: Воскресенье, 11.06.2023, 18:53 | Сообщение № 3
Группа: Заблокированные
Ранг: Участник
Сообщений: 74
Репутация: 0 ±
Замечаний: 60% ±

2010
[vba]
Код
Option Explicit
Sub TRUBA()
    Dim P%, N%, Cl As Range
    P = 1
    N = 89
    For Each Cl In Range("D5:D" & Cells(Rows.Count, 26).End(xlUp).Row)
        Sheets("Труба").Select
        Cells(N + 1, 7) = Cl.Offset(, 2)
        Cells(N + 1, 8) = Cl.Offset(, 3)
        Cells(N + 1, 9) = Cl.Offset(, 10)
        Cells(N + 1, 10) = Cl.Offset(, 5)
        Cells(N + 1, 13) = Cl.Offset(, 14)
        Cells(N + 1, 16) = Cl.Offset(, 17)
        Cells(N + 1, 19) = Cl.Offset(, 23)
        Cells(N + 1, 22) = Cl.Offset(, 11)
        Cells(N + 1, 26) = Cl.Offset(, 20)
        Cells(N + 2, 8) = "Остатки"
        Cells(N + 2, 13) = Cl.Offset(, 14)
        Cells(N + 2, 16) = Cl.Offset(, 18)
        Cells(N + 2, 22) = Cl.Offset(, 12)
        Cells(N + 1, 5) = P
        Cells(N, 3).Resize(3, 2).Borders.LineStyle = xlContinuous
        N = N + 3
        P = P + 1
     Next
End Sub
[/vba]

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

ещё хотел добавить ещё одну переменную S, но она не добавилась, скрипт после этого не работал

[vba]
Код
Option Explicit
Sub TRUBA()
    Dim P%, S%, N%, Cl As Range
    P = 1
    N = 89
    S = 7
    For Each Cl In Range("D5:D" & Cells(Rows.Count, 26).End(xlUp).Row)
        Sheets("Труба").Select
        Cells(N + 1, S + 1) = Cl.Offset(, 2)
        Cells(N + 1, S + 2) = Cl.Offset(, 3)
        Cells(N + 1, 5) = P
        Cells(N, 3).Resize(3, 2).Borders.LineStyle = xlContinuous
        N = N + 3
        P = P + 1
     Next
End Sub
[/vba]

подскажите где у меня ошибки?
К сообщению приложен файл: otchet_na_raskroj_truby_krug8_.xlsm (82.1 Kb)
 
Ответить
Сообщение[vba]
Код
Option Explicit
Sub TRUBA()
    Dim P%, N%, Cl As Range
    P = 1
    N = 89
    For Each Cl In Range("D5:D" & Cells(Rows.Count, 26).End(xlUp).Row)
        Sheets("Труба").Select
        Cells(N + 1, 7) = Cl.Offset(, 2)
        Cells(N + 1, 8) = Cl.Offset(, 3)
        Cells(N + 1, 9) = Cl.Offset(, 10)
        Cells(N + 1, 10) = Cl.Offset(, 5)
        Cells(N + 1, 13) = Cl.Offset(, 14)
        Cells(N + 1, 16) = Cl.Offset(, 17)
        Cells(N + 1, 19) = Cl.Offset(, 23)
        Cells(N + 1, 22) = Cl.Offset(, 11)
        Cells(N + 1, 26) = Cl.Offset(, 20)
        Cells(N + 2, 8) = "Остатки"
        Cells(N + 2, 13) = Cl.Offset(, 14)
        Cells(N + 2, 16) = Cl.Offset(, 18)
        Cells(N + 2, 22) = Cl.Offset(, 12)
        Cells(N + 1, 5) = P
        Cells(N, 3).Resize(3, 2).Borders.LineStyle = xlContinuous
        N = N + 3
        P = P + 1
     Next
End Sub
[/vba]

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

ещё хотел добавить ещё одну переменную S, но она не добавилась, скрипт после этого не работал

[vba]
Код
Option Explicit
Sub TRUBA()
    Dim P%, S%, N%, Cl As Range
    P = 1
    N = 89
    S = 7
    For Each Cl In Range("D5:D" & Cells(Rows.Count, 26).End(xlUp).Row)
        Sheets("Труба").Select
        Cells(N + 1, S + 1) = Cl.Offset(, 2)
        Cells(N + 1, S + 2) = Cl.Offset(, 3)
        Cells(N + 1, 5) = P
        Cells(N, 3).Resize(3, 2).Borders.LineStyle = xlContinuous
        N = N + 3
        P = P + 1
     Next
End Sub
[/vba]

подскажите где у меня ошибки?

Автор - gagarin-ace
Дата добавления - 11.06.2023 в 18:53
  • Страница 1 из 1
  • 1
Поиск:

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