彰化一整天的論壇

 找回密碼
 立即註冊
查看: 354|回復: 9

利用按鈕,將特定字元自動填入至其他分頁

[複製鏈接]
發表於 2017-8-21 10:03:53 | 顯示全部樓層 |閱讀模式
本帖最後由 jenny830602 於 2017-8-21 10:06 編輯
  1. Private Sub CommandButton2_Click()
  2. Sheets("Copy").Select
  3.     Range("G1").Select
  4.     ActiveCell.FormulaR1C1 = "供應商"
  5.     Range("G2").Select
  6.     ActiveCell.FormulaR1C1 = "HappyFarm"
  7.     Range("G2").Select
  8.     Selection.AutoFill Destination:=Range("G2:G" & [G2].End(xlDown).Row)
  9. End Sub
複製代碼
目前有一需求,需要在按下按鈕後,將分頁跳轉至"Copy",並於Copy的G欄中,自動依照欄位多寡填入"HappyFarm"字樣。

目前問題卡在:

1. 將按鈕設在分頁"Test"時,無法直接跳轉至分頁"Copy"
2. 程式會自動填滿HappyFarm至最後一欄(1048576)


活頁簿1.xlsx

10.22 KB, 下載次數: 81

回復

使用道具 舉報

發表於 2017-8-21 12:18:07 | 顯示全部樓層
您好,
   1.ANS:我只有在copy的按鈕上看到您的程式碼.
   2.因為G2底下沒資料,所以會跳到最後一筆.您把它改成F2就可以.
  1. Private Sub CommandButton1_Click()
  2.     Sheets("Copy").Select
  3.     Range("G1").Select
  4.     ActiveCell.FormulaR1C1 = "供應商"
  5.     Range("G2").Select
  6.     ActiveCell.FormulaR1C1 = "HappyFarm"
  7.     Range("G2").Select
  8.     Selection.AutoFill Destination:=Range("G2:G" & [F2].End(xlDown).Row)
  9. End Sub
複製代碼


01-test (1).xlsm

30.1 KB, 下載次數: 1

售價: 1 金錢  [記錄]

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-21 13:45:04 | 顯示全部樓層
本帖最後由 jenny830602 於 2017-8-21 13:50 編輯

您好,謝謝imimgho大大再次熱心協助,我是希望將以下這一段:
  1. Private Sub CommandButton1_Click()
  2.     Sheets("Copy").Select
  3.     Range("G1").Select
  4.     ActiveCell.FormulaR1C1 = "供應商"
  5.     Range("G2").Select
  6.     ActiveCell.FormulaR1C1 = "HappyFarm"
  7.     Range("G2").Select
  8.     Selection.AutoFill Destination:=Range("G2:G" & [F2].End(xlDown).Row)
  9. End Sub
複製代碼


放進test分頁的button裡~但剛剛因為測試不成功,所以沒有放入請問沒有辦法直接整段貼進去嗎?還是需要加active之類的語法呢~謝謝

活頁簿1.xlsx

10.22 KB, 下載次數: 63

回復 支持 反對

使用道具 舉報

發表於 2017-8-21 14:11:13 | 顯示全部樓層
本帖最後由 imingho 於 2017-8-21 14:12 編輯
jenny830602 發表於 2017-8-21 13:45
您好,謝謝imimgho大大再次熱心協助,我是希望將以下這一段:

是要加Activate沒錯.
PS:麻煩您直接上傳excel檔案.不要在excel檔案內再放google連結.
我下載後還是跟前一個檔案一樣.
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-21 15:09:10 | 顯示全部樓層
您好 很抱歉造成您的困擾
剛剛因為檔案太大,傳不上來...
已經修正了,再麻煩您了!

01-test (1) (1).xlsm

31.77 KB, 下載次數: 86

回復 支持 反對

使用道具 舉報

發表於 2017-8-21 15:35:26 | 顯示全部樓層
jenny830602 發表於 2017-8-21 15:09
您好 很抱歉造成您的困擾
剛剛因為檔案太大,傳不上來...
已經修正了,再麻煩您了! ...

因為您的程式碼寫在sheet內,所以用切換工作表後,
還是要完整的寫法才可以使用.若是程式碼在模組,就不會有這種情形.
  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" & ic)
  60.    
  61.    
  62.     '-------------happyFarm--------------
  63.     Sheets("Copy").Select
  64.     Sheets("Copy").Range("G1").Select
  65.     ActiveCell.FormulaR1C1 = "供應商"
  66.     Sheets("Copy").Range("G2").Select
  67.     ActiveCell.FormulaR1C1 = "HappyFarm"
  68.     Sheets("Copy").Range("G2").Select
  69.     Selection.AutoFill Destination:=Sheets("Copy").Range("G2:G" & Sheets("Copy").[F2].End(xlDown).Row)
  70.    
  71.    
  72. End Sub
複製代碼


01-test20170821.xlsm

31.57 KB, 下載次數: 0

售價: 1 金錢  [記錄]  [購買]

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-21 16:50:47 | 顯示全部樓層
真的非常感謝,目前仍是初學者,問題還很多,只能依樣畫葫蘆。
非常感謝您不吝指教,實際表單有10多個分頁,近千筆資料,目前已經越來越趨向成功了!
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-21 17:24:36 | 顯示全部樓層
抱歉,又發現新問題.......
就是當我將HappyFarm設為HappyFarm1的時候
後面會變成:
HappyFarm1
HappyFarm2
HappyFarm3
HappyFarm4
HappyFarm5


但目前希望是能整排都是HappyFarm1...
不知道如何解...?不好意思,一直打擾您

01-test (1) (1).xlsm

32 KB, 下載次數: 88

回復 支持 反對

使用道具 舉報

發表於 2017-8-21 22:02:31 | 顯示全部樓層
jenny830602 發表於 2017-8-21 17:24
抱歉,又發現新問題.......
就是當我將HappyFarm設為HappyFarm1的時候
後面會變成:

您用直接給值的方式就可以.
  1. Private Sub CommandButton1_Click()
  2.     Sheets("Copy").Select
  3.     Range("G1").Value = "供應商"

  4.     Range("G2:G" & [F2].End(xlDown).Row).Value = "HappyFarm"
  5. End Sub
複製代碼

01-test20170821b.xlsm

31.38 KB, 下載次數: 0

售價: 1 金錢  [記錄]  [購買]

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-22 18:23:59 | 顯示全部樓層
謝謝imingho!!!目前問題已經全數解決了!!!!! 也進步了很多!!!
真的非常非常感謝 您幫了很多忙!!!!!!
回復 支持 反對

使用道具 舉報

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

本版積分規則

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

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

GMT+8, 2018-12-16 08:03 , Processed in 0.134107 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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