Текущее время: Вс, июл 06 2025, 07:19

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Выгрузка файла в excel
СообщениеДобавлено: Ср, дек 10 2014, 09:19 
Начинающий
Начинающий

Зарегистрирован:
Ср, дек 10 2014, 09:11
Сообщения: 1
Добрый день!
Есть такой вот код Помогите разобраться с куском,который выделен красным цветом

Dim HCellName As String, TCellName As String, MCellName As String
Dim hvalue As Double, tvalue As Double, mvalue As Double
Dim r As Range
Set r = ThisWorkbook.Sheets("RawData").UsedRange
Set sr = ThisWorkbook.Sheets("F15 - 1.").UsedRange
Set tr = ThisWorkbook.Sheets("F15 -12.").UsedRange
Set d = ThisWorkbook.Sheets("Header").UsedRange

For i = 2 To r.Rows.Count
If Left(r.Cells(i, 2), 1) = "/" Then

HCellName = "T" & Replace(r.Cells(i, 1), ".", "_")
TCellName = "P" & Replace(r.Cells(i, 1), ".", "_")
hvalue = Trim(r.Cells(i, 3).Value)
tvalue = Trim(r.Cells(i, 4).Value)

If hvalue >= 0 And Left(HCellName, 4) <> "T137" And Left(HCellName, 4) <> "T132" Then
Range(HCellName).Value = hvalue
Else: Range(HCellName).Value = hvalue * (-1)
End If

If tvalue >= 0 And Left(TCellName, 4) <> "P137" And Left(TCellName, 4) <> "P132" Then
Range(TCellName).Value = tvalue
Else: Range(TCellName).Value = tvalue * (-1)
End If



End If

Next




'Äàòû
p1 = Left(d.Cells(6, 1).Value, 16)
p2 = Right(p1, 7)
p3 = Right(p2, 2)
p4 = Left(p2, 4)
p5 = CStr(CInt(p4) - 1)
p6 = CStr(CInt(p4) - 2)
If p3 = "01" Then m1 = "янв"
If p3 = "02" Then m1 = "фев"
If p3 = "03" Then m1 = "март"
If p3 = "04" Then m1 = "апр"
If p3 = "05" Then m1 = "май"
If p3 = "06" Then m1 = "июнь"
If p3 = "07" Then m1 = "июль"
If p3 = "08" Then m1 = "авг"
If p3 = "09" Then m1 = "сент"
If p3 = "10" Then m1 = "окт"
If p3 = "11" Then m1 = "нояб"
If p3 = "12" Then m1 = "дек"
If p3 = "01" Or p3 = "03" Or p3 = "05" Or p3 = "07" Or p3 = "08" Or p3 = "10" Or p3 = "12" Then d1 = "31"
If p3 = "04" Or p3 = "06" Or p3 = "09" Or p3 = "11" Then d1 = "30"
If p3 = "02" And (p4 = "2012" Or "2016") Then d1 = "29"
If p3 = "02" And (p4 <> "2012" Or "2016") Then d1 = "28"

tr.Cells(6, 1).Value = "по состоянию на" & " " & d1 & " " & m1 & " " & p4 & " " & "года"
sr.Cells(6, 1).Value = "по состоянию на" & " " & d1 & " " & m1 & " " & p4 & " " & "года"
'tr.Cells(6, 7).Value = p1


End Sub


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выгрузка файла в excel
СообщениеДобавлено: Ср, дек 10 2014, 11:11 
Ассистент
Ассистент

Зарегистрирован:
Пн, май 07 2007, 14:31
Сообщения: 35
На всякий случай выложил копию ответа на http://pastebin.com/c0UQ16zm с подсветкой синтаксиса.

Code:
For i = 2 To r.Rows.Count << идем по строкам сверху вниз, исключая заголовочную строку
   If Left(r.Cells(i, 2), 1) = "/" Then << если во втором столбце самый левый символ /

      HCellName = "T" & Replace(r.Cells(i, 1), ".", "_") << берем из первого столбца значение и заменяем точки на подчеркивания, потом добавляем T в начале (должно получатся что-то типа T###_###)
      TCellName = "P" & Replace(r.Cells(i, 1), ".", "_") << берем из первого столбца значение и заменяем точки на подчеркивания, потом добавляем P в начале (должно получатся что-то типа P###_###)
      hvalue = Trim(r.Cells(i, 3).Value) << берем значения из третьего столбца (обрезая проблемы вначале и в конце)
      tvalue = Trim(r.Cells(i, 4).Value) << берем значения из третьего столбца (обрезая проблемы вначале и в конце)

      если первый столбец не начинается на значение 137 или 132
      тогда записываем в ячейку T###_### модуль числа из третьего столбца
      иначе (если первый столбец начинается на 137 или 132) то записываем значение третьего столбца с обратным знаком
      If hvalue >= 0 And Left(HCellName, 4) <> "T137" And Left(HCellName, 4) <> "T132" Then
         Range(HCellName).Value = hvalue
      Else:
         Range(HCellName).Value = hvalue * (-1)
      End If

      аналогично
      If tvalue >= 0 And Left(TCellName, 4) <> "P137" And Left(TCellName, 4) <> "P132" Then
         Range(TCellName).Value = tvalue
      Else:
         Range(TCellName).Value = tvalue * (-1)
      End If
   End If


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выгрузка файла в excel
СообщениеДобавлено: Ср, дек 10 2014, 12:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Казалось бы, при чем здесь SAP :?

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB