В настоящее время я пытаюсь сделать две вещи.
1) Поменять значения в двух столбцах.Значения изначально указаны как долгота, а затем широта.Я хочу, чтобы Latitude был указан первым, и я выполнил это в первой части кода.
2) Проблемная область.Долготы публикуются как положительное значение, но должны быть отрицательными, поскольку отрицательное значение обеспечит правильное местоположение.Я нашел ответ на
Преобразование положительных значений столбца в отрицательные значения VBA
, чтобы сделать отрицательными все значения в диапазоне и включить значения пустых ячеек в диапазоне.Я пытался изменить код в соответствии с моими потребностями, но получаю ошибку времени выполнения «1004» - метод «Range» объекта «_Global» не удался.
Если бы кто-нибудь мог мне помочь, это было бы очень признательно!
Public Sub CorrectLongitude()
Dim tempRange As Variant
Dim Longitude As Range
Dim Latitude As Range
'1) Swap Longitude and Latitude
Worksheets("Raw_Data").Activate
Set Longitude = Worksheets("Raw_Data").UsedRange.Columns("AR")
Set Latitude = Worksheets("Raw_Data").UsedRange.Columns("AS")
tempRange = Longitude.Cells
Longitude.Cells.Value = Latitude.Cells.Value
Latitude.Cells.Value = tempRange
'2) Make Longitude values negative
'Variable "Latitude is used as Latitude now contains the longitude values from above
For Each Latitude In Range(Range("AS"), Range("AS" & Rows.Count).End(xlUp))
If Not IsEmpty(Latitude.Value) Then If IsNumeric(Latitude.Value) Then Latitude.Value = -Abs(Latitude.Value)
Next
End Sub