Здравствуйте, я хотел бы добавить значение (из текстового поля как число (17)) в ячейку к 4-му столбцу (слева направо) для каждой строки от 2 до 50,
и другое значение (текстовое поле как число (57)) от 50 до последней строки с данными в столбце «А».
Итак, я уже открыл файл Excel в коде, запустил макрос в файле Excel, и я могу сохранить его, но только моя первая строка меняет значение на 17 в столбце 4. И мне фактически не нужно менять первую строку, мне нужно вводить данные в ячейку со второй строки до последней. Может ли кто-нибудь помочь мне?
Private Sub ReportBtn_Click(sender As Object, e As EventArgs) Handles Report_Btn.Click
Dim oExcel As Excel.Application
Dim oBook As Excel.Workbook
Dim oBooks As Excel.Workbooks
Dim wsheet As Excel.Worksheet
If MORCheckbox.Checked Then
Dim nowYear As Integer = Date.Now.Year
Dim MontText As String = MonatTextBox.Text
Dim path As String = "C:\TEST\" & nowYear & "\" & MontText & ""
Dim name As String = "\Filename" & MontText & " " & nowYear & ".xlsx"
Dim pathandname As String = (path & name)
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
oExcel = CreateObject("Excel.Application")
oExcel.Visible = False
oBooks = oExcel.Workbooks
oBook = oBooks.Open("C:\TEST2\Report - Test.xlsm")
oExcel.Run("TestMACRO")
Dim numrows As Integer
numrows = oBook.Sheets("Sheet1").UsedRange.Rows.Count
wsheet = oBook.Worksheets(1)
Dim range1 As Excel.Range = wsheet.Range("A1")
For Each cell1 As Excel.Range In range1.Cells
If numrows >= 2 Or numrows <= 50 Then
wsheet.Cells(4).value = "17"
ElseIf numrows >= 51 Then
wsheet.Cells(4).value = "57"
End If
Next
oExcel.DisplayAlerts = False
oBook.SaveAs(pathandname, 51) ' 51 == xlsx
oBook.Close()
oBook = Nothing
oExcel.Quit()
oExcel = Nothing
Else
End If
Проблема в том, что только 4-я ячейка в первом ряду изменяется на 17, а остальные строки / ячейки не меняются.