彰化一整天的論壇

 找回密碼
 立即註冊
12
返回列表 發新帖
樓主: jenny830602

將不同分頁的不同欄位,合併至同一分頁的同一欄位

[複製鏈接]
發表於 2017-8-16 07:55:48 | 顯示全部樓層
jenny830602 發表於 2017-8-15 16:55
我似乎還沒有上傳的權限...
主要是有兩個不同的sheets (Copy / Copy2),
要將兩個不同Sheets的 F欄位分別整 ...

您好,
     您可以將那三行改成
  1. cells(1048576, "C").End(xlUp) = ""
  2. ActiveCell.End(xlUp) = ""
  3. ActiveCell.End(xlUp) = "" '清除倒數三列
複製代碼

這樣試看看.

程式碼張貼可以查看
如何在discuz張貼程式碼
http://discuz.bestdaylong.com/fo ... 30239&fromuid=2

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-16 11:23:10 | 顯示全部樓層
成功了~再麻煩~

01-test.xlsm

22.54 KB, 下載次數: 2

回復 支持 反對

使用道具 舉報

發表於 2017-8-16 13:57:32 | 顯示全部樓層

您好,
     程式碼修正如下.
  1. Private Sub CommandButton1_Click()

  2.     IA = 1
  3.     IB = 1
  4.     IC = 1
  5.    
  6.    
  7.     '>>> Copy(F)
  8.     Do While Sheets("Copy").Range("F" & IA).Value <> ""
  9.         Sheets("Copy").Range("F" & IA).Copy Destination:=Sheets("Test").Range("A" & IB)
  10.         IA = IA + 1
  11.         IB = IB + 1
  12.     Loop
  13.    
  14.     Cells(1048576, "A").End(xlUp) = ""
  15.     Cells(1048575, "A").End(xlUp) = ""
  16.     Cells(1048575, "A").End(xlUp) = "" '***刪不到倒數第三欄
  17.    
  18.     IB = IB - 3
  19.    
  20.     '***Copy2(F) 不要複製到(F1)表頭項目列
  21.     IA = 2
  22.     Do While Sheets("Copy2").Range("F" & IA).Value <> ""
  23.         Sheets("Copy2").Range("F" & IA).Copy Destination:=Sheets("Test").Range("A" & IB)
  24.         IA = IA + 1
  25.         IB = IB + 1
  26.         IC = IC + 1
  27.     Loop
  28.     Cells(1048576, "A").End(xlUp) = ""
  29. End Sub
複製代碼
原本的
  1. Cells(1048576, "A").End(xlUp) = ""
  2. Cells(1048575, "A").End(xlUp) = ""
  3. Cells(1048575, "A").End(xlUp) = "" '***刪不到倒數第三欄
複製代碼
這個是可以拿掉的,可以用IB = IB - 3來解決.

01-test.xlsm

23.19 KB, 下載次數: 1

售價: 1 金錢  [記錄]

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-17 11:07:30 | 顯示全部樓層
非常謝謝imingho大大!!
IB=IB-3的方式真的讓程式乾淨許多,完全沒想到可以簡化成這樣
後續可能還會有一些延伸的問題,還得請教您了!真的非常感謝,獲益良多!
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-18 11:50:43 | 顯示全部樓層
本帖最後由 jenny830602 於 2017-8-18 12:38 編輯

您好,目前已經將「實體、網路」銷售金額都成功輸出了,非常感恩!
但還有個問題,是我想要加總A欄及B欄的值至C欄。

目前是使用錄製巨集的方式,但仍無法修改成我要的
我想要的是能夠「自動偵測並逐列加總到最後一行」
再麻煩大大幫忙看看該如何改了...


01-test.xlsm

25.13 KB, 下載次數: 2

回復 支持 反對

使用道具 舉報

發表於 2017-8-18 13:25:24 | 顯示全部樓層
jenny830602 發表於 2017-8-18 11:50
您好,目前已經將「實體、網路」銷售金額都成功輸出了,非常感恩!
但還有個問題,是我想要加總A欄及B欄的 ...

