1)Как "вытащить" в макросе переменную среды - в данном случае сетевое имя комьютера.
2)В ячейку нужно поместить техт "м3", где "3" должна быть представлена в виде показателя степени. При ручном вводе информации этот символ вводится копированием из таблицы символов . Как достичь такого же результата при программном формировании ячейки?
EXCEL-VBA-Как"вытащить"ПеременнуюСреды,КакЗаписать
Модератор: Naeel Maqsudov
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
2) попробовать через коллекцию Characters изменить шрифт нужного сивмола на superscript

смотрите...
forum/viewtopic.php?t=4304&highlight=
Применительно к вашему случаю...
MsgBox (Environ("COMPUTERNAME"))
Наверно вы знаете, как их просмативать в Windows...
Но на всякий случай: Пуск\Выполнить\cmd\команда set
forum/viewtopic.php?t=4304&highlight=
Применительно к вашему случаю...
MsgBox (Environ("COMPUTERNAME"))
Наверно вы знаете, как их просмативать в Windows...
Но на всякий случай: Пуск\Выполнить\cmd\команда set
Есть ячейка со значением "м3"
Нажимаете на ней F2, затем выделяете только цифру 3, правая кнопка мыши - "Формат ячеек",
устанавливаете опцию "Верхний индекс" - вот вам и показатель степени.
Затем все тоже проделал с записью макроса, вот что получилось...
Очевидно, что за это дело отвечает свойство .Superscript = True, что и советовал Игорь Акопян.
Нажимаете на ней F2, затем выделяете только цифру 3, правая кнопка мыши - "Формат ячеек",
устанавливаете опцию "Верхний индекс" - вот вам и показатель степени.
Затем все тоже проделал с записью макроса, вот что получилось...
Код: Выделить всё
Sub Макрос1()
' Макрос1 Макрос
' Макрос записан 17.11.2005 (HomePC)
Range("F14").Select
ActiveCell.FormulaR1C1 = "м3"
With ActiveCell.Characters(Start:=1, Length:=1).Font
.Name = "Arial Cyr"
.FontStyle = "обычный"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
With ActiveCell.Characters(Start:=2, Length:=1).Font
.Name = "Arial CYR"
.FontStyle = "обычный"
.Size = 10
.Strikethrough = False
.Superscript = True
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
End Sub
Очевидно, что за это дело отвечает свойство .Superscript = True, что и советовал Игорь Акопян.
Avsha, b]Игорь Акопян[/b], спасибо!
С переменной среды все отлично, ответ подходит, спасибо за него и ссылку,
На 2-ой вопрос привожу еще один ответ (Pashulka,на другом форуме), для моих нужд он более удобен.
ActiveCell.Value = "m" & ChrW(179)
С переменной среды все отлично, ответ подходит, спасибо за него и ссылку,
На 2-ой вопрос привожу еще один ответ (Pashulka,на другом форуме), для моих нужд он более удобен.
ActiveCell.Value = "m" & ChrW(179)
Вариант с ChrW(179) мне тоже понравился,
попутно разобрался, что не всегда надо доставать таблицу символов для копирования в Excel,
можно вбить этот символ сочетанием Alt(удерживаем)-0-1-7-9-Alt(отпускаем).
Только если в показатель необходимо будет записать выражение, типа (x+1) придеться воспользоваться верхним индексом,
но похоже вам Объема (м³
достаточно 
попутно разобрался, что не всегда надо доставать таблицу символов для копирования в Excel,
можно вбить этот символ сочетанием Alt(удерживаем)-0-1-7-9-Alt(отпускаем).
Только если в показатель необходимо будет записать выражение, типа (x+1) придеться воспользоваться верхним индексом,
но похоже вам Объема (м³


Да, я тоже стала пользоваться вводом с помощью Alt(этот способ известен давно, но когда им не пользуешься длительное время, просто о нем забываешь). Что касается объема, мне действительно достаточно в показателе степени одной тройки и с помощью предложенного приема моя проблема легко решилась, можно сказать, одним оператором(в сформированной программно таблице перед выдачей результата глобальной заменой вместо м3 ставится м³ 
