1樓:萬夏侯容
1) 新建一excel檔案,內容如*線間所示:
************************
日期 內容
2007-9-10 i
2007-9-11 a
2007-9-11 b
2007-9-11 c
2007-9-11 d
2007-9-11 e
2007-9-11 f
2007-9-11 g
2007-9-11 h
2007-9-23 j
************************
2)按alt+f11,調出工程視窗。
3)雙擊 工程-vbaproject 下的 thisworkbook。拷貝+線間的內容,儲存即可。
+++++++++++++++++++++++++++++++++++
private sub workbook_open()
dim jitian as date
dim ri as integer
dim msg, style as string
'篩選出今天的資料
jintian = date
sheets("sheet1").select
range("a1").select
selection.autofilter
if sheets("sheet1").autofiltermode = false then
selection.autofilter
end if
selection.autofilter field:=1, criteria1:=jintian '日期的格式應設為"2007-9-11"
'拷貝到sheet2去
range("a1").select
selection.end(xldown).select
if selection.value <> "" then
ri = selection.row
range(cells(2, 2), cells(ri, 2)).select
end if
selection.copy
sheets("sheet2").select
range("a1").select
selection.pastespecial paste:=xlpastevalues, operation:
=xlnone, skipblanks:=false, transpose:=false
'找今天的內容
msg = format(jintian)
for i = 1 to ri - 1
msg = msg + "|" + cells(i, 1)
next
'復位selection.clearcontents
sheets("sheet1").select
range("a1").select
selection.autofilter
'顯示輸出
style = vbokonly
response = msgbox(msg, style)
end sub
+++++++++++++++++++++++++++++++++++
2樓:
private sub workbook_open()dim msg, tiltle, stylemsg = now()
style = vbyesnocancelss = msgbox(msg, style)end sub
3樓:風雪烈焰
如果讓msgbox來顯示資料,也可以,但不是太好,你可以插入一個form,上面加上lable 和text等控制元件.具體如下:
(1).開啟你的excel工作表,檢視---工具欄---visual basic,這樣就會調出excel裡的visual bisca面板.
(2).點選visual basic面板裡的visual basic編輯器(就是最中間的那個).在彈出的microsoft visual basic 視窗裡點選 插入---使用者窗體,插入一個form窗體(一般這個窗體的預設名稱是userform1,和vb裡不太一樣).
(3).將userform1左邊的工具箱裡textbox控制元件放入這個面板(需要幾個就放幾個).textbox的outosize屬性改為true,即讓該控制元件可以自動變大,當顯示內容較多時可以顯示完全.
(4).雙擊 工程-vbaproject 下的 thisworkbook
(5).在 通用 裡點 workbook ,這時下面會自動彈出 private sub workbook_open() '這就表示當該工作表開啟時執行的程式
(6).在private sub workbook_open() 下面輸入以下**:
for i=1 to 1000'1000在這裡表示從資料的最後一行,你也以根據實際情況作適當調整大或者小一點
if cells(i,1)=date '這裡假設你的第一列是存的日期,你要將1換作你存放日期的列數,date 表示當天日期
textbox1.text= textbox1.text & cells(i,2)'顯示該行的第二列資料.
textbox2.text= textbox1.text & cells(i,3)
......
end if
next i
(7).回到工作表,點 工具--選項--安全性--巨集安全性(在右下角的),將巨集安全性設為低.
(8). 上面就是全部的內容了,儲存,關閉,再開啟,就可以看到了.當然了,上面只是具體思路,要保證實現你的目的,你要根據這個原理,再動下腦筋才行,如果有什麼不明白的,給我空間留資訊.
祝你成功!
excel中vba的一個小應用問題,請教大家,請大家指點!
4樓:匿名使用者
sub ddd()
dim m,n as integer
cells(1,3)=cells(1,1)n=1for m= 1 to range("a65535").end(xlup).row-1
if cells(m+1, 1) <> cells(m, 2) + 1 then
n=n+1
cells(n, 4) = cells(m, 2)cells(n-1,3) = cells(m+1, 1)end if
next
end sub
5樓:匿名使用者
sub ls()
dim i, n as integer
range("c1").value = range("a1").value
i = 1
n = 1
do while range("a" & i).value <> ""
if range("a" & i + 1).value <> range("b" & i).value + 1 then
range("d" & n).value = range("b" & i).value
range("c" & n + 1).value = range("a" & i + 1).value
n = n + 1
end if
i = i + 1
loop
end sub
6樓:雨後藍雪花
sub chkdata()
dim ra, rd, maxrow as longmaxrow = range("a" & rows.count).end(xlup).row
range("c1:d" & rows.count).clearcontents
range("c1") = range("a1")rd = 1
for ra = 2 to maxrow
if cells(ra, 1) <> cells(ra - 1, 2) + 1 then
cells(rd, 4) = cells(ra - 1, 2)cells(rd + 1, 3) = cells(ra, 1)rd = rd + 1
end if
next ra
end sub
有excel資料如圖,怎麼用vba程式設計做出下圖。主要問題是有兩個縱座標,求指教,謝謝
根據你給的 邏輯如下 1 獲取單元格的行數 2 以行數做迴圈 3 在文字的前面加序號 4 如果遇到空白 則重新計數 請問有沒有辦法從excel中用vba程式設計提取資料按條件生成另一張表 20 有何不可?只要邏輯清晰就能做到,不過這不是幾行 就能實現的.一般來說,只要你想得到,多數可以。但你上面的圖...
懂香水的進來,懂香水的進來
目前市面大多數的香水均是人工合成,即使是chanel hermes dior等國際一線品牌。最常見的是由植物香料 動物香料 合成香料配置而成的具備多層次的香水。而真正純天然的香水少之又少。只有含95 以上的有機成分才能夠稱為 有機香水 有機香水 的創始者是匈牙利有機美容品牌patyka,於2000年...
懂電腦的進來,懂電腦的進來。
虛擬記憶體的設定問題在 我的電腦 圖示上右鍵屬性調出 系統屬性 視窗。或者直接在開始選單裡找到 控制面板 開啟後再找到 系統 雙擊開啟是一樣的效果。調出系統屬性後,如圖所示,找到 高階 選項卡,選擇效能下面的 設定 s 按扭。開啟效能中的設定後,就會出現如圖所示的 效能選項 視窗,如圖所示的找到 高...