Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Помогите! нужен макрос для замены английских слов на русские - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Помогите! нужен макрос для замены английских слов на русские
maloy Дата: Среда, 17.10.2012, 13:45 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Всем добрый день!
Есть документ, он находиться во вложениях. Проблема заключается в том что надо к существующему макросу дописать блок кода для замены англицких обозначений на русские. Например: "ps", нужно поменять на "шт". И так далее помогите кто чем может.


Сообщение отредактировал maloy - Среда, 17.10.2012, 13:59
 
Ответить
СообщениеВсем добрый день!
Есть документ, он находиться во вложениях. Проблема заключается в том что надо к существующему макросу дописать блок кода для замены англицких обозначений на русские. Например: "ps", нужно поменять на "шт". И так далее помогите кто чем может.

Автор - maloy
Дата добавления - 17.10.2012 в 13:45
Alex_ST Дата: Среда, 17.10.2012, 21:12 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (maloy)
Есть документ, он находиться во вложениях.
Это в каких? Не вижу вложений
Quote (maloy)
надо к существующему макросу
Это где?Не вижу макроса
Quote (maloy)
"ps", нужно поменять на "шт". И так далее
Это как? Не вижу логики
Наверное, сосем ослеп и отупел... cry



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Quote (maloy)
Есть документ, он находиться во вложениях.
Это в каких? Не вижу вложений
Quote (maloy)
надо к существующему макросу
Это где?Не вижу макроса
Quote (maloy)
"ps", нужно поменять на "шт". И так далее
Это как? Не вижу логики
Наверное, сосем ослеп и отупел... cry

Автор - Alex_ST
Дата добавления - 17.10.2012 в 21:12
maloy Дата: Среда, 17.10.2012, 21:22 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Я прошу прощения я просто ещё не умею файлы добавлять......
 
Ответить
СообщениеЯ прошу прощения я просто ещё не умею файлы добавлять......

Автор - maloy
Дата добавления - 17.10.2012 в 21:22
maloy Дата: Среда, 17.10.2012, 21:23 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Но файл экселевский даже в архиве весит 127кб, поэтому выложить его получится врядлм
 
Ответить
СообщениеНо файл экселевский даже в архиве весит 127кб, поэтому выложить его получится врядлм

Автор - maloy
Дата добавления - 17.10.2012 в 21:23
Alex_ST Дата: Среда, 17.10.2012, 21:26 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
А Вы уверены, что кто-то захочет разбираться в Вашем огромном файле, когда для решения проблемы, которую Вы "озвучили" в своём первом посте, явно достаточно десятка строк (чтобы знать как и где расположены данные) и ФРАГМЕНТА кода макроса?



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеА Вы уверены, что кто-то захочет разбираться в Вашем огромном файле, когда для решения проблемы, которую Вы "озвучили" в своём первом посте, явно достаточно десятка строк (чтобы знать как и где расположены данные) и ФРАГМЕНТА кода макроса?

Автор - Alex_ST
Дата добавления - 17.10.2012 в 21:26
Pelena Дата: Среда, 17.10.2012, 21:43 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
maloy, а в этой теме Вы не получили ответ на свой вопрос?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеmaloy, а в этой теме Вы не получили ответ на свой вопрос?

Автор - Pelena
Дата добавления - 17.10.2012 в 21:43
maloy Дата: Среда, 17.10.2012, 21:47 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Alex_ST на самом деле проблема то решена немного ранее, да и в коде своём я разбираться не прошу, пусть он длинее в 5 раз чем на самом деле,но я написал его сам и что самое главное он работает, а если что то работает то лучше туда не лезть))))) но чтобы этот пост не был пустой формальностью, я задам другую задачу. Есть диапазон в 1000 значений ("A1:A1000"), нужно найти последний элемент этого диапозона и все его не пустые элементы перемножить на число k, которое пользователь задаёт сам посредством inputbox.
У меня получилось так.....

[vba]
Code
Dim t As Single, cell, last As Range, k As String

t = Val(InputBox("Введите расчётный курс валюты", "курс евро"))
Set last = Range("A1:A1000")
k = last.Columns.End(xlDown).Address
For Each cell In Range("BG9:k")
If IsNumeric(cell.Value) And cell.Value <> "" Then
' Умножаются только ячейки, содержащие числовые данные
cell.Value = cell.Value * t
Else
MsgBox "В ячейке " & cell.Address & " нечисловое значение"
End If
Next
[/vba]
Но раз я пишу, то значит у меня ни фига не получилось. мне кажется что проблема в том что в переменную k записывается в виде абсолютного адреса, но наверное range подобные манипуляции не приветствует)))

Просьба коды оформлять тегами!
Модератор.
 
