嗨,我想找一個簡單的VBA 從第10行到第150行檢查D列,如果單元格包含值,則將該單元格復制到D9并列印激活表。 如果單元格是空的,則什么也不做
。我得到了從1到150的資料,需要列印標簽,我目前正在做一買一復制粘貼和列印。 因此,如果有人能提供幫助,我將不勝感激
uj5u.com熱心網友回復:
我在VBA方面幾乎是第一步,我有一個類似的案例,所以我將嘗試用你可以使用的東西來幫助你。
我不明白你說的 "列印激活表 "是什么意思,但我想我會讓你自己去搜索這部分內容,這里有一點可以讓你開始:
Sub CheckIfCellContainsValue()
Dim索引 As Integer, NumberOfRows As Integer, ActualCellValue As Variant
NumberOfRows = Range("D10:D150").Rows.Count
For index = 10 To NumberOfRows 9
ActualCellValue = Range("D"/span> & index).Value
Debug.Print ActualCellValue
IfIsEmpty(ActualCellValue) Then
' 不做任何事情。
Else[/span
Range("D9").Value = ActualCellValue
' 在這里插入你的列印激活表代碼。
結束 If
Set ActualCellValue = Nothing
下一步 下一步
End Sub
我知道這看起來很復雜,我歡迎社區提供任何意見,使我的代碼不那么復雜。
歡呼吧,
uj5u.com熱心網友回復:
復制如果不是空白(也不是錯誤值)
Option Explicit
Sub PrintForNonBlankCells()
Dim ws As Worksheet: Set ws = ActiveSheet
' 取代前一行,我更喜歡類似于:的內容。
' Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("Sheet1")
Dim cCell As Range: Set cCell = ws.Range("D9") ' Criteria Cell。
Dim lrg As Range: Set lrg = ws.Range("D10:D150") ' Lookup Range。
' 要使前一行成為動態的,你可以這樣做:
' Dim LastRow As Long: LastRow = ws.Cells(ws.Rows.Count, "D").End(xlUp)
'Dim lrg As Range: Set lrg = ws.Range("D10:D" & LastRow)
Dim lCell As Range ' Lookup Cell
For Each lCell In lrg.Cells
If Not IsError(lCell) Then ' 排除錯誤值[/span
If Len(lCell.Value) > 0 Then ' 排除空白。
cCell.Value = lCell.Value
ws.Calculate ' 可能不需要了。
ws.PrintOut ' 添加所需的引數(沒有括號)。
End If
End If
Next lCell
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/323583.html
標籤:
