2012-04-12 64 views
1

我有一个相当大的Excel csv文件,我需要将""添加到每个单元格的开始和结尾处。添加“开始和”到每个单元格数据的末尾

细胞含有混合文本无论是

  • 数字
  • 文本
  • 链接

等等,所有这一切,我需要引号添加到每个单元的开始和结束。

我该怎么做?

回答

1

我从Excel show leading zero in formula bar适应了这个代码

它使用变体数组为速度的效率,仅更新电子表格的UsedRange

  • 按下Alt & F11一起去VBE
  • 插入模块
  • 拷贝和下面
  • 按下Alt代码& F11一起粘贴到回到Excel
  • 从Developer选项卡运行宏

如果您愿意,可以调整为忽略空白单元 - 让我知道

Sub AddStrings() 
Dim rng1 As Range 
Dim rngArea As Range 
Dim strRep1 As String 
Dim strRep2 As String 
Dim lngRow As Long 
Dim lngCol As Long 
Dim lngCalc As Long 
Dim X() 


strRep1 = """" 
strRep2 = """" 

ActiveSheet.UsedRange 
Set rng1 = ActiveSheet.UsedRange 

'Speed up the code by turning off screenupdating and setting calculation to manual 
'Disable any code events that may occur when writing to cells 
With Application 
    lngCalc = .Calculation 
    .ScreenUpdating = False 
    .Calculation = xlCalculationManual 
    .EnableEvents = False 
End With 

'Test each area in the user selected range 

'Non contiguous range areas are common when using SpecialCells to define specific cell types to work on 
For Each rngArea In rng1.Areas 
    'The most common outcome is used for the True outcome to optimise code speed 
    If rngArea.Cells.Count > 1 Then 
     'If there is more than once cell then set the variant array to the dimensions of the range area 
     'Using Value2 provides a useful speed improvement over Value. On my testing it was 2% on blank cells, up to 10% on non-blanks 
     X = rngArea.Value2 
     For lngRow = 1 To rngArea.Rows.Count 
      For lngCol = 1 To rngArea.Columns.Count 
       'replace the leading zeroes 
       X(lngRow, lngCol) = strRep1 & X(lngRow, lngCol) & strRep2 
      Next lngCol 
     Next lngRow 
     'Dump the updated array sans leading zeroes back over the initial range 
     rngArea.Value2 = X 
    Else 
     'caters for a single cell range area. No variant array required 
     rngArea.Value = strRep1 & rngArea.Value2 & strRep2 
    End If 
Next rngArea 

'cleanup the Application settings 
With Application 
    .ScreenUpdating = True 
    .Calculation = lngCalc 
    .EnableEvents = True 
End With 

End Sub 
1

手:

  • 改变第一小区的价值=""""&A1&""""
  • 拖动该单元格的格式,以整版

或VB宏

相关问题