Я действительно знаком с vba, поэтому, пожалуйста, простите мой убой кода. Я пытаюсь написать макрос для excel (мой первый), и я получаю «заявление недействительным вне блока типов» (указывая на первую строку). Вот мой код:sub declaration visual Basic
Sub MakeHTMLTable()
Worksheets("Sheet1").Activate
endRow As Integer
For Count = 1 To 200
For CountY = 1 To 200
If (!ActiveSheet.Cells(Count, CountY).Value.IsEmpty) Then
ActiveSheet.Cells(Count, CountY).Value = "<td>" + ActiveSheet.Cells(Count, CountY).Value + "</td>"
End If
Exit For
Exit For
For i = 1 To 200
If (!ActiveSheet.Cells(i, 1).Value.IsEmpty()) Then
ActiveSheet.Cells(i, 1).Value = "<tr>" + ActiveSheet.Cells(i, 1)
End If
Exit For
For x = 1 To 200
If (!ActiveSheet.Cells(x, 1).Value.IsEmpty()) Then
endRow = x
End If
Exit For
For countAgain = 1 To 200
If (!ActiveSheet.Cells(x, countAgain).Value.IsEmpty()) Then
ActiveSheet.Cells(x, countAgain).Value = ActiveSheet.Cells(x, countAgain).Value + "</tr>"
End If
Exit For
End Sub
Я действительно не понимаю, как отладчик не будет работать на линии компьютера сгенерированный код, даже не делая его шахты. Разве я пропустил окончание в If
"или For
блок?
Я также понимаю, что я, вероятно, изобретать колесо. Любая помощь на более уместно встроенные функции будут оценены.
Спасибо! Он работает сейчас. – Riet
Я никогда не видел, что IsEmpty используется таким образом, и я не могу заставить его работать. Должно ли это быть «If Not IsEmpty (ActiveSheet.Cells (i, 1) .Value) Затем« –
@DickKusleika Спасибо за это. Сейчас у меня это работает, но для меня это тоже не скомпилируется. Идите фигуру, плохой синтаксис, никакой работы. – Riet