標題:
[發問]
儲存格有跨欄置中,請問如何統計或查看該欄中各列的資料內容?
[打印本頁]
作者:
queening
時間:
2013-10-9 16:06
標題:
儲存格有跨欄置中,請問如何統計或查看該欄中各列的資料內容?
大家好,請問一下,
我用EXCEL做了一個行程表,來安排每個月的行程,
但有些資料是會跨月份,所以用跨欄置中(如附件)
例如:我想查看我10205月的行程(儲存格列的資料)有哪些時,
無法使用篩選,因為篩選只能篩選跨欄資料是從10205開始的內容,
若從10204開始跨欄置中的資料,就沒辦法,
所以想請問是否有函數或其他操作功能,
可以讓我可以看到我10205總共有哪些行程呢?
請知道的各位,幫我解答一下,謝謝!
作者:
luhpro
時間:
2013-10-13 20:55
回復
1#
queening
我找不到使用一般方式的解法,
不過若改使用 Excel VBA 倒是可以很容易的達到你的需求 :
[attach]16322[/attach]
Private Sub cbCheck_Click()
Dim icol%, icols%
Dim sStr$
Dim lTemp&
Dim rTar As Range
Dim vTemp
icol = 0
Do
sStr = InputBox("請輸入月份 :", "查詢行程", 10210)
If sStr <> "" Then
For lTemp = 1 To 12
If sStr = CStr(Cells(1, lTemp)) Then
icol = lTemp
Exit For
End If
Next lTemp
End If
If icol = 0 Then
vTemp = MsgBox("找不到輸入的月份資料 或 輸入的月份應為 10201 的形式, 是否重新輸入?", vbOKCancel + vbDefaultButton1)
If vTemp = vbCancel Then Exit Sub
End If
Loop Until icol > 0
sStr = ""
lTemp = 2
vTemp = 0
Do
If icol = 1 Or Cells(lTemp, icol).MergeArea.Count = 1 Then
Set rTar = Cells(lTemp, icol)
Else
Set rTar = Cells(lTemp, Cells(lTemp, icol + 1).End(xlToLeft).Column)
End If
If rTar <> "" Then
If sStr = "" Then
sStr = sStr + rTar
Else
sStr = sStr & Chr(10) & Chr(10) & rTar
End If
End If
lTemp = lTemp + 1
icols = Cells(lTemp, Columns.Count).End(xlToLeft).Column
If icols = 1 And Cells(lTemp, 1) = "" Then vTemp = vTemp + 1
Loop Until vTemp > 10
If sStr = "" Then
MsgBox (Cells(1, icol) & "月 沒有查到任何行程.")
Else
MsgBox ("查尋到 " & Cells(1, icol) & " 月 的行程如下 :" & Chr(10) & Chr(10) & sStr)
End If
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)