如何設定複製迴圈sheet1複製儲存格至sheet2固定位置????
- 帖子
- 9
- 主題
- 1
- 精華
- 0
- 積分
- 50
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- Office 2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-9-13
- 最後登錄
- 2023-10-10
|
如何設定複製迴圈sheet1複製儲存格至sheet2固定位置????
|
|
|
|
|
|
|
- 帖子
- 552
- 主題
- 6
- 精華
- 0
- 積分
- 576
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2015-2-8
- 最後登錄
- 2026-9-10
  
|
2#
發表於 2015-9-13 22:36
| 只看該作者
回復 1# poke0817
是這樣嗎?
我把標籤樣式改到Sheet3以應第2個問題- Public Sub ex()
- Dim rng As Range, r%, c%
- Sheet3.Range("a1:h" & Sheet3.Cells(Rows.Count, 1).End(xlUp).Row).Delete
- r = 1
- c = 1
- For i = 1 To 8 Step 2
- Sheet3.Columns(i).ColumnWidth = 9.65
- Sheet3.Columns(i + 1).ColumnWidth = 18.13
- Next
- For Each rng In Sheet1.Range("a2:a" & Sheet1.Cells(Rows.Count, 1).End(xlUp).Row)
- With Sheet3
- If c < 8 Then
- With .Range(.Cells(r, c), .Cells(r + 2, c + 1))
- .HorizontalAlignment = xlCenter
- .VerticalAlignment = xlCenter
- .WrapText = False
- .Orientation = 0
- .AddIndent = False
- .IndentLevel = 0
- .ShrinkToFit = True
- .ReadingOrder = xlContext
- .Borders(xlDiagonalDown).LineStyle = xlNone
- .Borders(xlDiagonalUp).LineStyle = xlNone
- With .Borders(xlEdgeLeft)
- .LineStyle = xlContinuous
- .ColorIndex = xlAutomatic
- .TintAndShade = 0
- .Weight = xlMedium
- End With
- With .Borders(xlEdgeTop)
- .LineStyle = xlContinuous
- .ColorIndex = xlAutomatic
- .TintAndShade = 0
- .Weight = xlMedium
- End With
- With .Borders(xlEdgeBottom)
- .LineStyle = xlContinuous
- .ColorIndex = xlAutomatic
- .TintAndShade = 0
- .Weight = xlMedium
- End With
- With .Borders(xlEdgeRight)
- .LineStyle = xlContinuous
- .ColorIndex = xlAutomatic
- .TintAndShade = 0
- .Weight = xlMedium
- End With
- With .Borders(xlInsideVertical)
- .LineStyle = xlContinuous
- .ColorIndex = xlAutomatic
- .TintAndShade = 0
- .Weight = xlThin
- End With
- With .Borders(xlInsideHorizontal)
- .LineStyle = xlContinuous
- .ColorIndex = xlAutomatic
- .TintAndShade = 0
- .Weight = xlThin
- End With
- With .Font
- .Name = "標楷體"
- End With
- End With
- With .Range(.Cells(r, c), .Cells(r, c + 1))
- .MergeCells = True
- .Value = "XX企業股份有限公司"
- With .Font
- .Size = 14
- End With
- End With
- .Cells(r + 1, c) = "財產編碼"
- .Cells(r + 1, c + 1) = rng
- .Cells(r + 2, c) = "品名"
- .Cells(r + 2, c + 1) = rng.Offset(, 1)
- c = c + 2
- End If
- If c > 8 Then
- c = 1
- r = r + 3
- End If
- End With
- Next
- End Sub
複製代碼 |
|
|
|
|
|
|
|
- 帖子
- 2848
- 主題
- 10
- 精華
- 0
- 積分
- 2903
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2026-7-25
|
3#
發表於 2015-9-13 22:44
| 只看該作者
程式構想:
1.〔標籤清單〕工作表前3列,事先設定好表格樣式(只有標題文字,未填內容),
一排要幾欄(視列印大小),可由此決定,貼入資料時,即以此為樣本往右往下轉貼。
2.貼入資料時,從第4列開始,樣式就用前3列為來源,再逐一填入資料,
處理完成後,再刪去前3列。
3.執行〔清除〕,即可恢復原狀(爾後仍可重新更改樣式,程式只依樣複製)- Sub 轉出()
- Dim R&, xR As Range, xH As Range, xE As Range
- Call 清除
- R = [標籤清單!A65536].End(xlUp).Row
- If R < 2 Then Exit Sub
- Set xH = [標籤樣式!A4]: Set xE = xH
-
- For Each xR In [標籤清單!A2].Resize(R - 1)
- If xH = "" Then [標籤樣式!1:3].Copy xE
- xE(2, 2) = xR
- xE(3, 2) = xR(1, 2)
- Set xE = xE(1, 3)
- If xE = "" Then Set xH = xH(4): Set xE = xH
- Next
- [標籤樣式!1:3].EntireRow.Delete
- Application.Goto [標籤樣式!A1]
- End Sub
複製代碼
附件下載:
財產標籤製作v01.rar (16.22 KB)
|
|
|
|
|
|
|
|
- 帖子
- 9
- 主題
- 1
- 精華
- 0
- 積分
- 50
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- Office 2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-9-13
- 最後登錄
- 2023-10-10
|
4#
發表於 2015-9-14 19:56
| 只看該作者
回復 2# lpk187
大大果然厲害,但很好奇,我在公司測試的時候公司是2003版本,卻一直出錯誤,因不了解各項次的設定所以沒在嘗試修改,回到家在測試一次,居然可以!!!!!!
這是有限版本嗎??? |
|
|
|
|
|
|
|
- 帖子
- 9
- 主題
- 1
- 精華
- 0
- 積分
- 50
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- Office 2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-9-13
- 最後登錄
- 2023-10-10
|
5#
發表於 2015-9-14 20:12
| 只看該作者
回復 3# 准提部林
版大,今天有測試您寫的,一開始出現錯誤,將Call 清除(這出現錯誤,刪除後就可以執行了),感謝啦!
但有個問題,我有嘗試將一個標籤用兩個財產編號,但修改後仍是一個一個跳如下:
Sub 轉出()
Dim R&, xR As Range, xH As Range, xE As Range
R = [標籤清單!A65536].End(xlUp).Row
If R < 2 Then Exit Sub
Set xH = [標籤樣式!A4]: Set xE = xH
For Each xR In [標籤清單!A2].Resize(R - 1)
If xH = "" Then [標籤樣式!1:3].Copy xE
xE(2, 2) = xR(1)
xE(3, 2) = xR(2)
Set xE = xE(1, 3)
If xE = "" Then Set xH = xH(4): Set xE = xH
Next
[標籤樣式!1:3].EntireRow.Delete
Application.Goto [標籤樣式!A1]
End Sub |
|
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
6#
發表於 2015-9-14 20:13
| 只看該作者
回復 lpk187
大大果然厲害,但很好奇,我在公司測試的時候公司是2003版本,卻一直出錯誤,因不了解 ...
poke0817 發表於 2015/9/14 19:56 
我也是2003版本,准提部林版主的附檔可正常執行程式. |
|
|
|
|
|
|
|
- 帖子
- 9
- 主題
- 1
- 精華
- 0
- 積分
- 50
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- Office 2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-9-13
- 最後登錄
- 2023-10-10
|
7#
發表於 2015-9-14 20:31
| 只看該作者
回復 1# poke0817
想請問,如果有一個清單,可是須對應三種標籤,
1、依項次1(清單),A~D的欄位for 標籤樣式1(對應該清單的料號、品名、批號、盒數),在依照清單(C7開始)高度排列(C7、C8、C9、C10),直到C欄清單結束。
2、依項次1(清單),F~I的欄位for 標籤樣式2(對應該清單的料號、品名、批號、盒數),在依照清單(H7開始)高度排列(B5、D5),直到C欄清單結束。(標籤3的方式應該跟此一樣,只是對應的清單區域不一樣)
標籤快把我搞死了,研究不出所以然來.......之前錄製巨集到眼花,又被主管打槍= =!!
標籤製作.rar (20.99 KB)
|
|
|
|
|
|
|
|
- 帖子
- 2848
- 主題
- 10
- 精華
- 0
- 積分
- 2903
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2026-7-25
|
8#
發表於 2015-9-14 20:32
| 只看該作者
回復 5# poke0817
不可使用是因為您〔沒有下載〕附檔,詳細看裡面還有一個 sub 清除() 程式,
〔清除〕程式我一般會另外寫!
表格〔第一排〕請依您的所需先右貼,要貼幾個模板依〔列印寬度〕而定,而不是只有A1:B3一組,
這個做法可減少很多程式碼,反正第一排怎設定,程式依樣畫葫蘆,
若有更改也不須去更動大部份的程式,只要直接對表格修改即可!
xR(1) → xR.cells(1,1)
xR(2) → xR.cells(2,1) 是它的〔下一格〕,若要指定其〔右一格〕,則為 xR(1,2) → 等同于 xR.cells(1,2) |
|
|
|
|
|
|
|
- 帖子
- 9
- 主題
- 1
- 精華
- 0
- 積分
- 50
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- Office 2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-9-13
- 最後登錄
- 2023-10-10
|
9#
發表於 2015-9-14 21:34
| 只看該作者
回復 8# 准提部林
准提部林 :感謝版大,因附件有限層級,小弟我還太嫩,所以沒辦法下載來看,有在針對你撰寫的程式去測試,依照一張標籤作對應清單四組修改,但在跑迴圈時還是會依照清單第二組開始重新續編,無法依照清單第五組開始,如圖所示....如果可以續編我其它三個標籤方式應該可以跟著修正,差在盒數的部分就沒辦法接續+1了。
|
|
|
|
|
|
|
|
- 帖子
- 552
- 主題
- 6
- 精華
- 0
- 積分
- 576
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2015-2-8
- 最後登錄
- 2026-9-10
  
|
10#
發表於 2015-9-15 09:59
| 只看該作者
回復 4# poke0817
製作儲存格格式,和版本有關係!2003不相容! |
|
|
|
|
|
|
|