Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

vba 进行单元格合并问题请教,谢谢!

坐井看天阔  发表于:2014-05-23 17:33:40  
复制

我写了一个函数,将excel前五行每一行从左至右如果两个单元格值相同就合并,但目前效果是每行它只合并一次就不行了。请高手指点,非常感谢!

Public Function xlsMerge(strPathName As String, sheetName As String, startColumn As Integer, startColumnName As String)


Dim xlsApp As Object
Dim xlsBook As Object
Dim xlsColumn As Integer
    Dim rowGeValue As String
    Dim rowGeValueNext As String
    Dim rowGeValueNextNext As String
   
    Set xlsApp = CreateObject("Excel.Application")
    Set xlsBook = xlsApp.Workbooks.Open(strPathName)
  
    '获取该表列数
    xlsColumn = xlsBook.Worksheets(sheetName).range("a6").CurrentRegion.Columns.Count
    '如果列数大于0则继续
    If xlsColumn > 0 Then
      rowGeValue = xlsBook.Worksheets(sheetName).range(GetLie(startColumnName) & startColumn)
      rowGeValueNext = xlsBook.Worksheets(sheetName).range(GetLie(GetLie(startColumnName)) & startColumn)
     
      If (rowGeValue = rowGeValueNext) Then
      rangeStart = GetLie(startColumnName) & Trim(str(startColumn))
      rangeEnd = GetLie(GetLie(startColumnName)) & Trim(str(startColumn))
     
      xlsBook.Worksheets(sheetName).range(rangeStart & ":" & rangeEnd).merge
      End If
        
     xlsApp.Visible = True
   End If
End Function

 

Top
煮江品茶 发表于:2014-05-24 17:42:34
循环一下不就完事了

总记录:1篇  页次:1/1 9 1 :