懂EXCEL的VBA程式設計的進來,小問題

2022-03-10 04:33:33 字數 4067 閱讀 2515

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 按扭。開啟效能中的設定後,就會出現如圖所示的 效能選項 視窗,如圖所示的找到 高...