Кажется, что это должно быть просто, но я получаю коды ошибок весь день: У меня есть данные, которые я пытаюсь очистить до графика (он экспортируется из удерживающей системы, которая когда-то оставляет «пустые» ячейки, фактически не пустые). Итак, я подумал, что могу запустить формулу «IsNumeric», чтобы получить значения TRUE/FALSE, но теперь я столкнулся с проблемой замены существующих не-пробелов, которые выглядят как пустые значения по моему выбору.Диапазон для очистки данных
Все данные в колонке А, а затем столбец B имеет TRUE/FALSE формула работает:
=ISNUMBER(A1) 'from rows 1 to 4378
Я надеюсь, чтобы иметь возможность иметь макро запись в колонке C-то вдоль этих линий (по крайней мере, это лучшее, что я придумал, но он не работает):
Sub WayEatFresh()
Dim dbsheet As Worksheet
Set dbsheet = ThisWorkbook.Sheets("Sheet2")
lr = dbsheet.Cells(Rows.Count,1).End(xlUp).Row
For x = 1 To lr
If dbsheet.Range(x,2).Value = True Then
dbsheet.Range(x,3).Value = dbsheet.Range(x,1).Value
Else dbsheet.Range(x,3).Value = 0
End If
Next x
End Sub
Я не знаю, как исправить ошибку времени выполнения «„1004“: Метод„Range“из object'_Worksheet «не удалось».
Любые указатели?
Редактирование исходного кода в соответствии с предложениями, предусмотренных @nwhaught, я добавил несколько вещей в коде, и сейчас работает. Вот окончательные итерации (любое объяснение того, почему это работало над другой версией приветствуются!):
Sub WayEatFresh()
Dim x As Integer
With ThisWorkbook
For x = 1 To 4378
If Cells(x, 2).Value = True Then
Cells(x, 3).Value = Cells(x, 1).Value
Else
Cells(x, 3).Value = 0
End If
Next x
End With
End Sub
Здравствуйте, у меня есть несколько вопросов .. 1) В чем именно заключается желаемый вывод проблемы, которую вы пытаетесь решить? Из того, что я могу собрать, это звучит так, как будто вы либо не хотите, чтобы эти пробелы отображались на графике, либо вы хотите, чтобы они отображались как 0? Не могли бы вы это уточнить? 2) Могу ли я спросить, в чем заключается причина использования VBA по формуле для следующего столбца? 3) Для чего используется тег условного форматирования? – chancea
Какая строка содержит сообщение об ошибке? Почему вы хотите сделать это с помощью макроса, было бы проще с формулой: '= IF (ISNUMERIC (A1), A1,0)' –
действительно ли вы хотите ХРАНИТЬ пробелы? или удалить их в конце концов? Если вы хотите удалить пробелы, удалите всю строку, когда x достигнет пробела. (если в этой строке нет чего-то другого). С этой новой пустой таблицей вы должны правильно нарисовать диаграмму. –