excel儲格內容相乘

2015-07-18 4:43 am
1.儲存格內的值定義為文字
2.欄的文字去乘列的文字而欄本身不相乘, 故組合中絕不會出現[0001] 或[0809]…...等
3.且文字組合不重覆(例: [00,03] [03,00]即為重覆)的所有組合
4.各欄的"列"會依輸入情況有所不同
5.如何用vba方式達成
謝謝~

檔案說明如下連結:
https://app.box.com/s/66xbi13u8bcj62m61msf7jx7zs5gn3zk

回答 (4)

2015-07-18 6:50 pm
✔ 最佳答案

這題是 qid=1015071005037 的延伸題,
原題是方陣,這題不是方陣,
需要改成以下:

Sub my_product()

xU = [A1].End(xlToRight).Column
r = 1

For x1 = 1 To xU - 1
For y1 = 1 To Cells(1, x1).End(xlDown).Row
For x2 = x1 + 1 To xU
For y2 = 1 To Cells(1, x2).End(xlDown).Row
Cells(r, xU + 2) = Cells(y1, x1) & Cells(y2, x2)
r = r + 1
Next
Next
Next
Next

End Sub

2015-07-19 11:43:19 補充:
修訂版: (也適用於一列)

Sub my_product()

xU = [A1].End(xlToRight).Column
Range(Cells(1, xU + 1), Cells(65536, 256)).ClearContents
r = 1

For x1 = 1 To xU - 1
For y1 = 1 To Cells(65536, x1).End(xlUp).Row
For x2 = x1 + 1 To xU
For y2 = 1 To Cells(65536, x2).End(xlUp).Row

2015-07-19 11:43:44 補充:
Cells(r, xU + 2) = Cells(y1, x1) & Cells(y2, x2)
r = r + 1
Next
Next
Next
Next

End Sub
2015-07-18 11:09 pm
2015-07-18 9:20 pm
TO 准大
範圍中數字不會重覆, 謝謝~

2015-07-18 13:23:14 補充:
TO Lopez 大

當欄僅有一列時,End(xlDown).Row的判定好像會有問題, 謝謝

2015-07-18 15:10:07 補充:
TO 准大,
儲存格內的值定義為"文字"或"符號"
故結果必為四個字元
因為後續還有其他比對的問題,謝謝~~

2015-07-18 15:21:06 補充:
TO E大
謝謝E大的保貴意見
但這次可能比較需要用VBA的方式完成, 因為後續有需要改成三個儲存格一組, 或四個儲存格一組的相乘方式~~

2015-07-19 07:47:10 補充:
TO 准大,
字元的部分已ok, 謝謝
但若試8列2欄, 其組數應為64, 但大大的方式所跑出的組數不足...
2015-07-18 8:23 pm
~~3.且文字組合不重覆
範圍中數字可能重覆?

2015-07-18 14:50:21 補充:
For Each r1 In [A1:C6]
For Each r2 In [B1:D6]
  If r2.Column > r1.Column And r1 <> "" And r2 <> "" Then
   N = N + 1
   Cells(N, 6) = IIf(r1 > r2, r2 & r1, r1 & r2)
  End If
Next
Next

F欄自行手動排序~~

2015-07-18 14:52:53 補充:
For Each r1 In [A1:C6]
For Each r2 In Range(Cells(1, r1.Column + 1), [D6])
  If r1 <> "" And r2 <> "" Then
   N = N + 1
   Cells(N, 6) = IIf(r1 > r2, r2 & r1, r1 & r2)
  End If
Next
Next

可少跑幾個迴圈!

2015-07-18 14:58:22 補充:
F欄請先設為〔文字格式〕!

2015-07-18 16:19:14 補充:
~~儲存格內的值定義為"文字"或"符號",故結果必為四個字元
依範例檔資料及格式,004及005結果:
0008
0009
0010
0011

不知有何問題?


收錄日期: 2021-04-16 17:02:50
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20150717000010KK05382

檢視 Wayback Machine 備份