У Джастина есть номера деталей, которые он обычно использует в рабочих листах, например, 660501C016971. Он хотел бы применить к ячейке настраиваемый формат, чтобы номер детали автоматически отображался с тире в нужном месте, например 6605-01-C01-6971.

К сожалению, это невозможно сделать с помощью специального формата. Зачем? Поскольку пользовательские форматы предназначены для отображения чисел, а не текста. Есть один текстовый формат, обозначаемый символом «at» (@), но это все; других нет, и никакие другие не могут быть определены.

Поскольку пользовательские форматы использовать нельзя, остается найти обходной путь. Один из способов сделать это — изучить номера деталей и посмотреть, можно ли удалить текстовую часть номера и можно ли использовать номер детали. Например, номер Джастина — 660501C016971. Если формат номера детали всегда требует буквы C в одной и той же точке номера детали (и никаких других возможных букв там нет), то вы можете просто удалить C и оставить номер 660501016971. Поскольку это число , вы можете разработать для него собственный формат, который включает тире в нужных местах и ​​букву C в нужном месте. Пользовательский формат будет выглядеть так:

0000-00-C00-0000

Если применить формат к ячейке, содержащей число 660501016971, вы получите правильно отформатированный номер детали:

6605-01-C01-6971. Однако у этого подхода есть недостатки. Самый большой недостаток заключается в том, что если вы когда-нибудь захотите экспортировать номера деталей в другую программу, например, в виде CSV-файла, то в конечном итоге будет экспортирован исходный номер без форматирования или буквы C.

Другой обходной путь — использовать формулу для отображения номеров деталей в желаемом формате. Вы можете ввести их в ячейку без тире, а затем использовать формулу для добавления тире в соответствующих местах.

Таким образом, при создании отчетов вы просто скроете столбец, содержащий номера деталей без тире. Вот формула, которая будет работать, если номер детали без тире находится в ячейке A1:

=LEFT(A1,4) & "-" & MID(A1,5,2) & "-" & MID(A1,7,3) & "-" & RIGHT(A1,4)

Если вы немного работаете с номерами деталей, вам может понадобиться способ как легко добавлять, так и удалять тире. Лучший способ сделать это — использовать макрос. Вы можете разработать макрос, который позволит вам добавлять и удалять тире из номера детали в выбранном диапазоне ячеек. Ниже приведен пример такого макроса.

Sub DashesIn()

DoDashes ("In")

End Sub
Sub DashesOut()

DoDashes ("Out")

End Sub
Private Sub DoDashes(What As String)

Dim c As Range     Dim J As Integer

For Each c In Selection.Cells         If c.Value <> "" Then             J = InStr(c.Value, "-")

Select Case What                 Case "Out"

While J > 0                         c.Value = Left(c.Value, J - 1) & _                           Mid(c.Value, J + 1, Len(c.Value))

J = InStr(c.Value, "-")

Wend                 Case "In"

If J = 0 Then                         c.Value = _                           Left(c.Value, 4) & "-" & _                           Mid(c.Value, 5, 2) & "-" & _                           Mid(c.Value, 7, 3) & "-" & _                           Right(c.Value, 4)

End If             End Select         End If     Next c End Sub

Обратите внимание, что на самом деле в этом листинге есть три макроса. Первый (DashesIn) добавляет тире к номеру детали, а второй (DashesOut)

удаляет их. Просто выберите ячейки, содержащие номера деталей, а затем запустите макрос, который выполнит нужную операцию.

И DashesIn, и DashesOut вызывают общую процедуру DoDashes, чтобы фактически выполнить работу. Макрос проверяет все выбранные ячейки, а затем выполняет любую операцию, которая должна быть выполнена с содержимым этих ячеек.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3231) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:

link: / excelribbon-Using_a_Custom_Format_to_Add_Dashes [Использование пользовательского формата для добавления тире].