精華區beta Office 關於我們 聯絡資訊
軟體: Microsoft Excel 版本: 2010 需求敘述: 之前以Excel儲存了客戶資料, 由於公司營運的性質,常有一家人同為會員的狀況, 此種情形即以合併儲存格的方式儲存其電話,如: 姓名 |電話 -------+------- 陸依典 | 陸貳典 |02-34567890 陸參典 | 現下需要匯入資料庫,而打算先將表轉換成: 姓名 |電話 -------+------- 陸依典 |02-34567890 陸貳典 |02-34567890 陸參典 |02-34567890 但資料真的有點多, 一個一個手動「取消合併儲存格」後再「複製儲存格」,恐怕會耗掉兩個工作天 故想請問諸位前輩:是否有較為簡便的作法? -- ╭ ╭ ╭╮╭╮http://kong0107.blogspot.com/ Υ ╪ ╭─╮ ─╮ ││││ ╮ ╮ ╭── Υ ╭─╮ │ │ │ ╞═╛ │╰╯│ │ │ ╰─╮ │ │ ╰─╯ ╧ ╯ └─╯ ' '╰ ╰─╯─╯ ╧ └─╯ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.75.11
bulldog:合併資料在B欄的話, 全選B欄,取消合併儲存格,Ctrl+G 07/16 16:29
bulldog:選特殊, 空格,然後輸入=然後按鍵頭上,在Ctrl+Enter結束 07/16 16:31
kong0107:謝謝!!不過有些列的該欄原本已是空白,這個方式似乎會... 07/16 19:10
kong0107:若試著先把既有的空格代換成別的,^G時也會選到已合併的 07/16 19:20
kong0107:(上面兩行是在說不同的事情) 07/16 19:20
soyoso:試試 http://ppt.cc/ZRPo 是否是您需要的?? 07/17 08:18
kong0107:是的!謝謝大大~ 07/17 14:14
kong0107:昨天另問學長後寫了http://paste.plurk.com/show/1206157 07/17 14:15
補: Option Explicit Sub test() Dim MergeRng As Range, MergeCNT As Byte Dim i As Long, j As Long Dim TEL_Str As String For i = 2 To Range("A" & Cells.Rows.Count).End(3).Row If Range("B" & i).MergeCells Then Set MergeRng = Range("B" & i).MergeArea TEL_Str = Range("B" & i) MergeCNT = MergeRng.Rows.Count MergeRng.UnMerge For j = i + 1 To i + MergeCNT - 1 Range("B" & j) = TEL_Str Next i = i + MergeCNT - 1 End If Next End Sub --------------------------- Sub rrr() Dim val For Each cell In Selection If cell.MergeCells Then cell.Select val = cell.Value cell.MergeArea.UnMerge For Each singleCell In Selection singleCell.Value = val Next singleCell End If Next cell End Sub > -------------------------------------------------------------------------- < 作者: JieJuen (David) 看板: Office 標題: Re: [算表] 大量取消合併儲存格後,欲讓各格均有原值 時間: Mon Jul 23 23:42:52 2012 VBA的部分感謝分享 :) 在操作的部分,在已有的解答中加上一步 合併資料在B欄的話, 全選B欄,Ctrl+G選特殊/常數,取消合併儲存格,Ctrl+G 選特殊, 空格,然後輸入=然後按鍵頭上,在Ctrl+Enter結束 大致上可解決關於"不過有些列的該欄原本已是空白,這個方式似乎會..."的問題~ ※ 引述《kong0107 (阿空)》之銘言: : 標題: [算表] 大量取消合併儲存格後,欲讓各格均有原值 : 時間: Mon Jul 16 16:03:47 2012 : : 軟體: Microsoft Excel : : 版本: 2010 : : 需求敘述: : 之前以Excel儲存了客戶資料, : 由於公司營運的性質,常有一家人同為會員的狀況, : 此種情形即以合併儲存格的方式儲存其電話,如: : : 姓名 |電話 : -------+------- : 陸依典 | : 陸貳典 |02-34567890 : 陸參典 | : : : 現下需要匯入資料庫,而打算先將表轉換成: : : 姓名 |電話 : -------+------- : 陸依典 |02-34567890 : 陸貳典 |02-34567890 : 陸參典 |02-34567890 : : 但資料真的有點多, : 一個一個手動「取消合併儲存格」後再「複製儲存格」,恐怕會耗掉兩個工作天 : : 故想請問諸位前輩:是否有較為簡便的作法? : : -- : ╭ ╭ ╭ ╭╮╭╮http://kong0107.blogspot.com/ : │ Υ ╪ ╭─╮ ╭─╮ ╪ ││││ ╮ ╮ ╭── Υ ╭─╮ : │ │ │ ╞═╛ │ │ │ │╰╯│ │ │ ╰─╮ │ │ : ╰─╯ ╧ ╯ └─╯ ╘═╛ ╯ ╯' '╰ ╰─╯ ──╯ ╧ └─╯ : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 140.113.75.11 : 推 bulldog:合併資料在B欄的話, 全選B欄,取消合併儲存格,Ctrl+G 07/16 16:29 : → bulldog:選特殊, 空格,然後輸入=然後按鍵頭上,在Ctrl+Enter結束 07/16 16:31 : → kong0107:謝謝!!不過有些列的該欄原本已是空白,這個方式似乎會... 07/16 19:10 : → kong0107:若試著先把既有的空格代換成別的,^G時也會選到已合併的 07/16 19:20 : → kong0107:(上面兩行是在說不同的事情) 07/16 19:20 : → soyoso:試試 http://ppt.cc/ZRPo 是否是您需要的?? 07/17 08:18 : → kong0107:是的!謝謝大大~ 07/17 14:14 : → kong0107:昨天另問學長後寫了http://paste.plurk.com/show/1206157 07/17 14:15 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.167.187