Ответить
СообщениеAlex_ST на самом деле проблема то решена немного ранее, да и в коде своём я разбираться не прошу, пусть он длинее в 5 раз чем на самом деле,но я написал его сам и что самое главное он работает, а если что то работает то лучше туда не лезть))))) но чтобы этот пост не был пустой формальностью, я задам другую задачу. Есть диапазон в 1000 значений ("A1:A1000"), нужно найти последний элемент этого диапозона и все его не пустые элементы перемножить на число k, которое пользователь задаёт сам посредством inputbox.
У меня получилось так.....

[vba]
Code
Dim t As Single, cell, last As Range, k As String

t = Val(InputBox("Введите расчётный курс валюты", "курс евро"))
Set last = Range("A1:A1000")
k = last.Columns.End(xlDown).Address
For Each cell In Range("BG9:k")
If IsNumeric(cell.Value) And cell.Value <> "" Then
' Умножаются только ячейки, содержащие числовые данные
cell.Value = cell.Value * t
Else
MsgBox "В ячейке " & cell.Address & " нечисловое значение"
End If
Next
[/vba]
Но раз я пишу, то значит у меня ни фига не получилось. мне кажется что проблема в том что в переменную k записывается в виде абсолютного адреса, но наверное range подобные манипуляции не приветствует)))

Просьба коды оформлять тегами!
Модератор.

Автор - maloy
Дата добавления - 17.10.2012 в 21:47
Hugo Дата: Среда, 17.10.2012, 21:57 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Один вопрос - одна тема, тут это лишнее.
В код не вникал, но вот тут нужно так:
[vba]
Code
Range("BG9:" & k)
[/vba]
Если хотите ещё поговорить про этот код - давайте в новую тему, а тут уберём.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеОдин вопрос - одна тема, тут это лишнее.
В код не вникал, но вот тут нужно так:
[vba]
Code
Range("BG9:" & k)
[/vba]
Если хотите ещё поговорить про этот код - давайте в новую тему, а тут уберём.

Автор - Hugo
Дата добавления - 17.10.2012 в 21:57
ABC Дата: Среда, 17.10.2012, 21:58 | Сообщение № 9
Группа: Друзья
Ранг: Обитатель
Сообщений: 397
Репутация: 112 ±
Замечаний: 0% ±

Excel 2007
maloy, не могу понят

добавил в пример Hugo

[vba]
Code
Sub Замена()
' Замена Макрос
' Замена одного значение на другое
     Dim avArr, анг, рус, s&, i&
     анг = Array("m", "ps")
     рус = Array("м", "шт")
     Set avArr = Range("A1:A39")    '.Value 'выбор диапазона значений в исходном листе
     For i = 1 To avArr.Rows.Count
         For s = 0 To 1
             If avArr(i) = анг(s) Then    'проверяем диапазон на наличие записи с этой буквой
                 avArr(i) = Replace(avArr(i), анг(s), рус(s))    'Заменяем значение
             End If
         Next
     Next i
End Sub
[/vba]


MS Excel 2007 and 2010...
-------------------------------
С Уважением, Даулет
 
Ответить
Сообщениеmaloy, не могу понят

добавил в пример Hugo

[vba]
Code
Sub Замена()
' Замена Макрос
' Замена одного значение на другое
     Dim avArr, анг, рус, s&, i&
     анг = Array("m", "ps")
     рус = Array("м", "шт")
     Set avArr = Range("A1:A39")    '.Value 'выбор диапазона значений в исходном листе
     For i = 1 To avArr.Rows.Count
         For s = 0 To 1
             If avArr(i) = анг(s) Then    'проверяем диапазон на наличие записи с этой буквой
                 avArr(i) = Replace(avArr(i), анг(s), рус(s))    'Заменяем значение
             End If
         Next
     Next i
End Sub
[/vba]

Автор - ABC
Дата добавления - 17.10.2012 в 21:58
Alex_ST Дата: Среда, 17.10.2012, 22:01 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Не вникая в суть Вашего оффтопного макроса, должно быть, наверное, так:
[vba]
Code
k = last.Columns.End(xlDown).Address(0, 0)
For Each cell In Range("BG9:" & k)
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеНе вникая в суть Вашего оффтопного макроса, должно быть, наверное, так:
[vba]
Code
k = last.Columns.End(xlDown).Address(0, 0)
For Each cell In Range("BG9:" & k)
[/vba]

Автор - Alex_ST
Дата добавления - 17.10.2012 в 22:01
maloy Дата: Среда, 17.10.2012, 22:08 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Раз уж просят так напишу новый пост....... Этот можно закрывать))))
 
Ответить
СообщениеРаз уж просят так напишу новый пост....... Этот можно закрывать))))

Автор - maloy
Дата добавления - 17.10.2012 в 22:08
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!