Vba excel знак табуляции

If you want to make a tabulation for a message box or to write in a file.

To write in a file:

> 'file 
> Dim FSO As New FileSystemObject 'FSO 
> Dim File_DBC 'file to write
> 
> File_DBC="" 'complete path
> 
> Set File_DBC = FSO.OpenTextFile(File_DBC, ForWriting, True,TristateUseDefault) 'open 
> Data File_DBC.WriteLine 'test'

asked Jun 3, 2015 at 7:43

White's user avatar

You have to use vbTab

MsgBox «blabla» + vbTab + «blabla»

You can also use: Chr(9) which directly correspond to the tabulation char in the ASCII table.
I.E. : «reverse» of Chr() is Asc()

R3uK's user avatar

R3uK

14.4k7 gold badges43 silver badges77 bronze badges

answered Jun 3, 2015 at 7:43

White's user avatar

WhiteWhite

1111 silver badge8 bronze badges

Главная » Функции VBA »

28 Апрель 2011              351425 просмотров

  • ASC()— эта функция позволяет вернуть числовой код для переданного символа. Например, ASC("D") вернет 68. Эту функцию удобно использовать для того, чтобы определить следующую или предыдущую букву. Обычно она используется вместе с функцией Chr(), которая производит обратную операцию — возвращает символ по переданному его числовому коду.Варианты этой функции — AscB() и AscW():
    • AscB() — возвращает только первый байт числового кода для символа.
    • AscW() — возвращает код для символа в кодировке Unicode
  • Chr() — возвращает символ по его числовому коду. Может использоваться в паре с функцией Asc(), но чаще всего её применяют, когда нужно вывести служебный символ (например кавычки — "), т.к. кавычки просто так в VBA-коде не ввести(нужно ставить двойные). Я обычно именно эту функцию и использую.
        Dim sWord As String
        sWord = Chr(34) & "Слово в кавычках" & Chr(34)

    Есть варианты этой функции — ChrB() и ChrW(). Работают аналогично таким же вариантам для функции Asc().

  • InStr() и InStrRev()— одна из самых популярных функций. Позволяет обнаружить в теле строковой переменной символ или последовательность символов и вернуть их позицию. Если последовательность не обнаружена, то возвращается 0.
        Dim sStr As String
        sStr = "w"
        If InStr(1, "Hello, World!", sStr, vbTextCompare) > 0 Then
            MsgBox "Искомое слово присутствует!"
        Else
            MsgBox "Искомое слово отсутствует!"
        End If

    Разница функций в том, что InStr() ищет указанное слово от начала строки, а InStrRev() с конца строки

  • Left(), Right(), Mid()— возможность взять указанное вами количество символов из существующей строковой переменной слева, справа или из середины соответственно.
        Dim sStr As String
        sStr = "Hello, World!"
        MsgBox Mid(sStr, 1, 5)
  • Len() — возможность получить число символов в строке. Часто используется с циклами, операциями замены и т.п.
  • LCase() и UCase() — перевести строку в нижний и верхний регистры соответственно. Часто используется для подготовки значения к сравнению, когда при сравнении регистр не важен (фамилии, названия фирм, городов и т.п.).
  • LSet() и RSet() — возможность заполнить одну переменную символами другой без изменения ее длины (соответственно слева и справа). Лишние символы обрезаются, на место недостающих подставляются пробелы.
  • LTrim(), RTrim(), Trim() — возможность убрать пробелы соответственно слева, справа или и слева, и справа.
  • Replace()— возможность заменить в строке одну последовательность символов на другую.
        Dim sStr As String
        sStr = "Hello, World!"
        MsgBox Replace(sStr, "Hello", "Bay")
  • Space() — получить строку из указанного вами количества пробелов;
    Еще одна похожая функция — Spc(), которая используется для форматирования вывода на консоль. Она размножает пробелы с учетом ширины командной строки.
  • StrComp() — возможность сравнить две строки.
  • StrConv() — возможность преобразовать строку (в Unicode и обратно, в верхний и нижний регистр, сделать первую букву слов заглавной и т.п.):
        Dim sStr As String
        sStr = "Hello, World!"
        MsgBox StrConv("Hello, World!", vbUpperCase)

    В качестве второго параметра параметра могут применяться константы:

    • vbUpperCase: Преобразует все текстовые символы в ВЕРХНИЙ РЕГИСТР
    • vbLowerCase: Преобразует все текстовые символы в нижний регистр
    • vbProperCase: Переводит первый символ каждого слова в Верхний Регистр
    • *vbWide: Преобразует символы строки из однобайтовых в двухбайтовые
    • *vbNarrow: Преобразует символы строки из двухбайтовых в однобайтовые
    • **vbKatakana: Преобразует символы Hiragana в символы Katakana
    • **vbHiragana: Преобразует символы Katakana в символы Hiragana
    • ***vbUnicode: Преобразует строку в Юникод с помощью кодовой страницы системы по умолчанию
    • ***vbFromUnicode: Преобразует строку из Юникод в кодовую страницу системы по умолчанию
    • * применимо для локализацией Дальнего востока
      ** применимо только для Японии
      *** не поддерживается операционными системами под управлением Macintosh

  • StrReverse() — «перевернуть» строку, разместив ее символы в обратном порядке. Функция работает только начиная от Excel 2000 и выше. Пример использования функции, а так же иные методы переворачивания слова можно посмотреть в этой статье: Как перевернуть слово?
  • Tab() — еще одна функция, которая используется для форматирования вывода на консоль. Размножает символы табуляции в том количестве, в котором вы укажете. Если никакое количество не указано, просто вставляет символ табуляции. Для вставки символа табуляции в строковое значение можно также использовать константу vbTab.
  • String() — позволяет получить строку из указанного количества символов (которые опять-таки указываются Вами). Обычно используются для форматирования вывода совместно с функцией Len().

Статья помогла? Сделай твит, поделись ссылкой с друзьями!

In this article, we have created two macros to understand the formatting of tab character within VBA.

We have taken data in the range A9:A11 as raw data.

ArrowRaw

In example 1, we have created a string in which we have consolidated data from cells within the range A9:A11, separated by tab characters (vbTab). When we display the string using a message box, we will be able to see tab spacing.

ArrowFirstOutput

However, when we insert string value in cell A14, tab spacing is not visible. We have used some Excel formulas to show tab characters exist between the words.

ArrowFormulas

In example 2, we have separated each character in the string value of cell A14 and we have used new line character (vbNewLine) to insert line breaks. Output of example 2 is also displayed using a message box.

ArrowSecondOutput

Please follow below for the code

Option Explicit

Sub example1()

'Declaring variable
Dim MainString As String

'Concatenating value from range A9 to A11 separated by Tab character
MainString = Range("A9").Value & vbTab & Range("A10").Value & vbTab & Range("A11").Value

'Display string in message box
MsgBox MainString

'Assigning value to cell A14
Range("A14").Value = MainString

End Sub

Sub example2()

'Declaring variables
Dim i, CharLength As Integer
Dim Output As String
Dim InputValue As String

'Getting input value from cell A14
InputValue = Range("A14").Value
CharLength = Len(InputValue)

'Looping through all the characters in the input value
For i = 1 To CharLength
    'Creating string in which each character in the input is separated by new line
    Output = Output & Asc(Mid(InputValue, i, 1)) & " " & Mid(InputValue, i, 1) & vbNewLine
Next i

'Displaying output using message box
MsgBox Output

End Sub

If you liked this blog, share it with your friends on Facebook. Also, you can follow us on Twitter and Facebook.

We would love to hear from you, do let us know how we can improve our work and make it better for you. Write to us at info@exceltip.com

  1. 08-09-2005, 11:05 PM


    #1

    How to specify a tab character in excel vba…

    Hi all,

    I am trying to use Chip Pearson’s code for extracting text files.
    This is the link for it
    http://www.cpearson.com/excel/imptext.htm
    I like this code very much. It will allow you to specify any delimiter
    character. However, I don’t know how to specify a tab character in vba.
    I tried «t» like in unix, perl etc. No luck. So could you please tell
    me how can I specify a tab character in vba.
    Thanks in advance,

    shishi


  2. 08-09-2005, 11:05 PM


    #2

    Re: How to specify a tab character in excel vba…

    Hi Shishi,

    Try vbTab or chr(9).


    Regards,
    Norman

    «shishi» <shishiram@gmail.com> wrote in message
    news:1123640781.754959.280280@o13g2000cwo.googlegroups.com…


    > Hi all,
    >
    > I am trying to use Chip Pearson’s code for extracting text files.
    > This is the link for it
    > http://www.cpearson.com/excel/imptext.htm
    > I like this code very much. It will allow you to specify any delimiter
    > character. However, I don’t know how to specify a tab character in vba.
    > I tried «t» like in unix, perl etc. No luck. So could you please tell
    > me how can I specify a tab character in vba.
    > Thanks in advance,
    >
    > shishi
    >


  3. 08-10-2005, 12:05 AM


    #3

    Re: How to specify a tab character in excel vba…

    Hi Norman,

    Thanks for yoiur reply. That did work.

    shishi


title keywords f1_keywords ms.prod ms.assetid ms.date ms.localizationpriority

Chr function (Visual Basic for Applications)

vblr6.chm1020927

vblr6.chm1020927

office

a9dc96ec-4719-8d24-144b-61d45fa58fe5

12/11/2019

high

Returns a String containing the character associated with the specified character code.

Syntax

Chr(charcode)
ChrB(charcode)
ChrW(charcode)

The required charcode argument is a Long that identifies a character.

Remarks

Numbers from 0–31 are the same as standard, nonprintable ASCII codes. For example, Chr(10) returns a linefeed character. The normal range for charcode is 0–255. However, on DBCS systems, the actual range for charcode is -32768–65535.

[!NOTE]
The ChrB function is used with byte data contained in a String. Instead of returning a character, which may be one or two bytes, ChrB always returns a single byte.

The ChrW function returns a String containing the Unicode character except on platforms where Unicode is not supported, in which case, the behavior is identical to the Chr function.

[!NOTE]
Visual Basic for the Macintosh does not support Unicode strings. Therefore, ChrW(n) cannot return all Unicode characters for n values in the range of 128–65,535, as it does in the Windows environment. Instead, ChrW(n) attempts a «best guess» for Unicode values n greater than 127. Therefore, you should not use ChrW in the Macintosh environment.

The functions Asc(), AscB(), and AscW() are the opposite of Chr(), ChrB(), and ChrW(). The Asc() functions convert a string to an integer.

Example

This example uses the Chr function to return the character associated with the specified character code.

Dim MyChar
MyChar = Chr(65)    ' Returns A.
MyChar = Chr(97)    ' Returns a.
MyChar = Chr(62)    ' Returns >.
MyChar = Chr(37)    ' Returns %.

See also

  • Character set (0 — 127)
  • Character set (128 — 255)
  • Functions (Visual Basic for Applications)
  • Asc(), AscB(), and AscW() functions

[!includeSupport and feedback]

Понравилась статья? Поделить с друзьями:
  • Vba excel знак переноса строки
  • Vba excel знак неравенства
  • Vba excel знак не равно
  • Vba excel звуковой сигнал
  • Vba excel защищенную ячейку