我有很多3種語言的原始數據,其中大部分是在.xlsx
。 您可以考慮數據,因爲表格包含3列和許多行(百萬)。如何在Excel 2010中創建條件單元格合併?
我想建立其實現這個宏:
檢查,如果你的相鄰單元的單元是空的,合併到自己的上述細胞。
if (the cell on your left is empty):
merge yourself to the above cell;
我對VB沒有什麼瞭解,但是我想自己實現它,我該怎麼做呢?
我有很多3種語言的原始數據,其中大部分是在.xlsx
。 您可以考慮數據,因爲表格包含3列和許多行(百萬)。如何在Excel 2010中創建條件單元格合併?
我想建立其實現這個宏:
檢查,如果你的相鄰單元的單元是空的,合併到自己的上述細胞。
if (the cell on your left is empty):
merge yourself to the above cell;
我對VB沒有什麼瞭解,但是我想自己實現它,我該怎麼做呢?
沒有更多的信息很難回答,但是這概括了一些問題。
你需要一個地方來存儲感興趣的單元格的行和列:
Dim ColCrnt As Long
Dim RowCrnt As Long
如果你想往下跑一欄,你可以寫這樣的:
ColCrnt = 5 ' 5 represents column "E". Columns are numbered from 1.
For RowCrnt = 1 to 1000
'Update code.
Next
如果您想要移動光標然後調用宏,您可以編寫如下內容:
ColCrnt = ActiveCell.Column
RowCrnt = ActiveCell.Row
' Update Code.
假設更新代碼是活動工作表上操作,這將是這樣的:
If Cells(RowCrnt, ColCrnt - 1).Value = "" Then
Cells(RowCrnt-1, ColCrnt).Value = _
Cells(RowCrnt-1, ColCrnt).Value & Cells(RowCrnt-1, ColCrnt).Value
Cells(RowCrnt, ColCrnt).Value = ""
End If
Cells(RowCrnt, ColCrnt).Value
是當前單元的值。從RowCrnt中減1,引用上面的單元格。從ColCrnt減1,引用左邊的單元格。
Cells(RowCrnt-1, ColCrnt).Value = Cells(RowCrnt-1, ColCrnt).Value & Cells(RowCrnt-1, ColCrnt).Value
將當前單元格的值連接到上面單元格的末尾。
Cells(RowCrnt, ColCrnt).Value = ""
清除當前單元格。
所以:
| E |
|---------|
| The |
| cat |
變爲:
| E |
|---------|
| Thecat |
| |
如果你想之間 「的」 和 「貓」 的空間:
Cells(RowCrnt-1, ColCrnt).Value = _
Cells(RowCrnt-1, ColCrnt).Value & " " & Cells(RowCrnt-1, ColCrnt).Value
如果你想 「貓」 上一條新線::
Cells(RowCrnt-1, ColCrnt).Value = _
Cells(RowCrnt-1, ColCrnt).Value & vblf & Cells(RowCrnt-1, ColCrnt).Value
注意:單元格可能需要非常長的字符串,但只有開頭纔可見。
希望這能讓你開始。