Я только начал использовать VBA для работы, и у меня практически нет опыта, поэтому любая помощь / предложения высоко ценятся!
Я работаю над автоматическим отчетом, где мне нужно использовать номер устройства для поиска данныхпринадлежность к нему.Например, 90902018436270200 - это fullNumber, необходимые цифры - 18436.
Кроме того, числа отображаются как 9.0902E + 16, прежде чем я копирую их и изменяю их со значения по умолчанию на числа.
Количество перед числами всегдаоставайтесь прежними, однако требуемое число редко может быть длиной всего 4 цифры.
Я пытался удалить первые цифры с помощью:
If Left(Range("A5"), 1) = "9" Then
Range("A5").Value = WorksheetFunction.Replace(Range("A5").Value, 1, 4, "")
Однако при использовании этого числа фактически становится больше, что яПредположим, это из-за экспоненциальной записи, которую мне, вероятно, придется как-то удалить.
![This is the sheet i need to Filter](https://i.stack.imgur.com/quUa6.png)
На снимке экрана вы видите большое число, которое я отредактировалс формулой.
Числа на левой стороне, которые указывают имя устройства для использования = vlookup Мне нужно отфильтровать ненужные числа, или он не будет распознавать, из какой строки взять данные.На другом листе у меня есть ячейка, пользователь может ввести номер устройства, после чего он должен найти данные, соответствующие номеру этого устройства.Однако формула = Vlookup не распознает необходимое число в необработанном / большом числе.
Это код, который я использую до сих пор, чтобы упорядочить данные для работы с формулой Excel.
Sub CorrectNames()
'replaces complicated names to easier ones
Range("B3").Select
ActiveCell.FormulaR1C1 = "10"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "20"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "50"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "100"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "1000"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "200"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "2000"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "500"
ActiveCell.Offset(0, 1).Range("A1").Select
'moves device digits to the left side and changes format
Range(Selection, Selection.End(xlDown)).Select
Selection.Cut
ActiveCell.Offset(0, -9).Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.NumberFormat = "0."
End Sub
Sub ExposeDevicedigits()
If Left(Range("A5"), 1) = "9" Then
Range("A5").Value = WorksheetFunction.Replace(Range("A5").Value, 1, 4, "")
End If
End Sub
Таблица данных, куда будут отправляться отфильтрованные результаты