Макрос от нейронки не работает.

Автор kokosergei, 3 марта 2023, 16:30

0 Пользователи и 1 гость просматривают эту тему.

kokosergei

Приветствую, попросил ChatGpt написать мне макрос:
Через выпадающий список выбранного листа копировать данные на основной лист.
Запускаю макрос: Сообщение: Синтаксическая ошибка Basic.
                            Неизвестный тип данных WorkSheet
Код:
Sub CopyData()
  Dim ws As Worksheet
  Dim wsMain As Worksheet
  Dim dp As Range
  Dim rng As Range
 
  Set wsMain = ThisWorkbook.Sheets("Main")
  Set dp = wsMain.Range("A1")
  Set ws = ThisWorkbook.Sheets(dp.Value)
  Set rng = ws.Range("A1:E500")
 
  wsMain.Range("E1:I500").Value = rng.Value
End Sub

Может кто знает что за...?

mikekaganski

Цитата: kokosergei от  3 марта 2023, 16:30Может кто знает что за...

Я знаю. Про это даже поговорка есть: она начинается словами "без труда ..."
С уважением,
Михаил Каганский

sokol92

Мне кажется, у нас (человечества) достаточно своих графоманов.
Владимир.

bigor

Цитата: kokosergei от  3 марта 2023, 16:30попросил ChatGpt написать мне макрос:
плохо ему объяснили, что нужно для LibreOffice
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

kokosergei

В ячейке A1(Librecalc) есть выпадающий список содержащий список листов рабочей книги, по условию выпадающего списка необходимо что бы данные копировались из ячеек A1:E500 в E1:I500 основного листа.

Не правильно объяснил? А как надо?

bigor

Цитата: kokosergei от  3 марта 2023, 17:02Не правильно объяснил? А как надо?
не знаю, я с ботами не общаюсь :) он, ИИ вам для excel макрос нарисовал.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

kokosergei

Этот тоже для ексель?

Sub CopyData()
Dim ws As Worksheet
Dim lst As Range

Set lst = ThisWorkbook.Sheets("E1").Range("A1")
For Each ws In ThisWorkbook.Sheets
    If ws.Name <> lst.Value Then
        ws.Range("A1:E500").Copy Destination:=ThisWorkbook.Sheets("E1").Range("AM1:AQ500")
    End If
Next ws
End Sub

sokol92

 Бред. На "доводку" этого кода уйдет гораздо больше времени, чем на написание нового.
Владимир.

economist

Для начала поставьте первой строкой

Option VBASupport 1

ИИ способен генерировать валидный код, но постановка ему задачи и шлифовка - сопоставимы по трудозатратам с изучением макросов.

Лучше изучить предметную область, научиться писать макросы и лишь потом "советоваться" с ИИ.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mikekaganski

Цитата: economist от  3 марта 2023, 17:36Лучше изучить предметную область, научиться писать макросы и лишь потом "советоваться" с ИИ

Совершенно согласен. Любой инструмент, которым заменяют знание - это способ невероятно увеличить производительность процесса получения проблем. Не зря в школе учат сложению в столбик, несмотря на наличие калькуляторов и табличных процессоров. Потому что если не представляешь, как это сделать сам - никогда не заметишь ошибки предложенного решения. Доверять эксперту, когда сам не знаешь - это одно, а доверять инструменту в той же ситуации - это так себе идея.
С уважением,
Михаил Каганский

kokosergei

Цитата: economist от  3 марта 2023, 17:36Для начала поставьте первой строкой

Option VBASupport 1

Спасибо ВАМ! ЗАРАБОТАЛО!

kokosergei

Цитата: mikekaganski от  3 марта 2023, 17:45
Цитата: economist от  3 марта 2023, 17:36Лучше изучить предметную область, научиться писать макросы и лишь потом "советоваться" с ИИ

Совершенно согласен. Любой инструмент, которым заменяют знание - это способ невероятно увеличить производительность процесса получения проблем. Не зря в школе учат сложению в столбик, несмотря на наличие калькуляторов и табличных процессоров. Потому что если не представляешь, как это сделать сам - никогда не заметишь ошибки предложенного решения. Доверять эксперту, когда сам не знаешь - это одно, а доверять инструменту в той же ситуации - это так себе идея.

Незачем спамить и язвить не зная сути для решения данной задачи!!!

eeigor

#12
Мой опыт знакомства с ChatGPT показал, что код для Python он пишет не только не плохо, а ещё и по заданным условиям (например: убрать циклы, реализовать в виде класса) и с объяснением своих действий по шагам (поэтому его можно использовать для  обучения пользователя). И он быстро учится сам.

Автору: ChatGPT работает лучше, если ему предложить какой-то пример или последовательность в действиях, но для этого вы должны быть хоть немного в теме.

Я общался с ним по-английски. Прямо-таки как с живым человеком... Что вы хотите: за 2 месяца более 100 млн регистраций – абсолютный рекорд.

UPD. Очевидно, что LibreOffice не было в "комплекте" исходных данных, когда его обучали (pre-trained). Но если "скормить" ему Питоньяка, то он ещё себя покажет
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community