Ru-Board.club
← Вернуться в раздел «Программы»

» Excel FAQ

Автор: Tropin
Дата сообщения: 25.01.2005 10:17
ScorpionS

Цитата:
а средствами самого Excel я так понимаю это не сделать?

а это не ко мне... Имхо проще макрос навоять, его и редактировать проще и расположен он в одном месте, а не раскидан по различным ячейкам... ;)


Цитата:
Вообщем значение самого крайнего правого (заполненного) столбца

кстати тож можно макрос присобачить, но тут надо определиться....
1. номер последнего столбца одинаков для всех строчек или для каждой может быть свой???
2. если одинаков, то столбцы в процессе только добавляются или могут и удаляться???
(это важно для реализации...)
Автор: ScorpionS
Дата сообщения: 25.01.2005 11:27
Mushroomer
Спасибо, файл не нужен, я понял твою идею. Так подойдет, но не совсем. Объясню почему....
Tropin

Цитата:
1. номер последнего столбца одинаков для всех строчек или для каждой может быть свой???

В этом то и вся проблема, что номер последнего столбца НЕ одинаков для всех строчек, для каждой он может быть свой. Иначе подошел бы совет Mushroomer, да я и сам, скорей всего, справился средствами Excel.
Автор: Tropin
Дата сообщения: 25.01.2005 16:07
ScorpionS
попробуй так

Код: Sub last()
Set WS1 = Worksheets("Лист1")
Set WS2 = Worksheets("Лист2")
For Each R In WS1.UsedRange.Rows
i = R.Columns.Count
Do While R.Cells(, i) = ""
If i <= 1 Then Exit Do
i = i - 1
Loop
WS2.Cells(R.Row, 1) = R.Cells(, i)
Next R
End Sub
Автор: ScorpionS
Дата сообщения: 25.01.2005 16:30
Tropin
Спасибо, вроде получилось.

Еще один вопрос, вроде простой, но не могу допереть как сделать.
Ячейка B1=A1, а A1 в свою очередь пустая. Почему в ячейке B1 выдает "0" (ноль). Как сделать, чтобы в ней тоже было пусто в этом случае? Ведь точно знаю, что как то можно... Снятие галочки в Параметрах с Нулевые значения не подойдет, т.к. тогда все ячейки с "0" станут пустыми.
Автор: dro981
Дата сообщения: 25.01.2005 17:28
Как защить ячейки с формулами, чтобы остальные ячейки на листе можно было заполнять?
Автор: DmitryMi
Дата сообщения: 25.01.2005 17:46
Подскажите, пожалуйста:

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

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

Это разумно? наверно ведь существует некое более мудрое стандартное решение?

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

Буду признателен, за любые советы...

Дмитрий
Автор: Tropin
Дата сообщения: 25.01.2005 17:54
DmitryMi

Цитата:
Буду признателен, за любые советы...

Советую написать макрос ;)

Прошу примеры отчетов и сводной таблицы... а также имена и прочее прочее...
Чем понятней объясняешь, тем четче получаешь ответ...
Автор: LINUXXX
Дата сообщения: 25.01.2005 18:17
ScorpionS,
Пиши в B1:
=ЕСЛИ(A1="";"";A1)
Автор: DmitryMi
Дата сообщения: 26.01.2005 13:30
Спасибо, Tropin

А макросы писать в данном случае для какой цели?

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

интересно, а можно ли как-то в макросах управлять именами папок, файлов связанных с документом? (или моя мысль уже ушла в ложном направлении...)
Автор: ScorpionS
Дата сообщения: 26.01.2005 13:42
LINUXXX
Спасибо тебе огромное , но до такой простоты я и сам мог догадаться.
А еще можно в ячейке A1 вместо пустоты записывать ="", тогда если в ячейке B1 будет просто =A1, то в ней ничего (никаких там нулей и т.п.) не будет отображаться.
А какое либо другое решение есть?
Автор: Tropin
Дата сообщения: 26.01.2005 14:20
DmitryMi

Цитата:
А макросы писать в данном случае для какой цели?

для любой (это мое убеждение ;)...
в данном случае я имел в виду для автоматического получения данных из различных файлов...

Цитата:
а можно ли как-то в макросах управлять именами папок, файлов связанных с документом?

Да можно, наверно, вопрос нужно ли...
Каждая программа должна заниматься своими делами...
Автор: DmitryMi
Дата сообщения: 26.01.2005 16:11
Tropin

Цитата:
в данном случае я имел в виду для автоматического получения данных из различных файлов...


А если я делаю эту самую спец вставку это не то? через макросы больше возможностей?
Может есть место где про это почитать?

(прошу прощения, если вопросы глупые)

Автор: Tropin
Дата сообщения: 27.01.2005 09:41
DmitryMi
Google, или книжку купить...
где больше возможностей - вопрос спорный, просто если всё устраивает, тогда зачем дополнительные возможности нужны??
Автор: DmitryMi
Дата сообщения: 27.01.2005 17:36
Ок спасибо буду разбираться.
Автор: bredonosec
Дата сообщения: 27.01.2005 23:47

Цитата:
или книжку купить...
- между прочим, в "электронных книгах на русском языке" пробегали совсем недавно 2 книги по экселю +одна по офису вообще.
Например, http://forum.ru-board.com/topic.cgi?forum=93&topic=0308&start=1200#7
Автор: tccb
Дата сообщения: 28.01.2005 08:24
Какой мне макрос нужен (или сводная)?
Есть лист с данными:
столбцы: дата,организация,вид оплаты(нал или безнал),сумма,вид отправления(посылка или пакет).

Теперь надо сделать итоговую таблицу,где по строкам идет изменение даты,а по столбцам сколько было за день по виду оплаты,виду отправления,т.е. следующие столбцы с итогами: Дата,Безнал,Нал,Посылки,Пакеты.

Как сделать?
Автор: Tropin
Дата сообщения: 28.01.2005 09:21
tccb
Я бы предложил макрос - цикл по записям и внутри пара условий по которым в новую таблицу вносятся значения...
Автор: Solenaja
Дата сообщения: 28.01.2005 12:40
Как запретить определенным пользователям изменять конкретные ячейки на листе и можно ли это вообще?
Автор: Tropin
Дата сообщения: 28.01.2005 13:57

Цитата:
Как запретить определенным пользователям изменять конкретные ячейки на листе и можно ли это вообще?

определенным пользователям??? а как их в экселе определить???
Можно защитить любые ячейки и разрешать изменения по паролю....
Автор: tccb
Дата сообщения: 28.01.2005 15:50
Tropin

Дак я тоже так думал что надо такие запросы в экселе делать через макросы,но не петрю в VBA.
Можно ли на простом примере?

Добавлено:
Tropin
Я так тоже подозревал,что спасут макросы,но петрю в VBA.
Покажи на простом примере?
Автор: Tropin
Дата сообщения: 28.01.2005 16:05
tccb
Тогда хочется по подробнее: какие даты могут быть (всмысле есть ли время), как они повторяются?
Автор: Jarad
Дата сообщения: 29.01.2005 05:41
Кто то сталкивался с такой проблемой... После вставки из буфера эксель все цифры типа "04.35" преобразует в апр.35 а 07.14 в июл.14.. где эту гадость отключить можно... а то если просто на ячейках другой тип задовать то он эти даты просто в цифры конвертит...
Автор: tccb
Дата сообщения: 29.01.2005 09:51
Tropin
Смысл такой.
На одном листе я ввожу все операции (за день их может быть несколько), на какую сумму от какой организации принял,тип отправления.
А на втором в таблице сводится итого за день на основе первого листа данные о сумме по нал,безналу и типу отправления.
Тип даты простой, без времени, просто "29 янв" типа
Автор: Mushroomer
Дата сообщения: 29.01.2005 10:39
Jarad
Я тоже сталкивался с такой проблемой. Как ее решить через настройки Excel не знаю Но решение есть. Если ты хочешь, чтобы в ячейке появилось 04.35, то надо сделать следующее: вот ты вставил в ячейку и у тебе появилось апр.35 Делаешь на этой ячейке тип текстовый. У тебя происходит превращение в цифры, ты их стираешь и вставляешь еще раз из буфера 04.35 .
Автор: Tropin
Дата сообщения: 29.01.2005 15:44
tccb
Вот, можно так

Код: Sub Svodka()
Dim Day As String
Dim n As Integer

Dim Summ As Integer
' Для целых чисел иначе нужно указать другой тип

Set WS1 = Worksheets("Лист1")
Set WS2 = Worksheets("Лист2")

' цикл по исходным данным
For Each R In WS1.UsedRange.Rows

' не считаем, если первая строка (заголовки)
If R.Row > 1 Then

' запомним сумму текущей операции
Summ = R.Cells(, 4)

' берем число текущей операции
Day = R.Cells(, 1)

' ищем дату в сводной таблице
Set c = WS2.UsedRange.Range("A:A").Find(Day, _
LookIn:=xlValues, LookAt:=xlWhole)

' если ее еще нет
If c Is Nothing Then

' номер последней строки
n = WS2.UsedRange.Rows.Count + 1
WS2.Cells(n, 1) = S
If R.Cells(, 3) = "безнал" Then
WS2.Cells(n, 2) = Summ
ElseIf R.Cells(, 3) = "нал" Then
WS2.Cells(n, 3) = Summ
End If
If R.Cells(, 5) = "посылка" Then
WS2.Cells(n, 4) = Summ
ElseIf R.Cells(, 5) = "пакет" Then
WS2.Cells(n, 5) = Summ
End If

' если дата найдена
Else

' номер строки с найденной датой
n = c.Row
If R.Cells(, 3) = "безнал" Then
WS2.Cells(n, 2) = WS2.Cells(n, 2) + Summ
ElseIf R.Cells(, 3) = "нал" Then
WS2.Cells(n, 3) = WS2.Cells(n, 3) + Summ
End If
If R.Cells(, 5) = "посылка" Then
WS2.Cells(n, 4) = WS2.Cells(n, 4) + Summ
ElseIf R.Cells(, 5) = "пакет" Then
WS2.Cells(n, 5) = WS2.Cells(n, 5) + Summ
End If
End If
End If
Next R
End Sub
Автор: L
Дата сообщения: 30.01.2005 00:55
какой еще есть табличный процессор, который не тормозит при большом количестве данных, 30 000 и больше строк? бо excel заманал меня уже совсем...
Автор: k740am
Дата сообщения: 30.01.2005 02:00
Мужики у меня реальная проблема! помогите решить
Искал целый день этот макрос как создать и нихера толкового не нашёл
Напишите пожалуйста русским языком (не VBA символами) на пальцах по шагам!!!

Короче у меня есть лист с исходными данными :
ФИО
Адрес
Тел
...

Хочу создать на другом листе базу данных!!!
То есть в исходных данных ввожу данные человека нажимаю кнопку зачислить к примеру и мне автоматически чтоб в базу внеслось! Вот такая задача
Потом например форму исходных данных очищаю и при вводе следующего человека чтобы опять в базу занислось соответсвенно на другую строчку!!!
Помогите на пальцах расскажите как макрос записать
СПАСИБА ДРУЗЬЯ
Автор: NecroHill
Дата сообщения: 30.01.2005 21:21
В общем еще одна задача передомной стала.
Не знаю - реально ли в Excel ее развязать...
Есть две таблички...

на основании этиз двух нужно сложить третью:


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

плюс к проблемме: табельные номера представленные в колонке CLOCK# тоже не постоянны.

Итак, вопрос:
как с такими хреновыми условиями все сложить в одну результирующую таблицу?
Автор: tccb
Дата сообщения: 31.01.2005 12:49
Tropin
Настоящий КАМРАД!!!
Автор: netsaint
Дата сообщения: 31.01.2005 14:56
КАПРИЗЫ EXCEL'Я.
КАК ПОБЕДИТЬ ОГРАНИЧЕНИЯ?


ПРОБЛЕМА: EXCEL 2003 не позволяет добавлять листы в толстенную книгу. Как такового ограничения (на их число) в нем нет, просто, когда он чувствует, что ему маловато памяти для маневров, он перестает вставлять листы. Память свободная остается, но он на нее не решается посягнуть. Меня это положение совершенно не устраивает. Старый EXCEL делал, вставлял до победного, пока не начал падать, а 2003й уж слишком притязателен.
Как с этим быть? Очень надо, чтобы все было в одной книге.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Gentoo Linux


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.