程式碼如下,紅色是我加上的.
  1. Private Sub CommandButton1_Click()

  2. ' --------------實體-----------------------
  3.     IA = 1
  4.     IB = 1
  5.     ic = 1
  6.    
  7.    
  8.     '>>> Cop
  9.     Do While Sheets("Copy").Range("F" & IA).Value <> ""
  10.         Sheets("Copy").Range("F" & IA).Copy Destination:=Sheets("Test").Range("A" & IB)
  11.         IA = IA + 1
  12.         IB = IB + 1
  13.     Loop
  14.    
  15.     Cells(1048576, "A").End(xlUp) = ""
  16.     Cells(1048575, "A").End(xlUp) = ""
  17.     Cells(1048575, "A").End(xlUp) = ""
  18.     IB = IB - 3
  19.    
  20.      '>>> Copy2
  21.     IA = 2
  22.     Do While Sheets("Copy2").Range("F" & IA).Value <> ""
  23.         Sheets("Copy2").Range("F" & IA).Copy Destination:=Sheets("Test").Range("A" & IB)
  24.         IA = IA + 1
  25.         IB = IB + 1
  26.         ic = ic + 1
  27.     Loop
  28.     Cells(1048576, "A").End(xlUp) = ""
  29.    
  30. ' --------------網路-----------------------

  31.    IA = 1
  32.     IB = 1
  33.     ic = 1
  34.    
  35.    
  36.     '>>> Cop
  37.     Do While Sheets("Copy").Range("E" & IA).Value <> ""
  38.         Sheets("Copy").Range("E" & IA).Copy Destination:=Sheets("Test").Range("B" & IB)
  39.         IA = IA + 1
  40.         IB = IB + 1
  41.     Loop
  42.    
  43.     Cells(1048576, "B").End(xlUp) = ""
  44.     Cells(1048575, "B").End(xlUp) = ""
  45.     Cells(1048575, "B").End(xlUp) = ""
  46.     IB = IB - 3
  47.    
  48.      '>>> Copy2
  49.     IA = 2
  50.     Do While Sheets("Copy2").Range("E" & IA).Value <> ""
  51.         Sheets("Copy2").Range("E" & IA).Copy Destination:=Sheets("Test").Range("B" & IB)
  52.         IA = IA + 1
  53.         IB = IB + 1
  54.         ic = ic + 1
  55.     Loop

  56. <font color="#ff0000">    '自動加總
  57.     Range("C2").Value = "=SUM(RC[-2]:RC[-1])"
  58.     Range("C2").Select
  59.     Selection.AutoFill Destination:=Range("C2:C" & ic)</font>
  60. End Sub
  61. Sub 巨集4()
  62. '
  63. ' 問題1: 希望這邊可以自動偵測並加總到最後一欄,而非將欄未寫死
  64. ' 問題2: 是否能融入button1一次解決呢?

  65. '
  66.     Range("C2").Select
  67.     ActiveCell.FormulaR1C1 = "=SUM(RC[-2]:RC[-1])"
  68.     Range("C2").Select
  69.     Selection.AutoFill Destination:=Range("C2:C6")

  70. End Sub
複製代碼

01-test.xlsm

25.64 KB, 下載次數: 2

售價: 1 金錢  [記錄]

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-18 14:13:29 | 顯示全部樓層
本帖最後由 jenny830602 於 2017-8-18 14:20 編輯

大感謝,真的惠我良多!!
但想詢問這樣只會印出三欄的原因是什麼呀?
  1.   Selection.AutoFill Destination:=Range("C2:C" & ic)
複製代碼
C.PNG
我有試圖將它改成以下幾種方式,每一種輸出欄位多寡似乎都不同耶....
  Selection.AutoFill Destination:=Range("C2:C1" & ic)
  Selection.AutoFill Destination:=Range("C2:C2" & ic)
  Selection.AutoFill Destination:=Range("C2:C3" & ic)
