Excel 2003 VBA 程式問題(New sheet copy file to another sheet)

內容說明
使用Excel 2003中將Input data用VBA程式將G1欄位(Lot No.資料) & G2欄位(Machine No.資料) & E4:I4 (OD Max.內資料) & E5:I5 (OD Min.內資料)複製到另一個sheet
需求如下:
1.當按下加入資料按鈕自動依序新增資料於Output data
2.若有Lot No.資料 & Machine No.資料任何一欄位無資料, 秀出需輸入資料訊息
3.若是E5:I5 (OD Min.內資料) 3~5 無資料可直接複製至新sheet

Output data 参閲圖一
Input data 参閲圖二

Excel 2003 VBA 程式問題(New sheet copy file to another sheet)

Excel 2003 VBA 程式問題(New sheet copy file to another sheet)

2016-10-13 16:28 發佈

在Input data工作表輸入下面,試看看

Option Explicit

Private Sub CommandButton1_Click()
DataClear
End Sub

Private Sub CommandButton2_Click()
If WorksheetFunction.CountA(Me.Range("E1:E2"), Me.Range("C4:G4"), Me.Range("C5:D5")) < 9 Then
MsgBox ("需輸入完整資料!")
Else
Dim R As Integer
With Sheets("Output data")
R = WorksheetFunction.CountA(.Range("A:A"))
.Range("A2:B2").Offset(R) = Array(Me.Range("E1").Value, Me.Range("E2").Value)
.Range("C2:G2").Offset(R) = Me.Range("C4:G4").Value
.Range("H2:L2").Offset(R) = Me.Range("C5:G5").Value
End With
MsgBox ("輸入完成!")
DataClear
End If
End Sub

Private Function DataClear()
Me.Range("E1:G2").ClearContents
Me.Range("C4:G5").ClearContents
End Function


YS2000 wrote:
在Input dat...(恕刪)


To YS2000
測試後可以,不過我想了解一下code,可以参閲哪邊,麻煩了,謝謝~
1.在VBA裡選取你不懂的code 按F1 會有說明
微軟網站都有一些VBA的說明
2.網路上搜尋也很方便

YS2000 wrote:
1.在VBA裡選取你...(恕刪)


不好意思,再在請問一個問題, 如果想使Lot No.(1234456), 使用 left 函數要如何增加於程式?
EX:
1234456 -> 1234

註: Excel 函數 = left (儲存格,想要顯示的位數)

*小白* wrote:
不好意思,再在請問...(恕刪)




---
.Range("A2:B2").Offset(R) = Array(left(Me.Range("E1").Value,4), Me.Range("E2").Value)
也可以拆成
.Range("A2").Offset(R) =left(Me.Range("E1").Value,4)
.Range("B2").Offset(R) =Me.Range("E2").Value
---
Me.Range("E1").Value 就是LOT NO.哪一格






YS2000 wrote:
---.Range(...(恕刪)


謝謝YS2000, 終於解決我的VBA問題
.Range("A2").Offset(R) =left(Me.Range("E1").Value,4)
我把這設為
.Range("A2").Offset(R) =(Me.Range("=left("E1").Value"),4)
原來設錯了
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?