Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/макрос для расписания - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос для расписания (Макросы/Sub)
макрос для расписания
werom Дата: Понедельник, 29.09.2014, 20:59 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

2007
Добрый день, подскажите пожалуйста в задаче
необходимо оставить содержимое ячейки, где числится "фамилия" и содержимое ячейки справа от этой.
Вот пример кода, но проблема в объединенных ячейках. Если ячейка объдиненная, то ячейка содержимое ячейки справа удаляется.

Как обозначить, что если слева объединенная ячейка, то содержимое текущей удалять не нужно (пометил красным место, где я пробовал создать это условие)

Dim rng As Range
Dim intPos As Integer
Dim intPos2 As Integer
Dim ws2 As Worksheet
Dim ra As Range, r As Range
Application.ScreenUpdating = False

For Each ws2 In Worksheets
For Each ra In ws2.UsedRange.Rows
If Not ra.Find("äíè", , xlValues, xlPart) Is Nothing Then

Set r = ra

End If
Next

For Each rng In ws2.UsedRange.Cells
intPos = InStr(rng.Value, Фамилия) + InStr(rng.Value, "Фамилия")
intPos2 = 0
If rng.Column <> 1 Then
intPos = InStr(rng.Value, Фамилия) + InStr(rng.Offset(0, -1), Фамилия)+ InStr(rng.Offset(0, -1), Cell.MergeCells = -1)

If rng.Offset(0, -1).MergeCells And InStr(rng.Offset(0, -1), "Фамилия ") = 1 Then
intPos2 = 1
End If
End If

If Not intPos > 0 And intPos2 = 0 Then
rng.Value = ""

End If
Next rng
Next ws2


Сообщение отредактировал werom - Вторник, 30.09.2014, 04:47
 
Ответить
СообщениеДобрый день, подскажите пожалуйста в задаче
необходимо оставить содержимое ячейки, где числится "фамилия" и содержимое ячейки справа от этой.
Вот пример кода, но проблема в объединенных ячейках. Если ячейка объдиненная, то ячейка содержимое ячейки справа удаляется.

Как обозначить, что если слева объединенная ячейка, то содержимое текущей удалять не нужно (пометил красным место, где я пробовал создать это условие)

Dim rng As Range
Dim intPos As Integer
Dim intPos2 As Integer
Dim ws2 As Worksheet
Dim ra As Range, r As Range
Application.ScreenUpdating = False

For Each ws2 In Worksheets
For Each ra In ws2.UsedRange.Rows
If Not ra.Find("äíè", , xlValues, xlPart) Is Nothing Then

Set r = ra

End If
Next

For Each rng In ws2.UsedRange.Cells
intPos = InStr(rng.Value, Фамилия) + InStr(rng.Value, "Фамилия")
intPos2 = 0
If rng.Column <> 1 Then
intPos = InStr(rng.Value, Фамилия) + InStr(rng.Offset(0, -1), Фамилия)+ InStr(rng.Offset(0, -1), Cell.MergeCells = -1)

If rng.Offset(0, -1).MergeCells And InStr(rng.Offset(0, -1), "Фамилия ") = 1 Then
intPos2 = 1
End If
End If

If Not intPos > 0 And intPos2 = 0 Then
rng.Value = ""

End If
Next rng
Next ws2

Автор - werom
Дата добавления - 29.09.2014 в 20:59
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос для расписания (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!