Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

zelle im Tabellenblatt überCombobox löschen



Excel-Version: Alle Versionen

Betrifft: zelle im Tabellenblatt überCombobox löschen
von: peter
Geschrieben am: 28.05.2002 - 09:06:08

hallo excels,
in einer userform habe ich z.b eine combobox.
diese combobox liest seine daten von einem tabellenblatt ein.
mitels einer textbox bin ich in der lage diesem tabellenblatt einen neuen eintrag einzufügen.
nun möchte ich aber mittels button den zur zeit angezeigen eintrag in der combobox aus der tabelle löschen.
hier mal ein auszug aus meinem code.ware echt toll wenn jemand helfen kann.ich fummel schon ewig daran rum.

Private Sub UserForm_Initialize()
Dim lngZeil As Long
Set TB = Worksheets("firmen")
lngZeil = 1
Do
ComboBox1.AddItem TB.Cells(lngZeil, 1)
lngZeil = lngZeil + 1
Loop Until TB.Cells(lngZeil, 1) = ""
TextBox11.Text = "Hier neue Firmen eintragen"
Call Aktualisieren
End Sub
'**************************************************************
Private Sub CommandButton1_Click()
ThisWorkbook.Sheets("Firmen").Activate
 Set TB = Worksheets("Firmen")
   Range("A5000").Select
    Selection.End(xlUp).Select
   
    
     'TB.Cells(aZelle + 1).Select
    aZelle = ActiveCell.Row
      TB.Cells(aZelle, 1) = TextBox11.Text
       ThisWorkbook.Sheets("elt").Activate
       UserForm_Initialize2
End Sub

'*******************************************************************
  Private Sub Aktualisieren()
    aZelle = ActiveCell.Row
    TextBox2.Text = TB.Cells(aZelle, 1)
    TextBox1.Text = TB.Cells(aZelle, 2)
    TextBox3.Text = TB.Cells(aZelle, 3)
    TextBox4.Text = TB.Cells(aZelle, 4)
    TextBox5.Text = TB.Cells(aZelle, 5)
    
     ComboBox1.Style = fmStyleDropDownCombo
     ComboBox1.Text = TB.Cells(aZelle, 6)
     ComboBox1.Style = fmStyleDropDownList
    
    TextBox7.Text = TB.Cells(aZelle, 7)
  If TB.Cells(aZelle, 7) = Date Then
     AufträgeEVC.CheckBox1.Value = True
  Else
     AufträgeEVC.CheckBox1.Value = False
  End If
    TextBox8.Text = TB.Cells(aZelle, 12)
  End Sub
'**********************************************************************
Private Sub FirmaLöschen()
ThisWorkbook.Sheets("Firmen").Activate
 Set TB = Worksheets("Firmen")
   Range("A5000").Select
Cells.Find(What:=ComboBox1 = ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
        .Activate
End Sub


gruss
peter
  

Re: zelle im Tabellenblatt überCombobox löschen
von: Kay.O
Geschrieben am: 28.05.2002 - 10:11:17

Hi,

dann versuchs mal damit in dem buttonklick :

sub button_Click()
Dim suchwort As String, i As Integer, lastZe As Integer
suchwort = combox.text
lastZe = Sheets(AktivesBlatt).UsedRange.Rows.Count
i = 1

For i = 1 To LastZe
If suchwort = cells(i,1) Then
cells(i,1) = ""
End If
Next
End Sub

du mußt lediglich die namen anpassen, ist aber ungetestet ! bin mir allerdings 100% sicher das das läuft ;)
vielspaß

Kay

  

Re: zelle im Tabellenblatt überCombobox löschen
von: peter
Geschrieben am: 28.05.2002 - 10:40:50

hi kay,
habe wie folgt dein macro angepasst.

Private Sub CommandButton2_Click()
Dim suchwort As String, i As Integer, lastZe As Integer
suchwort = ComboBox1.Text
lastZe = Sheets("Firmen").UsedRange.Rows.Count
i = 1

