標題:
vba 比對儲存格範圍內字串並轉置後加入字元
[打印本頁]
作者:
t591nm
時間:
2015-7-28 10:42
標題:
vba 比對儲存格範圍內字串並轉置後加入字元
大家好,小妹因工作關係剛學習vba
使用版本為2003
錄製巨集後得到以下程式
Range("C10:H10").Select
ActiveCell.FormulaR1C1 = "=TRANSPOSE(首頁!R14C2:R34C2)"
Selection.FormulaArray = "=TRANSPOSE(首頁!R14C2:R34C2)"
我想改成我需要的條件
1.C13:AB13儲存格中若有"Hz"的字串,則在那一列中該儲存格含有執行轉置的動作(註:首頁!R14C2:R34C2內為所設定好的資料,有包含空白),若該儲存格內沒有"Hz"的字串則不需要經過轉置
2.執行轉置後,有經過轉置的儲存格,除了C列的第一格外都要加入"CL :"
大概知道要使用for 與if then,可是小妹剛學習vba,還不知道怎麼兜起來
不知道該怎麼下手去學習這樣的語言,特來請教各位大大,感謝。
作者:
lpk187
時間:
2015-7-28 11:04
回復
1#
t591nm
方便上傳檔案嗎?否則很難理解你的問題
作者:
t591nm
時間:
2015-7-28 11:37
如範例檔所示
作者:
GBKEE
時間:
2015-7-28 14:32
回復
3#
t591nm
試試看
Option Explicit
Sub Ex()
Dim AR, i As Integer
AR = Application.Transpose([首頁!B14:B34].Value) '範圍導入陣列
With Sheet2.Range("C10:K10")
.Clear
For i = 1 To .Cells.Count
If .Cells(i).Offset(3) = "Hz" Then
.Cells(i) = AR(i)
If i > 1 Then .Cells(i) = "CL:" & .Cells(i)
End If
Next
End With
End Sub
複製代碼
作者:
t591nm
時間:
2015-7-28 15:36
回復
4#
GBKEE
[attach]21544[/attach]
如圖所示出現(上面一張下面一張)
我只是改了巨集名稱及列的範圍而已
請問Sheet2 是指該工作表名稱嗎
那如果我的工作表名稱是數字加英文
是否也可以把Sheet2直接改成數字加英文
感謝回答
作者:
lpk187
時間:
2015-7-28 16:25
本帖最後由 lpk187 於 2015-7-28 16:26 編輯
回復
5#
t591nm
可依據下圖例子更改你的Sheet?
[attach]21546[/attach]
作者:
t591nm
時間:
2015-7-28 16:34
回復
6#
lpk187
感恩大大
已經成功
謝謝您
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)