Skip to main content

Spc function

Table of contents
  1. Syntax
  2. Remarks
  3. Example

Used with the Print # statement or the Print method to position output.



The required n argument is the number of spaces to insert before displaying or printing the next expression in a list.


If n is less than the output line width, the next print position immediately follows the number of spaces printed. If n is greater than the output line width, Spc calculates the next print position using the formula: currentprintposition + (nModwidth).

For example, if the current print position is 24, the output line width is 80, and you specify Spc(90), the next print will start at position 34 (current print position + the remainder of 90/80). If the difference between the current print position and the output line width is less than n (or nModwidth), the Spc function skips to the beginning of the next line and generates spaces equal to n - (width - currentprintposition).

When you use the Print method with a proportionally spaced font, the width of space characters printed by using the Spc function is always an average of the width of all characters in the point size for the chosen font. However, there is no correlation between the number of characters printed and the number of fixed-width columns those characters occupy. For example, the uppercase letter W occupies more than one fixed-width column and the lowercase letter i occupies less than one fixed-width column.


This example uses the Spc function to position output in a file and in the Immediate window.

' The Spc function can be used with the Print # statement.
Open "TESTFILE" For Output As #1    ' Open file for output.
Print #1, "10 spaces between here"; Spc(10); "and here."
Close #1    ' Close file.

The following statement causes the text to be printed in the Immediate window (by using the Print method), preceded by 30 spaces.

Debug.Print Spc(30); "Thirty spaces later..."

Leave a comment

Your email address will not be published. Required fields are marked *

Format your code: <pre><code class="language-vba">place your code here</code></pre>