Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Эксель

1128  
Зай4ик местный житель08.07.20 17:41
Зай4ик
08.07.20 17:41 

Помогите пожалуйста найти решение.:-)


имеем: большой датай, который ежедневно актуализируется как изменением данных, так и дополнением данных. Длительность пользования датаем, примерно, несколько лет - как уверяют.


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

что делать и как победить проблему?

АйТи на фирме развело руками и кормит завтраками, а надо бы проблемец решить поскорее.

#1 
NightWatch коренной житель08.07.20 19:02
NightWatch
NEW 08.07.20 19:02 
в ответ Зай4ик 08.07.20 17:41
АйТи на фирме развело руками и кормит завтраками

Если они получили такое же описание проблемы, то ничего удивительного в этом нет.

#2 
Murr патриот08.07.20 21:20
Murr
NEW 08.07.20 21:20 
в ответ NightWatch 08.07.20 19:02

что делать и как победить проблему?

-----

Перейти с Ехцел на нормальную базу данных и написать приложение соответствующее вашим методам работы...


Если решать средствами Ехцела - писать на ВБА то же что должно быть в приложении. Только это обойдется дороже - сначала оплатите работы по Ехцелу, потом все одно закажите приложение...

#3 
koder патриот09.07.20 12:39
koder
NEW 09.07.20 12:39 
в ответ Зай4ик 08.07.20 17:41
эти данные перенимаются не только замаркированной частью шпальте , но и незамаркированной

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

#4 
  moose коренной житель09.07.20 20:12
NEW 09.07.20 20:12 
в ответ Зай4ик 08.07.20 17:41

учимся работать с гоголем.

открываем гоголь, вводим excel paste in filtered cells only

читаем, говорим "ага!", пробуем повторить.

#5 
  moose коренной житель09.07.20 20:15
NEW 09.07.20 20:15 
в ответ Murr 08.07.20 21:20
Перейти с Ехцел на нормальную базу данных и написать приложение соответствующее вашим методам работы...

еще и вас для этого нанять. чтобы потом ежедневно темы с матами здесь почитывать : )

excel - это почти как emacs. там уже все запрограммировано, нужно только найти как пользоваться.


#6 
AlexNek патриот10.07.20 23:49
AlexNek
NEW 10.07.20 23:49 
в ответ moose 09.07.20 20:15

просто к месту, сорри.

Народ писал минимум лет 5 различные скрипты для экзеля по обработке мегабайтов данных. Скорость и ошибки в конце концов задолбали.

Сделалали прогу на шарпе, скорость и удобство пользования возросло на порядок. Все довольны и проклинают тот день когда решили делать все в экзеле.

Конечно не все задачи одинаковые, но писать на VBA больше 10-20 строчек не следует.

#7 
Зай4ик местный житель24.07.20 14:56
Зай4ик
NEW 24.07.20 14:56 
в ответ NightWatch 08.07.20 19:02, Последний раз изменено 24.07.20 15:07 (Зай4ик)

они получили описание на немецком языке, сказали «не может быть», тут же проверили на файле и развели руками «не знаю». Впрочем, народ меня понял, общепринятым названием одарил. Ещё вопросу по существу? ..

#8 
Зай4ик местный житель24.07.20 15:00
Зай4ик
NEW 24.07.20 15:00 
в ответ koder 09.07.20 12:39, Последний раз изменено 24.07.20 15:04 (Зай4ик)

Да. Это именно то. по этому вопросу мне уже помогли. Но необходимо эффект чуть углубить, чтобы работало по всему файлу перманентно.


А именно:

Как можно провести оптимизацию, те. сделать в файле (Datei) на перманентной основе опцию Einfügen при nur sichtbare Zellen? Те. не жать каждый раз Strg +G или F5, а чтобы это свойство у файла было постоянно. Чтобы только отфильтрованные ячейки перенимали Strg+V.


