標題:
[發問]
儲存格合併
[打印本頁]
作者:
jcchiang
時間:
2013-3-8 11:57
標題:
儲存格合併
網頁資料下載至Excel,部份欄位原為合併的卻變為無合併,是否可使用程式再將儲存格做合併動作
[attach]14310[/attach]
[attach]14309[/attach]
作者:
Hsieh
時間:
2013-3-8 15:19
回復
1#
jcchiang
Sub ex()
Application.DisplayAlerts = False
Range("A1:G19").UnMerge
For i = 1 To Range("A1:G19").Columns.Count
If Application.CountBlank(Range("A1:G19").Columns(i)) > 0 Then
Set Rng = Range("A1:G19").Columns(i).SpecialCells(xlCellTypeBlanks)
Union(Rng, Rng.Offset(-1, 0)).Merge
End If
Next
Application.DisplayAlerts = True
End Sub
複製代碼
作者:
jcchiang
時間:
2013-3-8 15:46
回復
2#
Hsieh
如果有連續2個要合併的,第二個會被會被第一個一併合併
[attach]14313[/attach]
Test4被Test3合併了
作者:
Hsieh
時間:
2013-3-8 19:07
回復
3#
jcchiang
Sub ex()
Dim Rng As Range
With Range("A1:G19")
.UnMerge
For i = 1 To .Columns.Count
If Application.CountBlank(.Columns(i)) > 0 Then
Set Rng = .Columns(i).SpecialCells(xlCellTypeBlanks)
For Each a In Rng.Areas
Union(a, a.Offset(-1, 0)).Merge
Next
End If
Next
End With
End Sub
複製代碼
作者:
jcchiang
時間:
2013-3-11 10:24
回復
4#
Hsieh
程式指令真的很厲害,只是多加一個判斷,即可將問題解決,感謝H大的指導
另有一個問題是,資料的行列不一定為19行
如果將Range("A1:G19"),改為Range("A:G"),會導致最後一筆將後面所有的空白儲存格都合併
是否有何指令可以先判斷出有多少行,再將數字帶入Range("A1:G?)內呢
作者:
Hsieh
時間:
2013-3-11 10:31
回復
5#
jcchiang
Sub ex()
Dim Rng As Range
With Range("A1").CurrentRegion
.UnMerge
For i = 1 To .Columns.Count
If Application.CountBlank(.Columns(i)) > 0 Then
Set Rng = .Columns(i).SpecialCells(xlCellTypeBlanks)
For Each a In Rng.Areas
Union(a, a.Offset(-1, 0)).Merge
Next
End If
Next
End With
End Sub
複製代碼
作者:
jcchiang
時間:
2013-3-11 11:06
回復
6#
Hsieh
原本用CurrentRegion則可傳回由空白格子圍起來的一個範圍
目前問題已解決,再次感謝H大的指導
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)