У меня есть некоторые данные, которые я хочу, чтобы в основном сократить до первых 12 чисел, независимо от того, сколько из них выходит. То, как я сейчас это делаю, - это взять числа из столбца C и в столбце GI есть формула = Влево (C3,12). Затем я перетаскиваю его так, чтобы он соответствовал диапазону в C. Затем я запускаю макрос, который выглядит как это:Использование Left без копирования и вставки
Sub Macro6()
Range("G3:G7").Select
Selection.Copy
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Это работает, но я должен постоянно обновлять диапазон, и это довольно неуклюжий. Кто-нибудь знает лучший способ добиться того же самого? (в основном, значения в C становятся только первыми 12 цифрами)
Это самое близкое к тому, что мне нужно. Как бы то ни было. Сырье номер: 1Е + 11 1.00003E + 11 4E + 13 1.50026E + 15 1.50026E + 17 (Это одна 150025752456000000) Результат: 1Е + 11 1.00003E + 11 4E + 13 1.50026E + 15 1.50026E + 17 (этот становится 150026000000) Мне нужно, чтобы все 12 чисел были одинаковыми с первых 12. – MadChadders
Вот некоторые из сырых чисел, которые я работаю с 100000000000, 100003000000 , 40000010000000, 1500257523000000, 150025752456000000. Я не уверен, почему ваше кодирование округляет эти числа? Когда я его запустил. Они стали 100000000000, 100003000000, 40000000000000, 1500260000000000, 150026000000000000 – MadChadders
Я попробовал это с фактическими данными, которые вы предоставили, и он прошел отлично без округления (см. Мои обновленные фотографии в ответе). Если я запустил его с форматированием ячейки как научным, я вижу вашу проблему. Я предполагаю, что научная нотация теряет точность числа. Можете ли вы изменить формат ячейки на Number вместо Scientific? –