Текущее время: Пт, июл 18 2025, 14:40

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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