返回列表 上一主題 發帖

請問如何將表格的資訊整理成我要的資訊

請問如何將表格的資訊整理成我要的資訊

請問我有一個表格如下面第一張圖
我想在輸入完sheet1的表格後
在sheet2跑出sheet1有值的資訊如第二張圖
是不是得用VBA寫才行?
而且還要有字體顏色,應該不能用函數直接寫吧?
煩請各位大大指點



Form.rar (2.32 KB)
50 字節以內
不支持自定義 Discuz! 代碼

回復 2# GBKEE
跑出來了 謝謝版主
但我想再稍作修改 像下圖

我土法煉鋼改成以下這樣
但是好像不對
我還想請問向中間沒數值的話
會有空白列 可以不要有空白嗎
如果要修改字型的話 要放在迴圈內還是迴圈外
煩請版主為小弟解惑一下

Sub Ex()
    Dim Ar(), E As Range, Msg$, i%, y%, C%
    Ar = Array("a2", "g2", "a8", "g8")
    C = 4
    For i = 1 To Sheet1.[C2:F6].Columns.Count
        Msg = ""
        y = 0
        For Each E In [C2:F6].Columns(i).Cells
            If E <> "" Then
                Msg = IIf(Msg <> "", Msg & Chr(10), "") & "在" & Cells(E.Row, 1) & "店買了" & Cells(E.Row, 2) & E & "枝"

                y = y + 1
            End If
        Next
        Sheet2.Range(Ar(i - 1)) = IIf(Msg <> "", Msg & Application.Rept(Chr(10), IIf(y < C, C - y, 0)) & IIf(y < C, "請至A店取貨", ""), "")
    Next
    For i = 1 To Sheet1.[C7:F11].Columns.Count
        Msg = ""
        y = 0
        For Each E In [C7:F11].Columns(i).Cells
            If E <> "" Then
                Msg = IIf(Msg <> "", Msg & Chr(10), "") & "在" & Cells(E.Row, 1) & "店買了" & Cells(E.Row, 2) & E & "枝"

                y = y + 1
            End If
        Next
        Sheet2.Range(Ar(i - 1)) = IIf(Msg <> "", Msg & Application.Rept(Chr(10), IIf(y < C, C - y, 0)) & IIf(y < C, "請至B店取貨", ""), "")
    Next
End Sub
50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 4# GBKEE

不好意思~版主
我怎麼改一下格式就跑不出來了
我想讓圖一變成圖二那樣
另外再加一個按鈕在下面讓此巨集自動動作(圖三紅色處)
麻煩版主大人了



Test.rar (10.16 KB)
50 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 是非當教育,讚美作警惕。
返回列表 上一主題