例如: Selection.AutoFill Destination:=Range("C2:C500" & ic)
C6.PNG

寫到C500仍可解決問題(反正後面0的數列用不上)
只是好奇怎麼會這樣? 抱歉 小女子不才


回復 支持 反對

使用道具 舉報

發表於 2017-8-18 14:53:40 | 顯示全部樓層
jenny830602 發表於 2017-8-18 14:13
大感謝,真的惠我良多!!
但想詢問這樣只會印出三欄的原因是什麼呀?
我有試圖將它改成以下幾種方式,每一 ...

是變數用錯了.改成底下就可以.
  1. Private Sub CommandButton1_Click()

  2. ' --------------實體-----------------------
  3.     IA = 1
  4.     ib = 1
  5.     ic = 1
  6.    
  7.    
  8.     '>>> Cop
  9.     Do While Sheets("Copy").Range("F" & IA).Value <> ""
  10.         Sheets("Copy").Range("F" & IA).Copy Destination:=Sheets("Test").Range("A" & ib)
  11.         IA = IA + 1
  12.         ib = ib + 1
  13.     Loop
  14.    
  15.     Cells(1048576, "A").End(xlUp) = ""
  16.     Cells(1048575, "A").End(xlUp) = ""
  17.     Cells(1048575, "A").End(xlUp) = ""
  18.     ib = ib - 3
  19.    
  20.      '>>> Copy2
  21.     IA = 2
  22.     Do While Sheets("Copy2").Range("F" & IA).Value <> ""
  23.         Sheets("Copy2").Range("F" & IA).Copy Destination:=Sheets("Test").Range("A" & ib)
  24.         IA = IA + 1
  25.         ib = ib + 1
  26.         ic = ic + 1
  27.     Loop
  28.     Cells(1048576, "A").End(xlUp) = ""
  29.    
  30. ' --------------網路-----------------------

  31.    IA = 1
  32.     ib = 1
  33.     ic = 1
  34.    
  35.    
  36.     '>>> Cop
  37.     Do While Sheets("Copy").Range("E" & IA).Value <> ""
  38.         Sheets("Copy").Range("E" & IA).Copy Destination:=Sheets("Test").Range("B" & ib)
  39.         IA = IA + 1
  40.         ib = ib + 1
  41.     Loop
  42.    
  43.     Cells(1048576, "B").End(xlUp) = ""
  44.     Cells(1048575, "B").End(xlUp) = ""
  45.     Cells(1048575, "B").End(xlUp) = ""
  46.     ib = ib - 3
  47.    
  48.      '>>> Copy2
  49.     IA = 2
  50.     Do While Sheets("Copy2").Range("E" & IA).Value <> ""
  51.         Sheets("Copy2").Range("E" & IA).Copy Destination:=Sheets("Test").Range("B" & ib)
  52.         IA = IA + 1
  53.         ib = ib + 1
  54.         ic = ic + 1
  55.     Loop

  56.     '自動加總
  57.     Range("C2").Value = "=SUM(RC[-2]:RC[-1])"
  58.     Range("C2").Select
  59.     Selection.AutoFill Destination:=Range("C2:C" & ib - 1)
  60. End Sub
  61. Sub 巨集4()
  62. '
  63. ' 問題1: 希望這邊可以自動偵測並加總到最後一欄,而非將欄未寫死
  64. ' 問題2: 是否能融入button1一次解決呢?

  65. '
  66.     Range("C2").Select
  67.     ActiveCell.FormulaR1C1 = "=SUM(RC[-2]:RC[-1])"
  68.     Range("C2").Select
  69.     Selection.AutoFill Destination:=Range("C2:C6")

  70. End Sub

複製代碼

01-test.xlsm

25.64 KB, 下載次數: 2

售價: 1 金錢  [記錄]

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-18 18:00:33 | 顯示全部樓層
非常感謝 有解決了~~!!!
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  |网站地图

GMT+8, 2018-10-18 07:27 , Processed in 0.139531 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表