powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите с Excel !
5 сообщений из 5, страница 1 из 1
Помогите с Excel !
    #34494833
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем делаю из хитрой таблицы плоскую, потом я ее залью в БД. Сама програмлю на делфине, поэтому в ВБА не сильна, но для нормализации табличек и подготовки к заливке удобнее помоему пользоваться ВБА. Есть несколько простых вопросов.
1.Как отпределить цвет ячейки в следующем коде (не назначить, а узнать) ? имется ввиду в конструции If.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
arba =  1 
Sheets("A1").Select
   For y =  1  To  330 
   'For y = 1 To sas
     If ActiveSheet.Cells(arba,  1 ).???????  Then
      ??????????   
     End If
     arba = arba +  1 
   Next y
2. Как удалить строку по признаку первой пустой ячейки? Все в той же конструкции If.

Заранее всем благодарна!
...
Рейтинг: 0 / 0
Помогите с Excel !
    #34494873
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1.

Код: plaintext
ActiveCell.Interior.Color

2.

Код: plaintext
1.
2.
If IsEmpty(cell) Then 
    cell.Delete Shift:=xlShiftUp
End If 
...
Рейтинг: 0 / 0
Помогите с Excel !
    #34495135
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пункт 1.
Ни одно из значений не попадает в новую таблицу.
Есть подозрение, что анализ цветности происходит не в той таблице или я чего-то не так сделала.

SRC]
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
For i =  1  To sas 
        ActiveSheet.Cells(cntr,  1 ).Select 
    If ActiveCell.Interior.ColorIndex =  37  Then
        Sheets(sh).Cells(cntr,  1 ) = ActiveSheet.Cells(cntr,  1 )
        Sheets(sh).Cells(cntr,  2 ) = ActiveSheet.Cells(cntr,  2 )
        Sheets(sh).Cells(cntr,  3 ) = ActiveSheet.Cells(cntr,  3 )
        Sheets(sh).Cells(cntr,  4 ) = ActiveSheet.Cells(cntr,  4 )
        Sheets(sh).Cells(cntr,  5 ) = ActiveSheet.Cells(cntr,  5 )
    End If
    cntr = cntr +  1 
Next i

Пункт 2.
Выдает ошибку в cell.Delete Shift:=xlShiftUp
Ошибка "Run-time error '424': Object required "

SRC]
Код: plaintext
1.
2.
3.
If IsEmpty(cell) Then 
    cell.Delete Shift:=xlShiftUp
End If 
...
Рейтинг: 0 / 0
Помогите с Excel !
    #34495391
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне трудно однозначно сказать от чего не выполняется первое условие и почему второе вылетает с ошибкой, не имея исходных данных, поставленной задачи и полного кода перед глазами.
...
Рейтинг: 0 / 0
Помогите с Excel !
    #34495613
lena_####
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cola

По пункту 2.
Код от Ashton
Код: plaintext
1.
2.
If IsEmpty(cell) Then 
  cell.Delete Shift:=xlShiftUp
End If
не нужно понимать буквально. Чтобы это работало, нужно явно указать объект Range

Например, так:
Код: plaintext
1.
2.
If IsEmpty(Cells( 1 ,  1 )) Then
  Cells( 1 ,  1 ).Delete Shift:=xlShiftUp
End If
но этот код удаляет ячейку а не всю строку целиком.

Удалить строку целиком можно, например, так:
Код: plaintext
1.
2.
If IsEmpty(Cells( 1 ,  1 )) Then
  Cells( 1 ,  1 ).EntireRow.Delete Shift:=xlShiftUp
End If

По пункту 1.
У меня такой вариант работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub s_Copy()
  Dim shFrom As Worksheet, shTo As Worksheet
  Dim sh As String
  Dim i As Long
  
  sh = "Лист1"
  Set shFrom = ActiveSheet 'лучше явно указать лист
  Set shTo = Worksheets(sh)
  
  For i =  1  To  330 
    If shFrom.Cells(i,  1 ).Interior.ColorIndex =  37  Then
      cntr = cntr +  1 
      shTo.Cells(cntr,  1 ) = shFrom.Cells(i,  1 )
      shTo.Cells(cntr,  2 ) = shFrom.Cells(i,  2 )
      shTo.Cells(cntr,  3 ) = shFrom.Cells(i,  3 )
      shTo.Cells(cntr,  4 ) = shFrom.Cells(i,  4 )
      shTo.Cells(cntr,  5 ) = shFrom.Cells(i,  5 )
    End If
  Next i
End Sub
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите с Excel !
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]