Страница: 1 |
|
Вопрос: Удаление строки из Worksheeps
|
Добавлено: 24.11.09 01:24
|
|
Автор вопроса: Den | ICQ: 1601136
|
есть программа с 4 тхтБокс (Имя, фамилия, ДР, Класс) и 2 радиобатона (пол: муж. и жен.) + 1 комбобох и 2 Батона (вставить и удалить)... при вводе (Имя, фамилия, ДР, Класс)
и нажатии кнопки вставить (Имя, фамилия, ДР, Класс) вводится таблицу Excel а так же (Имя, фамилия) отоброжается в КомбоБох, при нажатие же кнопки удалить, выделенное имя и фам. в комбобох должны удалятся, как из комбоБохса так и из Excel таблицы... у меня же удаляется только из КомбоБохса а в таблице Excel нет :( помогите плз как ето можно решить а то я что то не могу (
Вот и сам код:
Option Explicit
Dim intAnzahl As Integer
Dim vname As String
Dim fname As String
Dim geb As Double
Dim klas As String
Dim inti As Integer
Sub aufbau()
cmbAll.Clear
Worksheets("Tabelle3").Activate
intAnzahl = ActiveSheet.UsedRange.Rows.Count - 2
txtAnz = intAnzahl
If intAnzahl > 0 Then
For inti = 1 To intAnzahl Step 1
cmbAll.AddItem Cells(2 + inti, 2) + ", " + Cells(2 + inti, 1)
Next
End If
End Sub
Private Sub cmdDel_Click()
If cmbAll.ListIndex = -1 Then
MsgBox ("Sie haben kein Name aus ListBox markiert! Was Wollen Sie dann won mir?!")
Else
Dim intzeile As Integer
intzeile = cmbAll.ListIndex
cmbAll.RemoveItem (intzeile)
intAnzahl = intAnzahl - 1
txtAnz.Value = intAnzahl
cmbAll.ListIndex = -1
End If
End Sub
Private Sub cmdEnd_Click()
End
End Sub
Private Sub cmdHinz_Click()
If txtVor = "" And txtFam = "" Then
MsgBox ("Sie Sollen formular erst auffuelen!")
Else
Cells(intAnzahl + 3, 1) = txtVor
Cells(intAnzahl + 3, 2) = txtFam
Cells(intAnzahl + 3, 3) = txtGeb
Cells(intAnzahl + 3, 4) = txtKlas
If optWeib = True Then
Cells(intAnzahl + 3, 5) = "weiblich"
Else
Cells(intAnzahl + 3, 5) = "maenlich"
End If
Call aufbau
End If
End Sub
Private Sub UserForm_Initialize()
Call aufbau
txtVor.SetFocus
End Sub
З.Ы.
vname = Имя
fname = фам.
geb = ДР
kla = клас
Ответить
|
Номер ответа: 1 Автор ответа: Den
ICQ: 1601136
Вопросов: 1 Ответов: 7
|
Профиль | | #1
|
Добавлено: 24.11.09 01:26
|
Private Sub cmdDel_Click()
If cmbAll.ListIndex = -1 Then
MsgBox ("Sie haben kein Name aus ListBox markiert! Was Wollen Sie dann won mir?!"
Else
Dim intzeile As Integer
intzeile = cmbAll.ListIndex
cmbAll.RemoveItem (intzeile)
intAnzahl = intAnzahl - 1
txtAnz.Value = intAnzahl
cmbAll.ListIndex = -1
End If
End Sub
а ето собственно и сама кнопка удалить
Ответить
|
Номер ответа: 8 Автор ответа: AngryBadger
Вопросов: 33 Ответов: 245
|
Профиль | | #8
|
Добавлено: 24.11.09 16:34
|
Вобщем лень мне было разбираться с написанным, почту могу посмотреть только вечером, да и скачать файл тоже не могу. Если я правильно понял твою идею, то держи код
На UserForm1 кинь:
Textbox1 - Имя
Textbox2 - Фамилия
Textbox3 - Дата рождения
Textbox4 - Класс
OptionButton1 - Мужской пол
OptionButton2 - Женский пол
ComboBox1 - Для выбора фамилии из списка
CommandButton1 - Кнопка добавить
CommandButton2 - Кнопка удалить
Изменения будут вноситься на первый лист книги
- Private Sub ComboBox1_Change()
- If ComboBox1.Value <> "" Then
- TextBox1.Value = Cells(ComboBox1.ListIndex + 2, 1)
- TextBox2.Value = Cells(ComboBox1.ListIndex + 2, 2)
- TextBox3.Value = Cells(ComboBox1.ListIndex + 2, 3)
- TextBox4.Value = Cells(ComboBox1.ListIndex + 2, 4)
- If Cells(ComboBox1.ListIndex + 2, 5).Value = "М" Then
- OptionButton1.Value = True
- Else
- OptionButton2.Value = True
- End If
- End If
- End Sub
-
- Private Sub CommandButton2_Click()
- If ComboBox1.Value <> "" Then
- Rows(ComboBox1.ListIndex + 2).Delete
- TextBox1.Text = ""
- TextBox2.Text = ""
- TextBox3.Text = ""
- TextBox4.Text = ""
- OptionButton1.Value = False
- OptionButton2.Value = False
- Call LoadCombo1
- Else
- MsgBox "Выбери хоть что нибудь!"
- End If
- End Sub
-
- Private Sub UserForm_Initialize()
- Call LoadCombo1
- End Sub
-
- Private Sub CommandButton1_Click()
- Dim i As Long
- Dim CurrentRow As Long
- Dim Name As String
- Dim Surname As String
- Dim Birthday As Date
- Dim Class As String
- Dim Sex As String
-
- CurrentRow = Sheets(1).Cells(65536, 1).End(xlUp).Row + 1
-
- If TextBox1.Text = "" Then
- MsgBox "Введи Имя!"
- Exit Sub
- Else
- Name = TextBox1.Text
- End If
-
- If TextBox2.Text = "" Then
- MsgBox "Введи Фамилию!"
- Exit Sub
- Else
- Surname = TextBox2.Text
- End If
-
- If TextBox3.Text = "" Then
- MsgBox "А день рождения когда???"
- Exit Sub
- Else
- On Error Resume Next
- Birthday = CDate(TextBox3.Text)
- If Err.Number = 13 Then
- MsgBox "Дату рождения необходимо вводить в формате ДД.ММ.ГГГГ!!!"
- Exit Sub
- End If
- End If
-
- If TextBox4.Text = "" Then
- MsgBox "Ну а в каком классе учится " & Name & " " & Surname & "???"
- Exit Sub
- Else
- Class = TextBox4.Text
- End If
-
- If OptionButton1.Value = Flase And OptionButton2.Value = False Then
- MsgBox "Какого пола " & Name & " " & Surname & "???"
- Exit Sub
- ElseIf OptionButton1.Value = True Then
- Sex = "Ж"
- ElseIf OptionButton2.Value = True Then
- Sex = "М"
- End If
-
- For i = 2 To Cells(65536, 2).End(xlUp).Row
- If Cells(i, 1).Value = Name And _
- Cells(i, 2).Value = Surname And _
- Cells(i, 3).Value = Birthday And _
- Cells(i, 4).Value = Class And _
- Cells(i, 5).Value = Sex Then
- MsgBox "Данный человек уже присутствует в списке!!!"
- Exit Sub
- End If
- Next i
-
- Sheets(1).Cells(CurrentRow, 1) = Name
- Sheets(1).Cells(CurrentRow, 2) = Surname
- Sheets(1).Cells(CurrentRow, 3) = Birthday
- Sheets(1).Cells(CurrentRow, 4) = Class
- Sheets(1).Cells(CurrentRow, 5) = Sex
-
- ComboBox1.AddItem (Surname)
-
- End Sub
-
- Sub LoadCombo1()
- ComboBox1.Clear
- If Cells(65536, 2).End(xlUp).Row <> 1 Then
- For i = 2 To Cells(65536, 2).End(xlUp).Row
- ComboBox1.AddItem (Cells(i, 2).Value)
- Next i
- End If
- End Sub
Ответить
|
Страница: 1 |
Поиск по форуму