返回列表 上一主題 發帖

vba 比對儲存格範圍內字串並轉置後加入字元

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,還不知道怎麼兜起來
不知道該怎麼下手去學習這樣的語言,特來請教各位大大,感謝。

回復 1# t591nm

方便上傳檔案嗎?否則很難理解你的問題

TOP

如範例檔所示

test.rar (7.02 KB)

此為範例檔

TOP

回復 3# t591nm
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim AR, i As Integer
  4.     AR = Application.Transpose([首頁!B14:B34].Value) '範圍導入陣列
  5.     With Sheet2.Range("C10:K10")
  6.         .Clear
  7.        For i = 1 To .Cells.Count
  8.             If .Cells(i).Offset(3) = "Hz" Then
  9.                 .Cells(i) = AR(i)
  10.                 If i > 1 Then .Cells(i) = "CL:" & .Cells(i)
  11.             End If
  12.        Next
  13.     End With
  14. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 4# GBKEE


   

如圖所示出現(上面一張下面一張)
我只是改了巨集名稱及列的範圍而已
請問Sheet2 是指該工作表名稱嗎
那如果我的工作表名稱是數字加英文
是否也可以把Sheet2直接改成數字加英文

感謝回答

TOP

本帖最後由 lpk187 於 2015-7-28 16:26 編輯

回復 5# t591nm

可依據下圖例子更改你的Sheet?
   

TOP

回復 6# lpk187



感恩大大
已經成功
謝謝您

TOP

        靜思自在 : 修行要繫緣修心,藉事練心,隨處養心。
返回列表 上一主題