Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2014, 14:53   #11
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

не хорошо цитировать себя, но повторюсь:
Цитата:
функция
x = Cells(Cells(i, 1).Left + 1).Left
определена на промежутке для і от 1 до Rows.count
и равно 0 для любых значений і
не знаю что у Вас выдает х = 318
но это
x = Cells(Cells(i, 1).Left + 1).Left
зависит только от і выдаст х = 0 при любом значении і (см. выше)
кстати
напишите x = Cells(Cells(i, 1).Left + 1).Left + 318
- получите всегда 318
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 13.10.2014, 14:58   #12
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Теперь еще, можно ли как то вывести весь список фигур на листе. Мне надо найти лишние фигуры.
Код:
dim sp as shape, r as long
r =1
for each sp in activesheet.shapes
  cells(r,1) = sp.name
  r = r+1
next
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 13.10.2014, 15:00   #13
GAS1979
Пользователь
 
Регистрация: 22.04.2013
Сообщений: 17
По умолчанию

Вот рабочий файл с данным кодом
Вложения
Тип файла: zip Тест.zip (13.5 Кб, 11 просмотров)
GAS1979 вне форума Ответить с цитированием
Старый 13.10.2014, 15:03   #14
GAS1979
Пользователь
 
Регистрация: 22.04.2013
Сообщений: 17
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Код:
dim sp as shape, r as long
r =1
for each sp in activesheet.shapes
  cells(r,1) = sp.name
  r = r+1
next
Спасибо, это работает.
GAS1979 вне форума Ответить с цитированием
Старый 13.10.2014, 15:09   #15
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

найдите 10 отличий (хотя бы одно для начала)
то что мы обсуждали:
x = Cells(Cells(i, 1).Left + 1).Left
и то что в Вашем в рабочем коде:
x = Cells(Cells(i, 1).Left + 2).Left - это зависит от i точно так же как и первое выражание и выдаст cells(1,2).left - для любого i (в Вашем случае результат = 318)
вот это x = Cells(Cells(i, 1).Left + 2).Left зависит ТОЛЬКО от ширины 1-й колонки и никак не зависит от i
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 13.10.2014 в 15:12.
IgorGO вне форума Ответить с цитированием
Старый 14.10.2014, 15:26   #16
GAS1979
Пользователь
 
Регистрация: 22.04.2013
Сообщений: 17
По умолчанию

IgorGO - спасибо, я понял, осознал свою ошибку
GAS1979 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание своего класса в Delphi 7 - фигуры для шахматной доски electric Компоненты Delphi 18 24.10.2013 15:06
Фигуры с++ katu_nja Помощь студентам 0 20.04.2013 12:20
Создание 3d фигуры labuda01 Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 05.06.2012 22:58
Движение одной фигуры,вслед изменения высоты другой фигуры. 7vlad37 Microsoft Office Excel 3 21.07.2011 18:01
Создание текстовых полей по условию vandrouny Общие вопросы .NET 1 13.10.2010 14:53