Страницы: 1
RSS
[ Закрыто ] Помощь с макросом на обработку ряда CSV файлов в папке, Нужно обработать более 50 csv файлов в конкретной папке.
 
Добрый день всем.
Ситуация такая, в папке есть куча файлов в CSV формате
Нужно в каждом файле в столбце F - цена, сделать к цене + 17%, т.е. цена * 1.17
При этом в столбце F могут быть как текстовые, так и числовые значения, так же попадаются ошибки.
До этого делала с обычным excel файлом (макрос писал GPT с моими корректировками), все работает, а тут ерунда получается.
Код макроса и образец файла прикладываю ниже.
Заранее спасибо.

Sub Bez_scidki()
  Dim folderPath As String
  Dim fileName As String
  Dim wb As Workbook
  Dim ws As Worksheet
  Dim lastRow As Long
  Dim i As Long
  Dim cellValue As Double
 
  ' Укажите путь к папке с файлами
  folderPath = "C:\Users\123\Desktop\Площадки\123\2024.07.16\New\"
 
  ' Перебираем все файлы в папке
  fileName = Dir(folderPath & "\*.csv")
  While fileName <> ""
      ' Открываем файл
      Set wb = Workbooks.Open(folderPath & "\" & fileName)
     
      ' Получаем первый лист
      Set ws = wb.Sheets(1)
     
      ' Проверяем, можно ли преобразовать столбец H в числовой формат
      For i = 2 To ws.Range("F" & ws.Rows.Count).End(xlUp).Row
          If IsNumeric(ws.Cells(i, "F").Value) Then
              cellValue = CDbl(ws.Cells(i, "F").Value) * 1.17
              ws.Cells(i, "F").Value = Format(cellValue, "0.00")
          Else
              ws.Cells(i, "F").Value = "0"
          End If
      Next i
     
      ' Сохраняем файл
      wb.Save
     
      ' Закрываем файл
      wb.Close
     
      ' Переходим к следующему файлу
      fileName = Dir()
  Wend
 
  MsgBox "Обработка файлов завершена.", vbInformation
End Sub
 
Продолжаем нарушать Правила? Зачем создали дубль темы? Я просил ПРЕДЛОЖИТЬ название, а не создать новую тему.
Согласие есть продукт при полном непротивлении сторон
Страницы: 1
Читают тему
Наверх