各位板上的大大您好:
最近自己在做一個生日表的練習,是用vab寫成視窗化
可是目前有點卡關,不知道該如何讓它輸入的資料自己編號
大概的樣子像這樣
[attach]5554[/attach]
會輸入的資料只有B,C,D
不過想做成的表格格式像
[attach]5553[/attach]
Q1:
A資料是放學號,所以想讓他藉由B資料的新增而自動編排
可是對於取得資料端點這部份的語法不是很熟悉,
我有爬文爬到一篇"如何在A欄 自動填上編號" 連結=>http://forum.twbts.com/thread-926-1-36.html
當中老師使用的方法.SpecialCells(xlCellTypeConstants)<=這個有點不懂在做什麼的
所以想請教板上的大大
我自己有想個方法,是否可以藉由判讀B欄的內容,如果有值得話,則A欄位放值
或者是用FOR迴圈來做???不過FOR迴圈好像只有一開始會跑,如果要做在新增不知道恰不恰當
Q2:
因為刪除資料想用透過學號來判別,這部分不知道該如何做
刪除的語法Rows(1).delete 這是刪除第一列
如果想判讀輸入A的值後刪除相對應的,是不是該把(1)的值放成變數 EX Rows(a).delete 這樣做???
自己目前想的:
Private Sub Cbo刪除資料_Click()
Dim a as Range
Dim b as Range 'b值定義為A行的值
If a = b then
row.(a).delet
else
MsgBox "查無此資料"
End if
End Sub
是這樣嗎????
回復 2#FAlonso
If IsError(myrange) Then 應修改為 If myrange Is Nothing Then作者: atuan207 時間: 2011-4-19 20:46
謝謝大大們的幫助,小弟看完大大的程式後有一些問題想問
我試著做一下註解釐清觀念 順便請教一下
自動編號的:
Range("A2:A65536").ClearContents
//是指從A2~An個欄位 clear這個是清除公式保留格式設定嗎???
Range("A2") = 1
//A2的為起點1
Range("A2:A" & Range("B65536").End(xlUp).Row).DataSeries
// A2:A 不懂 B(65536)是指B整行 .end(xlup)是指取得連續區域上端的值
//.DataSeries這行F1解釋為在指定範圍內建立資料數列。 但在這用的意思是??
刪除的:
Dim myrange As Range //定義myrange
Set myrange = Columns("A:A").Find(TextBox1.Value)
//列("A:A") "A:A"跟上面一樣不懂(應該是一樣的宣告方式) 尋找輸入txt的值
If myrange Is Nothing Then
Exit Sub
//如果沒事就離開
Else
Rows(myrange.Row).Delete
//否則就刪除myrange輸入的那列
End If