For i = 1 To lastZe
If suchwort = Cells(i, 1) Then
Cells(i, 1) = ""
End If
Next
End Sub


aber leider wird der suchbegriff NICHT aus der liste gelöscht?
peter

  

Re: zelle im Tabellenblatt überCombobox löschen
von: peter
Geschrieben am: 28.05.2002 - 11:12:32

hallo kay,
hat sich erledigt.ich habe deinen code nicfht richtig angepasst.
es fehlte der verweis zum sheet.

ThisWorkbook.Sheets("Firmen").Activate

vielen dank für deine hilfe.
gruss
peter

  

Re: zelle im Tabellenblatt überCombobox löschen
von: Kay.O
Geschrieben am: 28.05.2002 - 11:17:04

Hi,

hätte ich auch noch mit abfangen können aber ich dachte das siehst du , da dein code schon recht gut aussieht.
haste ja nun doch gefunden und alles ist gut ;)

noch wünsche ?

gruß
Kay


  

Re: zelle im Tabellenblatt überCombobox löschen
von: peter
Geschrieben am: 28.05.2002 - 12:50:36

hi kay,
wenn du schon fragst nach wünschen, ein problem habe ich mit der gleichen mappe noch.
dieses makro liest bei eingabe in spalte a einen vorhandenen text in spalte b ein.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim eintrag As Long
   zel = ActiveCell
    'zellea1 = Range("a1")
    On Error Resume Next
    If Target.Column = 1 Then
        eintrag = WorksheetFunction.Match(Target.Value, Range("A:A"), 0)
        If eintrag <> Target.Row Then
            Target.Offset(0, 1).Value = Cells(eintrag, 2).Value
            Target.Offset(0, 6).Value = Date
        Else
            MsgBox ("Die Auftragsnummer") & "  " & zel & "  " & ("wurde noch nie eingegeben" & Chr(10) & _
            "Sie müssen also die vollständige Bezeichnung eingeben")
        End If
    End If
    On Error GoTo 0
End Sub

nun suche ich eine möglichkeit diesen ansatz in der userform umzusetzen.
wenn ich also in die textbox1 eine zahl eingebe sollte ,bei schon vorhandensein, der dazugehörige text aus spalte B in textbox2 angezeigt werden.
hast du dafür etwa auch noch eine lösung?
gruss
peter
  

Re: zelle im Tabellenblatt überCombobox löschen
von: Kay.O
Geschrieben am: 28.05.2002 - 14:49:08

Hi,

klar ;)
also , ich gehe mal davon aus das du deine USERForm fertig hast.
dann bindest du das folgende in den code deiner form ein , wobei du die namen der textbox etc. anpassen mußt !!!

sub datenauslesen()
dim i as integer, suchtext as variant, lastZe as integer
dim checker as integer
lastZe = ActiveSheet.UsedRange.Rows.Count
i = 1
checker = 0
for i = 1 To lastZe
suchtext = cells(i,1)
if checker > 1 Then
MsgBox "wert ist in Spallte A mehr als einmal vertreten!" & _
chr(13) & "die schleife wird hier abgebrochen!"
Exit For
Else
If textbox1.text = suchtext Then
textbox2.txt = cells(i,2)
checker = checker + 1
End If
End If
Next
End Sub

versuchs mal damit , habs nur kurz zusammen geschrieben und nicht getestet , zur not melde dich über mail !
du mußt auch noch ein button generieren der bei klick diese prozedur aufruft oder versuchs mit unter textbox1_change unter zu bringen , sollte auch gehen.

gruß
Kay


  

Re: zelle im Tabellenblatt überCombobox löschen
von: peter
Geschrieben am: 28.05.2002 - 15:14:08

hi kay,
dein code ist ein hammer.
ein wenig angepasst.
ich habe in die Textbox unter

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

gestellt.
einfach super.
ich hoffe das ich dich noch öfters im forum erwische.vielen dank für deine hilfe.
gruss
peter

 

Beiträge aus den Excel-Beispielen zum Thema "zelle im Tabellenblatt überCombobox löschen"