2017-08-16 230 views
0

我有几张在一个名为1,2,3,4,5,6表,7 ....如何输入我的VBA代码Excel中一个双引号

,我需要复制所有1张单张纸上的文件。 。

我找不到办法,现在只有一个“给名字的纸

问题发生在这里:

varNBLIGNES = Sheets(""" & varDC & """).Range(COLNUM & ":" & COLNUM).Cells.SpecialCells(xlCellTypeConstants).Count 
'CONSTANTS 
Const COLNUM As String = "B" 'PART NUMBERS WILL ALWAYS BE IN THE B COLUM FOR EVERY EXCEL FILES 
Const COLPRC As String = "C" 'NEW LIST PRICE WILL ALWAYS BE IN THE C COLUM FOR EVERY EXCEL FILES 
Const COLDSC As String = "Q" 'NEW DESCRIPTION WILL ALWAYS BE IN THE Q COLUM FOR EVERY EXCEL FILES 
Const COLUOM As String = "S" 'NEW UNIT OF MESURE WILL ALWAYS BE IN THE S COLUM FOR EVERY EXCEL FILES 
Const COLUIP As String = "T" 'NEW UNIT IN PACKAGE WILL ALWAYS BE IN THE T COLUM FOR EVERY EXCEL FILES 
Const vbDoubleQuote As String = """" 

'VARIABLES 
Dim varNBLIGNES As Integer 
Dim varDC As Integer 
Dim varDCS As String 
Dim i As Integer 
Dim quote As String 


'INITIALIZATION 
varNBLIGNES = 0 
varDC = Sheets(2).Range("P5").Value 
varDCS = "" 
i = 1 
quote = Chr(34) 


'SUB CODE TO COMPILE FILES INTO ONE 
'While varDC >= i 

    varNBLIGNES = Sheets(""" & varDC & """).Range(COLNUM & ":" & COLNUM).Cells.SpecialCells(xlCellTypeConstants).Count 
    varNBLIGNES = varNBLIGNES + 1 

    Sheets(varDC).Range("B3:" & COLNUM & varNBLIGNES).Copy 
    Sheets(4).Select 
    Range("B4").Select 
    ActiveSheet.Paste 


    'Sheets("PROD FOUR").Select 
    'Range("B4").Select 
    'ActiveSheet.Paste 


    'varDC = varDC - 1 

'Wend 

正如你可以看到我试图在CONST中声明它,我也尝试创建“CHR(34)”,并且所有接缝都失败。

我在做什么错了?预先感谢您

+1

“”“”&varDC&“”“'是单个字符串。它应该是'“”“”&varDC&“”“”'(就像在你的'vbDoubleQuote'常量中一样) – litelite

+0

但是它不工作,如果我这样做,它说错误编号为9. varNBLIGNES = Sheets(vbDoubleQuote& varchar和vbDoubleQuote).Range(COLNUM&“:”&COLNUM).Cells.SpecialCells(xlCellTypeConstants).Count 它说索引不属于选择 – Konsume

+0

错误9是[超出范围错误](https: //msdn.microsoft.com/en-us/library/aa264519(v=vs.60).aspx)。也许你传给'Sheets'的名字是错误的。你确定表单名称实际上包含双引号吗? – litelite

回答

-1

要在字符串中添加引号,请使用不同类型的引号(例如,

"'" & varDC & "'" 
+1

他想要双引号,而不是单打 – litelite