Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/40: Рейтинг темы: голосов - 40, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 02.04.2013
Сообщений: 8
1
Excel

Как удалить последний символ в строке?

01.11.2020, 19:59. Показов 7869. Ответов 4

Author24 — интернет-сервис помощи студентам
Нужно реверсировать строку, появляется лишняя запятая в конце строки. Как убрать последнюю запятую?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub ReverseWord()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Sigh As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Sigh = Application.InputBox("Symbol interval", xTitleId, ",", Type:=2)
For Each Rng In WorkRng
    strList = VBA.Split(Rng.Value, Sigh)
    xOut = ""
    For i = UBound(strList) To 0 Step -1
        xOut = xOut & strList(i) & Sigh
    Next
    Rng.Value = xOut
Next
End Sub
Допустим строка
aa1, bb1, cc1, dd1, ee1, ff1
Результат
ff1, ee1, dd1, cc1, bb1,aa1,
А надо
ff1, ee1, dd1, cc1, bb1,aa1
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2020, 19:59
Ответы с готовыми решениями:

Как удалить последний символ из файла?
Вот часть кода fileSaveName = Application.GetSaveAsFilename("Zadanie", _ fileFilter:="Text...

Как в строке AnsiString удалить последний символ?
Как в строке AnsiString удалить последний символ? Подскажите, а то я чего-то подзабыл, еще вчера я...

Как привести Int к строке, а затем удалить последний символ из строки
#include <string> using namespace std; int main(){ int num; char string_num; char...

В заданной строке удалить последний символ пробел, который найдется в строке
Здравствуйте, можете помочь с методом удаления последнего пробела в строке?

4
2736 / 1711 / 778
Регистрация: 23.03.2015
Сообщений: 5,420
01.11.2020, 20:28 2
Лучший ответ Сообщение было отмечено JungleJungle как решение

Решение

JungleJungle,

В вашем коде строку 17 Rng.Value = xOut
поменяйте на
Rng.Value = Left(xOut, Len(xOut) - 1)
2
92 / 58 / 21
Регистрация: 09.05.2019
Сообщений: 183
01.11.2020, 20:28 3
JungleJungle, Если Вам надо удалить последний символ в строке воспользуйтесь функцией Mid

Правила вызова функции
Mid(выражение, номерПозиции [, числоСимволов ])

Visual Basic
1
2
3
4
'1) действие узнаем длину строки
S1_Len = Len(S1) 'S1 - искомая строка
'2) удаляем последний символ, на самом деле функция mid возвращает нам заданное количество символ от указанной позиции
S2 = Mid(S1, 1, S1_Len - 1) 'Записываем в переменную S2 все кроме последнего символа
0
2736 / 1711 / 778
Регистрация: 23.03.2015
Сообщений: 5,420
01.11.2020, 20:34 4
Можно и так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub ReverseWord()
Dim Rng As Range
Dim WorkRng As Range
Dim Sigh As String
On Error Resume Next
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    Sigh = Application.InputBox("Symbol interval", xTitleId, ",", Type:=2)
    Rng.Value = StrReverse(Rng.Value)
End Sub
0
4076 / 1456 / 401
Регистрация: 07.08.2013
Сообщений: 3,630
01.11.2020, 20:53 5
Цитата Сообщение от JungleJungle Посмотреть сообщение
xOut = xOut & strList(i) & Sigh
заменить на
Visual Basic
1
xOut = xOut & strList(i) & iif(i<>0,Sigh,"")
0
01.11.2020, 20:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2020, 20:53
Помогаю со студенческими работами здесь

Удалить последний символ в строке
Нужно если последний символ в переменной / удалить его! напирмер $str = 'http://site.ru/'; ...

Удалить последний символ в строке
Прошу подсказать. Мне нужно в текстбоксе удалить последний символ. Я делаю так: Dim n As String...

Удалить последний символ в строке
Пробовал так: string x = &quot;xxxxx&quot;; int x1 = 0; x1 = x.Length - 1; x = x.Substring(0, x1); Но...

Удалить ненужный последний символ в строке
Есть такои код. Нужно, чтобы он возвращал строку без последней запятои, т.е вот такои s= 0,1или...

В заданной строке удалить последний символ
в заданной строке удалить последний символ.

Удалить последний символ в строке вывода данных
Ну вот собственно такой несложный конечно вопрос возник но неполучается почему-то.. Это то что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru