Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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 = клас

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 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

а ето собственно и сама кнопка удалить

Ответить

Номер ответа: 2
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #2 Добавлено: 24.11.09 09:37
Файл кинь вечером посмотрю, а то разбираться с переименованными контралами нет желания

mikhail.barsukov[co6aka]mail.ru

Ответить

Номер ответа: 3
Автор ответа:
 Millenium



ICQ: 629966 

Вопросов: 118
Ответов: 903
 Web-сайт: www.aliyev.us
 Профиль | | #3
Добавлено: 24.11.09 10:20
  1. Private Sub cmdDel_Click()
  2. If cmbAll.ListIndex = -1 Then
  3.      MsgBox ("Ничего не выбрано из ListBox! Вы хотите чтоб я выбрал вместо Вас?!" )
  4. Else
  5.      Dim intzeile As Integer
  6.      intzeile = cmbAll.ListIndex
  7.      cmbAll.RemoveItem (intzeile)
  8.      intAnzahl = intAnzahl - 1
  9.      txtAnz.Value = intAnzahl
  10.      cmbAll.ListIndex = -1
  11. End If
  12. End Sub

Ответить

Номер ответа: 4
Автор ответа:
 Millenium



ICQ: 629966 

Вопросов: 118
Ответов: 903
 Web-сайт: www.aliyev.us
 Профиль | | #4
Добавлено: 24.11.09 10:20
http://translate.google.com - переводи там :)

Ответить

Номер ответа: 5
Автор ответа:
 Den



ICQ: 1601136 

Вопросов: 1
Ответов: 7
 Профиль | | #5 Добавлено: 24.11.09 14:35
http://otvety.google.ru/otvety/thread?tid=6b80c075eec9f161


мне ето не нужно просто я живу в германии, вот и программа на немецком ...

Ответить

Номер ответа: 6
Автор ответа:
 Den



ICQ: 1601136 

Вопросов: 1
Ответов: 7
 Профиль | | #6 Добавлено: 24.11.09 14:51
у кого есть желание помоч вот сама программа

http://rapidshare.com/files/311494553/Mappe1.xlsm.html

Ответить

Номер ответа: 7
Автор ответа:
 Millenium



ICQ: 629966 

Вопросов: 118
Ответов: 903
 Web-сайт: www.aliyev.us
 Профиль | | #7
Добавлено: 24.11.09 16:24
Объясни в крации, что программа делает, а мы подумаем :)

Ответить

Номер ответа: 8
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #8 Добавлено: 24.11.09 16:34
Вобщем лень мне было разбираться с написанным, почту могу посмотреть только вечером, да и скачать файл тоже не могу. Если я правильно понял твою идею, то держи код

На UserForm1 кинь:

Textbox1 - Имя
Textbox2 - Фамилия
Textbox3 - Дата рождения
Textbox4 - Класс
OptionButton1 - Мужской пол
OptionButton2 - Женский пол
ComboBox1 - Для выбора фамилии из списка
CommandButton1 - Кнопка добавить
CommandButton2 - Кнопка удалить


Изменения будут вноситься на первый лист книги

  1. Private Sub ComboBox1_Change()
  2.     If ComboBox1.Value <> "" Then
  3.         TextBox1.Value = Cells(ComboBox1.ListIndex + 2, 1)
  4.         TextBox2.Value = Cells(ComboBox1.ListIndex + 2, 2)
  5.         TextBox3.Value = Cells(ComboBox1.ListIndex + 2, 3)
  6.         TextBox4.Value = Cells(ComboBox1.ListIndex + 2, 4)
  7.         If Cells(ComboBox1.ListIndex + 2, 5).Value = "М" Then
  8.             OptionButton1.Value = True
  9.         Else
  10.             OptionButton2.Value = True
  11.         End If
  12.     End If
  13. End Sub
  14.  
  15. Private Sub CommandButton2_Click()
  16.     If ComboBox1.Value <> "" Then
  17.         Rows(ComboBox1.ListIndex + 2).Delete
  18.         TextBox1.Text = ""
  19.         TextBox2.Text = ""
  20.         TextBox3.Text = ""
  21.         TextBox4.Text = ""
  22.         OptionButton1.Value = False
  23.         OptionButton2.Value = False
  24.         Call LoadCombo1
  25.     Else
  26.         MsgBox "Выбери хоть что нибудь!"
  27.     End If
  28. End Sub
  29.  
  30. Private Sub UserForm_Initialize()
  31. Call LoadCombo1
  32. End Sub
  33.  
  34. Private Sub CommandButton1_Click()
  35. Dim i As Long
  36. Dim CurrentRow As Long
  37. Dim Name As String
  38. Dim Surname As String
  39. Dim Birthday As Date
  40. Dim Class As String
  41. Dim Sex As String
  42.  
  43. CurrentRow = Sheets(1).Cells(65536, 1).End(xlUp).Row + 1
  44.  
  45.     If TextBox1.Text = "" Then
  46.         MsgBox "Введи Имя!"
  47.         Exit Sub
  48.     Else
  49.         Name = TextBox1.Text
  50.     End If
  51.  
  52.     If TextBox2.Text = "" Then
  53.         MsgBox "Введи Фамилию!"
  54.         Exit Sub
  55.     Else
  56.         Surname = TextBox2.Text
  57.     End If
  58.  
  59.     If TextBox3.Text = "" Then
  60.         MsgBox "А день рождения когда???"
  61.         Exit Sub
  62.     Else
  63.         On Error Resume Next
  64.         Birthday = CDate(TextBox3.Text)
  65.         If Err.Number = 13 Then
  66.             MsgBox "Дату рождения необходимо вводить в формате ДД.ММ.ГГГГ!!!"
  67.             Exit Sub
  68.         End If
  69.     End If
  70.  
  71.     If TextBox4.Text = "" Then
  72.         MsgBox "Ну а в каком классе учится " & Name & " " & Surname & "???"
  73.         Exit Sub
  74.     Else
  75.        Class = TextBox4.Text
  76.     End If
  77.  
  78.     If OptionButton1.Value = Flase And OptionButton2.Value = False Then
  79.         MsgBox "Какого пола " & Name & " " & Surname & "???"
  80.         Exit Sub
  81.     ElseIf OptionButton1.Value = True Then
  82.         Sex = "Ж"
  83.     ElseIf OptionButton2.Value = True Then
  84.         Sex = "М"
  85.     End If
  86.  
  87. For i = 2 To Cells(65536, 2).End(xlUp).Row
  88. If Cells(i, 1).Value = Name And _
  89. Cells(i, 2).Value = Surname And _
  90. Cells(i, 3).Value = Birthday And _
  91. Cells(i, 4).Value = Class And _
  92. Cells(i, 5).Value = Sex Then
  93. MsgBox "Данный человек уже присутствует в списке!!!"
  94. Exit Sub
  95. End If
  96. Next i
  97.  
  98. Sheets(1).Cells(CurrentRow, 1) = Name
  99. Sheets(1).Cells(CurrentRow, 2) = Surname
  100. Sheets(1).Cells(CurrentRow, 3) = Birthday
  101. Sheets(1).Cells(CurrentRow, 4) = Class
  102. Sheets(1).Cells(CurrentRow, 5) = Sex
  103.  
  104. ComboBox1.AddItem (Surname)
  105.  
  106. End Sub
  107.  
  108. Sub LoadCombo1()
  109. ComboBox1.Clear
  110. If Cells(65536, 2).End(xlUp).Row <> 1 Then
  111.         For i = 2 To Cells(65536, 2).End(xlUp).Row
  112.             ComboBox1.AddItem (Cells(i, 2).Value)
  113.         Next i
  114. End If
  115. End Sub

Ответить

Номер ответа: 9
Автор ответа:
 Den



ICQ: 1601136 

Вопросов: 1
Ответов: 7
 Профиль | | #9 Добавлено: 24.11.09 17:22
вот имеено на 1 строку...а мне нужно что бы удалялась строка с тем именем которое я удаляю из Комбобокса... :(

Ответить

Номер ответа: 10
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #10 Добавлено: 24.11.09 17:23
Это ты вообще о чем?

Ответить

Номер ответа: 11
Автор ответа:
 Den



ICQ: 1601136 

Вопросов: 1
Ответов: 7
 Профиль | | #11 Добавлено: 24.11.09 17:56
удаляется 1 строка в Ексель таблице...а не та которая нужна *(

Ответить

Номер ответа: 12
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #12 Добавлено: 24.11.09 18:03
Аська у тебя верно указана? Если нет - оставь почту, я тебе рабочую книгу скину (кстати, у меня все нормально удаляется)

Ответить

Номер ответа: 13
Автор ответа:
 Den



ICQ: 1601136 

Вопросов: 1
Ответов: 7
 Профиль | | #13 Добавлено: 24.11.09 18:12
graffer_den(a)mail.ru , ICQ vernoe

Ответить

Номер ответа: 14
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #14 Добавлено: 24.11.09 18:17
Скинул.

Ответить

Номер ответа: 15
Автор ответа:
 Den



ICQ: 1601136 

Вопросов: 1
Ответов: 7
 Профиль | | #15 Добавлено: 24.11.09 18:49
AngryBadger cпасибо за помощь всё было в моей невнимательности... всё заработало!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам