2017-03-13 23 views
-1

總計顯示在消息框中,我希望它們在Excel中的新工作表中顯示。如何讓您的答案在新頁面上顯示

'Output totals to a message box 
    sTtl = "Total stock at " & dStk & " = " & TotStk 

    sMsg = "Board No." & vbTab & "Cut Lenght" & vbCrLf 

    For k = LBound(DetStk, 2) To UBound(DetStk, 2) 
     sMsg = sMsg & DetStk(0, k) & vbTab & vbTab _ 
      & DetStk(1, k) & vbCrLf 
    Next k 

    MsgBox sMsg, vbOKOnly, sTtl 

End Sub 
+1

你想把出現在消息框中一切成單細胞在新的工作表還是要拆分正在由產生在不同細胞循環的項目? – Gordon

+0

在不同的單元格中,它應該是兩列。一個是Board No,另一個是Cut Lenght – Lulu

回答

0

下面的代碼將創建一個新的工作表和插入消息框產生的數據,包括標題和標題,成2列。如果不想再出現,可以註釋掉或刪除消息框msgbox sMsg, .....

'Output totals to a message box 

Sheets.Add After:=Sheets(Sheets.Count) ' create a new sheet 

sTtl = "Total stock at " & dStk & " = " & TotStk 
Range("A1").value = sTtl 'put th title in cell A1 

sMsg = "Board No." & vbTab & "Cut Lenght" & vbCrLf 
Range("A2").value = "Board No." 
Range("B2").value = "Cut Lenght" 
Range("A2:B2").Font.Bold = True ' format the headings bold (optional) 


intRow = 3 ' set starting row below the heading row. 

For k = LBound(DetStk, 2) To UBound(DetStk, 2) 
    sMsg = sMsg & DetStk(0, k) & vbTab & vbTab _ 
     & DetStk(1, k) & vbCrLf 
     Range("A"&intRow).value = DetStk(0, k) 
     Range("B"&intRow).value = DetStk(1, k) 
     intRow = intRow + 1 'add 1 to move to the next row. 
Next k 

MsgBox sMsg, vbOKOnly, sTtl 'you can delete this line or comment it out with "'" if you don't want to display the message box. 

End Sub 
相關問題