我創建其中從報表下載值的表格可以在一個輸入標籤粘貼模板,並與兩者之間的某個公式另一個選項卡上的格式化表格返回這些值。 E包含物品代碼的第1,2和3部分,F列包含行標題(例如可用數量,發票的訂單等)。我怎樣才能自動填充到包含在一列中使用宏的值,具有多種不同的公式中的最後一行?
之後的列(G到Z)主要包含將查找C列,D列,E列和F列的串聯的查找,列B出現。但是,行12和列24具有不同的公式,並且行15 & 16不含式。一個項目的數據佔用13行(在第12行和第24行之間)。
我一直在試圖找到一個宏,它可以像我選擇範圍B12:Z24一樣拖/自動填充公式並將其格式化到列A中包含值「X」的最後一行。「 X」在列A中所示是否有輸入標籤上的對應行中的值,並且可以出現在500行到8000行之間變化。
我有點初學者和所以無論我寫的是很基本的,但這裏是我試過:
Sub FillDown()
Range("B12:Z24" & Range("A" & Rows.Count).End(xlUp).Row).FillDown
End Sub
這個工程只是像任何更復雜的代碼中,我從谷歌拉。
一個例子下面是連接例如,我已經嘗試只是拷貝desired result
任何的/自動填充式和格式化從行12向下,而不是整個部分的表..任何建議?
**
- UPDATE
** 道歉,我想通了這一個了幾個星期前,但忘了在這裏發表於:相反 創造新的部分(I」米主叫行12至24「的部分」),我創建一個表部分的一組數,並得到一些幫助,一個循環,轉換式從行13到行23(我想保持在排12和24中的式),併爲下面的部分做了相同的處理。需要一些時間在更大的範圍內,但要完成這項工作。 代碼:
Sub Pasteloop()
Application.ScreenUpdating = False
Dim i As Long
Dim ii As Long
Dim LastRow As Long
Dim wb As Workbook
Dim sht1 As Worksheet
Dim j As Long
Dim jj As Long
Set wb = ThisWorkbook
Set sht1 = wb.Sheets("Output")
LastRow = 130 'a number 1 bigger than the last row to paste
i = 13 'start row of the 1st select
ii = 23 'end row of the 1st select
j = 13 'start row of the 2nd select
jj = 23 'end row of the 2nd select
k = 7 'column number of the left hand column of the range
p = 260 'column number of the right hand column of the range
'This is the beginning of the loop
Do While i < LastRow
'set the next range as the previous range values
sht1.Range(Cells(j, k), Cells(jj, p)) = sht1.Range(Cells(i, k), Cells(ii,
p)).Value
'move along to the next selection by incrementing everything by 12
ii = ii + 12
i = i + 12
jj = jj + 12
j = j + 12
Loop
Application.ScreenUpdating = True
End Sub
這已經降低了每週更新報告,開放時間從幾分鐘到秒。
如果您的代碼依賴於它,屏幕截圖應包含列標題。爲什麼在代碼中填寫B列?您需要查找數據的最後一行。 – PatricK
@PatricK道歉,我會更新屏幕截圖。我想B列不一定要包括在內,但爲了最小化整體公式的數量,我只會將其複製到有相關數據的地方 –