|
|
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
Нужно сделать чтобы в первом столбце проставлялись флажки, при нажатии в ячейке мышкой. А при нажатии кнопки помеченные строчки копировались на 4-ую страницу. Для пометок я написал следующий код: 'CODE 1 Ставим флажок если был одиночный щелчок по ячейке Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("A7:A920")) Is Nothing Then Target.Font.Name = "Marlett" If Target = vbNullString Then Target = "a" Else Target = vbNullString End If End If End Sub 'CODE 2 Снимаем флажок если был двойной щелчок по ячейке Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("A7:A920")) Is Nothing Then Cancel = True 'чтобы не уйти в режим редактирования Target.Font.Name = "Marlett" If Target = vbNullString Then Target = "a" Else Target = vbNullString End If End If End Sub а вот с кодом для кнопки постоянно происходят ошибки. Вот он: Private Sub CommandButton1_Click() ' ' Application.EnableEvents = False Sheets("Лист4").Select ' очищаем диапазон от ранее вставленных Range("A7:D200").Select Selection.Delete Shift:=xlUp Sheets("Лист2").Select ' лист с выделениями Selection.AutoFilter Field:=2, Criteria1:="a" If ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(xlVisible).Count > 1 Then Range("A7:D920").Select Selection.Copy Sheets("Лист4").Select Range("A1").Select ActiveSheet.Paste End If ActiveWorkbook.Save ActiveSheet.ShowAllData Application.EnableEvents = True End Sub помогите пожалуйста!!!! Заранее спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 17:59 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
AlexXMan, Код: 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. Ну, и было бы неплохо, раскрыть тайну, на какой строке "кода для кнопки" "постоянно происходят ошибки". Да и текст ошибок немаловажен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 18:34 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
при нажатии на кнопку пишет Run-time error '1004'; Метод Select из класса Range завершен неверно и останавливается на строчке Range("A7:D200").Select ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 19:04 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
а что не так с Range("A7:A920")): If Not Intersect(Target, Range("A7:A920")) Is Nothing Then???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 19:07 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
88AlexXMan, попробуйте отказаться от Selection Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 19:45 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
Изменил код вот так: Private Sub CommandButton1_Click() ' Application.EnableEvents = False Sheets("Лист4").Select Sheets("Лист4").Range("A7:H200").Select Selection.Delete Shift:=xlUp Sheets("Лист2").Select ' Sheets("Лист2").Range("A7:H920").Select Selection.AutoFilter Field:=1, Criteria1:="a" If ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(xlVisible).Count > 1 Then Range("A7:H920").Select Selection.Copy Sheets("Лист4").Select Sheets("Лист4").Range("A7").Select ActiveSheet.Paste End If ActiveWorkbook.Save ActiveSheet.ShowAllData Application.EnableEvents = True End Sub появляется ошибка 'Application-defined or object-defined error' и останавливается на строке ActiveSheet.ShowAllData и как при отключать фильтр на "Лист2" и копировать ячейки с "Лист2" на "Лист4" вместе с формулами???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 19:46 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
а как тогда сделать, как вы предлагаете.... у меня останавливается на строчке .AutoFilter Field:=1, Criteria1:="a" и выдает ошибку: Named agrument not found ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 19:53 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
AlexXMan, авторпоявляется ошибка 'Application-defined or object-defined error' и останавливается на строке ActiveSheet.ShowAllDataК моменту выполнения метода у Вас активным является Лист4. Автофильтра на нём нет, вот Excel и высказывает своё недоумение таким экстраординарным образом. -- Это всего лишь теория, Пух. Но проверить стоит. (с) Ослик Иа ЗЫ: 11290633 смотрели ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 19:56 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
извините ошибся этот код: Изменил код вот так: Private Sub CommandButton1_Click() ' Application.EnableEvents = False Sheets("Лист4").Select Sheets("Лист4").Range("A7:H200").Select Selection.Delete Shift:=xlUp Sheets("Лист2").Select ' Sheets("Лист2").Range("A7:H920").Select Selection.AutoFilter Field:=1, Criteria1:="a" If ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(xlVisible).Count > 1 Then Range("A7:H920").Select Selection.Copy Sheets("Лист4").Select Sheets("Лист4").Range("A7").Select ActiveSheet.Paste End If ActiveWorkbook.Save ActiveSheet.ShowAllData Application.EnableEvents = True End Sub Выдает следующую ошибку: "Метод ShowallData из класса Worksheet завершен неверно" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 20:00 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
Закоментировал строчку ActiveSheet.ShowAllData ошибки пропали и работает. Все переносит вместе с формулами.....а каким образом выключить фильтр на "Лист2" и под перенесенным списком вставить строку Итого, чтобы в ней считались значения перенесеных столбцов "Сумма", "Сумма со скидкой 20%" и "Сумма со скидкой 30%"???????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 20:08 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
и еще одна проблема....если помечаю подряд строчки с первой, тогда формулы переносит. Если же не помечаю подряд хоть одну строку, формулы не переносит! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 20:16 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
AlexXMan, насчет причины ошибки 'Метод ShowallData из класса Worksheet завершен неверно', моё предположение здесь 11290668 . И всё-таки буду настойчиво продолжать предлагать отказаться от Selection, ActiveSheet, etc Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. автора каким образом выключить фильтр на "Лист2"Выполнив метод Лист2.ShowAllData автортобы в ней считались значения перенесеных столбцов "Сумма", "Сумма со скидкой 20%" и "Сумма со скидкой 30%"???????? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 20:23 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
ЗЗЫ: для отключения автофильтра можно/нужно(?) использовать свойство .AutoFilterMode ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 20:37 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
а почему используя ваш код для копирования строк ничего не происходит...ниодна строчка не копируется!????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 20:51 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
AlexXMan, ошибся потому что. Указал для фильтра только одну строку, а надо было весь диапазон Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 20:54 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
хм....странно но все равно ничего не происходит!( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 20:58 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
AlexXMan, ещё номер поля (указанное Вами в первом посте значение у меня копипастом перекочёвует из поста в пост). Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 21:06 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
исправив на один написал ошибку: "Run-time error '438' Object doesen't support this property or method" и остановка на строчке ".[A7:H920].Copy .Worksheets("Лист4").[A7]" ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 21:13 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
это был бальшой аблом (с)Сетор Газа "Сказка" AlexXMan, не будем гадать на кофейной гуще, - сохраните Вашу книгу в формате Excel2003, заархивируйте и выкладывайте на форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 21:32 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
AlexXMan, потому, что у Вас там объединенные ячейки. Уберите объединение и все заработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 21:48 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
а что можете сказать насчет итоговой суммы.....потому как я даже не знаю как прописывать переменные в VBA...этот код раскопал в инете....я пишу на Embarcadero RAD Studio 2010, но начальству зачем то понадобился Excel!!!! можете помочь с этим итого и с переносом формул....которые почему то невсегда переносятся, а только если отмечаешь строчки подряд, начиная с A7 или с A8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 21:56 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
Для 2003. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 21:57 |
|
||
|
Помогите с кодом в Excel
|
|||
|---|---|---|---|
|
#18+
AlexXMan, Чтоб и формулы и форматы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 22:04 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=37444228&tid=2176491]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
144ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 476ms |

| 0 / 0 |