Как пример, произвести Auswählen по трём релевантным колонкам, а потом в четвёртой, необходимой, колонке (Spalte) сразу сделать Einfügen без боязни, что ausgeblendete Zellen (ячейки) переймут данные. И далее так же -выборка по следующим колонкам, занесение необходимых данных в другую колонку, без систематического отвлечения на Strg +G.

#9 
ge-nka прохожий27.07.20 13:57
NEW 27.07.20 13:57 
в ответ Зай4ик 24.07.20 15:00

Скопируйте в какой нибудь модуль в VBA-Editore, и потом в Makros->Optionen назначьте кнопки для вызова, например Strg+Q.

Использование:

Maркируете то что надо копировать, нажимаете кнопки вызова, маркируете куда вставлять. (площадь для вставки, можно больше выбрать)

Если два столбца или три копируете то и два или три маркируете для вставки.


Option Explicit
Dim preRange As String
Sub CopyValuesOnlyVisible()
Dim rng As Range
Dim rngq As Range
Dim val
Dim i As Long
Set rng = Selection
If preRange = "" Then preRange = rng.Address
Set rngq = Application.InputBox("Input", "Bereich zum Einfügen wählen", preRange, Type:=8)
preRange = rngq.Address
For Each val In rngq
If val.EntireRow.Hidden Or val.EntireColumn.Hidden Then
Else
i = i + 1
val.Value = rng(i).Value
End If
If i >= rng.Count Then Exit For
Next val
End Sub
#10 
Зай4ик местный житель30.07.20 17:17
Зай4ик
NEW 30.07.20 17:17 
в ответ ge-nka 27.07.20 13:57

Спасибо за ответ!


"модуль в VBA-Editore" - где его можно найти?

После закрытия файла и нового открытия оно будет действовать?

Может начаться конфликт с формулами файла?

#11 
ge-nka прохожий31.07.20 23:26
NEW 31.07.20 23:26 
в ответ Зай4ик 30.07.20 17:17

Блин, как всё запущено прямо с азов надо начинать.

#12 
ge-nka прохожий31.07.20 23:51
NEW 31.07.20 23:51 
в ответ ge-nka 31.07.20 23:26

#13 
ge-nka прохожий31.07.20 23:54
NEW 31.07.20 23:54 
в ответ ge-nka 31.07.20 23:51


#14 
ge-nka прохожий31.07.20 23:56
NEW 31.07.20 23:56 
в ответ ge-nka 31.07.20 23:54


#15 
ge-nka гость01.08.20 00:15
NEW 01.08.20 00:15 
в ответ ge-nka 31.07.20 23:56

Ну а потом если у вас ххх.xls

то просто speichern, (старый формат екселя до 2007 там макросы вместе сохраняются)

если у вас ххх.xlsх (после 2007 года макросы не сохраняются в этом File)

идём speichern unter или скажем если kommt такое окно "nein" kommt menü "speichern unter" выбираем xxx.xlsm (File mit Makros)

тогда скрипты сохраняются в этом File.



#16 
ge-nka гость01.08.20 00:18
NEW 01.08.20 00:18 
в ответ ge-nka 01.08.20 00:15

Ну и напоследок "Tastaturbefehl zuweisen"



speichern nicht vergessen






#17 
ge-nka гость01.08.20 00:28
NEW 01.08.20 00:28 
в ответ Зай4ик 30.07.20 17:17
Может начаться конфликт с формулами файла?

Если у вас нет Макроса с таким именем (CopyValuesOnlyVisible) то конфликта не будет.

#18 
Зай4ик местный житель06.08.20 13:07
Зай4ик
NEW 06.08.20 13:07 
в ответ ge-nka 31.07.20 23:26

Сорри, задержалась с ответом. Дела.

Если бы была продвинута, то не спрашивала бы. 🙂🙂

Большое спасибо за такое великолепное пояснение! ❤️❤️❤️ Даже чуть онемела - не ожидала, что такой подробный ответ получу. Это самое лучшее об’яснение, что я когда-либо получала на германке! 👍👍👍 спасибо!!

#19