簡體   English   中英

在單元格中輸入數字以選擇一系列單元格並打印它們時

[英]When enter a number in a cell to select a range of cells and print them

我正在嘗試通過在單元格中輸入數字來創建范圍打印。 如果一個人輸入一個數字 20(這只是一個例子,對於真實的東西,它會掃描條形碼,並使用公式從另一個表格中獲取數字,但基本原理是這樣的)......所以當數字 20 輸入從 B 列中選擇前 20 行並打印此選擇的單元格。 然后刪除所有20行。

我只有打印代碼:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim celltxt As String
celltxt = ActiveSheet.Range("D2").Text
If InStr(1, celltxt, "") Then

 Dim ws As Worksheet
 For Each ws In Worksheets
 If ws.Range("D2") <> "" Then
 Range("D2").PrintOut
 Range("E2").ClearContents
 Application.SendKeys ("{LEFT}")
 End If
 Next ws

Else

End If

End Sub

如果單元格不為空,此代碼只是用於打印單元格的簡單代碼。 我正在使用它,但我需要按照上述想法對其進行升級。 :)

如果有人知道如何創建它,我將不勝感激,因為我只是一個 VBA 初學者。

在此處輸入圖片說明

我也用 FINALIZE 找到了解決方案

Private Sub Worksheet_Change(ByVal Target As Range)

Dim celltxt As String
Dim n As Range
'H2 is where the entry number is going to be
 Set n = Worksheets("Sheet1").Range("H2")
  On Error GoTo Finalise
 'Select Column C and H2 number
ActiveSheet.Range(Cells(1, 3), Cells(n, 3)).Select

celltxt = ActiveSheet.Range("H2").Text
If InStr(1, celltxt, "") Then
 Dim ws As Worksheet
 For Each ws In Worksheets
 If ws.Range("H2") <> "" Then
 Selection.PrintOut
 Range("H2").ClearContents
 'Application.SendKeys ("{LEFT}")
 End If
 Next ws

Else

End If
Finalise:
    Application.EnableEvents = True
    ActiveSheet.Range("H2").Select
End Sub

下一步... 我怎樣才能使代碼從另一個工作表中獲取數據。 假設 H2 位於 sheet1 並且應該選擇的數據ActiveSheet.Range(Cells(1, 3), Cells(n, 3)).Select位於 Sheet2。 在我的代碼末尾,我使用了ActiveSheet.Range("H2").Select但仍然需要回到 Sheet1 中的 H2。

這之后我的步驟是在打印后清除所有選定的行內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM