Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  bitte um Hilfe......finde nich heraus wie ich das Problem lösen könnte

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  bitte um Hilfe......finde nich heraus wie ich das Problem lösen könnte (1290 mal gelesen)
Herbert.Leonhardt
Mitglied
Qualitätsspezialist

Sehen Sie sich das Profil von Herbert.Leonhardt an!   Senden Sie eine Private Message an Herbert.Leonhardt  Schreiben Sie einen Gästebucheintrag für Herbert.Leonhardt

Beiträge: 8
Registriert: 13.02.2015

erstellt am: 13. Feb. 2015 19:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

möchte Daten aus der listbox löschen, und mit dieser formel funktioniert das auch einwandfrei, das problem ist jedoch das ich nicht die ganze zeile löschen möchte sondern nur die daten von A2-F2, da nach der spalte F2 die ganzen formeln stehn, so das diese mit dem löschen der ganzen zeile mitgelöscht werden....wie kann ich es anstellen das der ausgewählte datensatz aus der listbox nur von A2-F2 gelöscht wird....bitte um hilfe...danke im vorraus...hoffe jemand weis wie das zu lösen ist...siehe nachfolgende formel...

'Löschen Schaltfläche Ereignisroutine
Private Sub CommandButton2_Click()
  Dim lZeile As Long
 
    If ListBox1.ListIndex = -1 Then Exit Sub

    lZeile = 2
    Do While Trim(CStr(Sheet1.Cells(lZeile, 1).Value)) <> ""
   
        If ListBox1.Text = Trim(CStr(Sheet1.Cells(lZeile, 1).Value)) Then
           
            Sheet1.Rows(CStr(lZeile & ":" & lZeile)).Delete
           
            Call UserForm_Initialize
            If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
           
            Exit Do
           
        End If
   
        lZeile = lZeile + 1
    Loop
   
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 14. Feb. 2015 12:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Herbert.Leonhardt 10 Unities + Antwort hilfreich

Hallo Herbert.Leonhardt,
Willkommen im Forum

Kannst Du mal erklären wie Deine Listbox aufgebaut ist?
Ist das eine einspaltige Liste mit den Inhalten der Zeile 2
Oder eine mehrspaltige mit/ohne einem Verweis (.RowSource) ?
Im Prinzip kannst Du auf die einzelnen Elemente mit (Listbox).List(x) zugreifen.

Grüße
Klaus 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Herbert.Leonhardt
Mitglied
Qualitätsspezialist

Sehen Sie sich das Profil von Herbert.Leonhardt an!   Senden Sie eine Private Message an Herbert.Leonhardt  Schreiben Sie einen Gästebucheintrag für Herbert.Leonhardt

Beiträge: 8
Registriert: 13.02.2015

erstellt am: 14. Feb. 2015 18:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

habe eine Eingabe Maske mit einer Listbox, 6 Textboxen, und 4 Bottems,...mit neuer Eintrag, Löschen von Einträgen, Speichern und Beenden....beim drücken des Bottems Löschen, löscht er mir nun die ganze zeile, auch die formeln die hinter der Zelle F stehen....das heist beim drücken des Bottems Löschen , soll er mir nur die daten löschen die von der eingabe maske eingetragen wurden , nämlich den datensatz von der spalte A - F...habe mal versucht das exelfile hochzuladen aber denke du kannst es nicht öffnen...drum hab ich nochmal die ganze formel hier angehängt....hoffe es hilft .....danke im vorraus Herbert

Option Explicit
Option Compare Text

Private Sub CommandButton1_Click()
  Dim lZeile As Long
   
    lZeile = 2
    Do While Trim(CStr(Sheet2.Cells(lZeile, 1).Value)) <> ""
        lZeile = lZeile + 1
    Loop
   
    Sheet2.Cells(lZeile, 1) = CStr("New line " & lZeile)
   
    ListBox1.AddItem CStr("New line " & lZeile)

    ListBox1.ListIndex = ListBox1.ListCount - 1

   
End Sub

Private Sub CommandButton2_Click()
  Dim lZeile As Long
 
    If ListBox1.ListIndex = -1 Then Exit Sub
 
    lZeile = 2
    Do While Trim(CStr(Sheet2.Cells(lZeile, 1).Value)) <> ""
   
        If ListBox1.Text = Trim(CStr(Sheet2.Cells(lZeile, 1).Value)) Then
           
            Sheet2.Rows(CStr(lZeile & ":" & lZeile)).Delete
            Call UserForm_Initialize
            If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
           
            Exit Do
           
        End If
   
        lZeile = lZeile + 1
    Loop
   
End Sub

Private Sub CommandButton3_Click()
  Dim lZeile As Long
    If ListBox1.ListIndex = -1 Then Exit Sub
    If Trim(CStr(TextBox1.Text)) = "" Then
        MsgBox "Sie müssen mindestens einen Namen eingeben!", vbCritical + vbOKOnly, "FEHLER!"
        Exit Sub
    End If
    lZeile = 2
    Do While Trim(CStr(Sheet2.Cells(lZeile, 1).Value)) <> ""
   
        If ListBox1.Text = Trim(CStr(Sheet2.Cells(lZeile, 1).Value)) Then
           
            Sheet2.Cells(lZeile, 1).Value = Trim(CStr(TextBox1.Text))
            Sheet2.Cells(lZeile, 2).Value = TextBox2.Text
            Sheet2.Cells(lZeile, 3).Value = TextBox3.Text
            Sheet2.Cells(lZeile, 4).Value = TextBox4.Text
            Sheet2.Cells(lZeile, 5).Value = TextBox5.Text
            Sheet2.Cells(lZeile, 6).Value = TextBox6.Text

            If ListBox1.Text <> Trim(CStr(TextBox1.Text)) Then
                Call UserForm_Initialize
                If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
            End If
           
            Exit Do
           
        End If
   
        lZeile = lZeile + 1
    Loop
   
End Sub
Private Sub CommandButton4_Click()
    Unload Me
End Sub

Private Sub Label1_Click()

End Sub

Private Sub Label3_Click()

End Sub

Private Sub Label4_Click()

End Sub

Private Sub Label5_Click()

End Sub

Private Sub ListBox1_Click()
  Dim lZeile As Long

    TextBox1 = ""
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
    TextBox5 = ""
    TextBox6 = ""


   
   
    If ListBox1.ListIndex >= 0 Then
   
        lZeile = 2
        Do While Trim(CStr(Sheet2.Cells(lZeile, 1).Value)) <> ""
       
            If ListBox1.Text = Trim(CStr(Sheet2.Cells(lZeile, 1).Value)) Then
           
                TextBox1 = Trim(CStr(Sheet2.Cells(lZeile, 1).Value))
                TextBox2 = Sheet2.Cells(lZeile, 2).Value
                TextBox3 = Sheet2.Cells(lZeile, 3).Value
                TextBox4 = Sheet2.Cells(lZeile, 4).Value
                TextBox5 = Sheet2.Cells(lZeile, 5).Value
                TextBox6 = Sheet2.Cells(lZeile, 6).Value

                Exit Do
           
            End If
       
            lZeile = lZeile + 1
       
        Loop
       
    End If
   
End Sub

Private Sub TextBox3_Change()

End Sub

Private Sub TextBox9_Change()

End Sub

Private Sub UserForm_Activate()
    If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End Sub

Private Sub UserForm_Initialize()
  Dim lZeile As Long

    TextBox1 = ""
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
    TextBox5 = ""
    TextBox6 = ""
   
    ListBox1.Clear
   
    lZeile = 2
   
    Do While Trim(CStr(Sheet2.Cells(lZeile, 1).Value)) <> ""
       
        ListBox1.AddItem Trim(CStr(Sheet2.Cells(lZeile, 1).Value))
       
        lZeile = lZeile + 1
       
    Loop
   
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 14. Feb. 2015 18:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Herbert.Leonhardt 10 Unities + Antwort hilfreich

Hallo,
Die Exceltabelle wäre ganz hilfreich, am besten in eine Zipdatei packen und die Namenshinweise beachten.

Ansonsten wäre es ganz hilfreich, auch für Dich später, ein paar Kommentare einzufügen und den Controlls aussagekräftigte Namen zu geben (z.b. anstatt CommandButton4 cmdEnde)

Ich vermute mal Du möchtest beim CommandButton2 die Werte löschen. Wenn die Formeln erhalten bleiben sollen dürftest Du aber nur den Bereich löschen und die nachfolgenden Zeilenwerte in diesem Spaltenbereich nach oben holen und nicht die ganze Zeile löschen. Aber vielleicht habe ich das jetzt auch falsch interpretiert ...

Grüße
Klaus  

[Edit] Der zum Löschen nötige Befehl wäre z.B. Range("A3:F3").Delete (xlShiftUp)

[Diese Nachricht wurde von KlaK am 14. Feb. 2015 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Herbert.Leonhardt
Mitglied
Qualitätsspezialist

Sehen Sie sich das Profil von Herbert.Leonhardt an!   Senden Sie eine Private Message an Herbert.Leonhardt  Schreiben Sie einen Gästebucheintrag für Herbert.Leonhardt

Beiträge: 8
Registriert: 13.02.2015

erstellt am: 15. Feb. 2015 07:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


meinprogram3.zip

 
das mit dem Range("A3:F3").Delete (xlShiftUp) funktioniert schon , das hab ich vorher auch schon ausprobiert....aber dann löscht er mir immer nur den obersten Datensatz A2:F2...ich möchte aber einen Datensatz löschen den ich in der listbox ausgewählt habe....wenn ich Range A2:F2 benutze muss ich alle daten löschen bis ich zu dem datensatz komme den ich dann wirklich löAschen möchte.....im Prinzip hast du es aber schon richtig verstanden , aber wie gesagt ich möchte einen in der listbox ausgewählten datensatz löschen.....nit der ganzen zeile funtioniert das ja auch...nur wenn ich nicht die ganze sondern nur bis F löschen möchte klappt das nicht mehr...vieleicht kannst du mir da helfen....was muss ich in die zeile zum löschen in meiner formel eintragen so das er mir nicht die ganze zeile löscht sondern eben nur A:F

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Herbert.Leonhardt
Mitglied
Qualitätsspezialist

Sehen Sie sich das Profil von Herbert.Leonhardt an!   Senden Sie eine Private Message an Herbert.Leonhardt  Schreiben Sie einen Gästebucheintrag für Herbert.Leonhardt

Beiträge: 8
Registriert: 13.02.2015

erstellt am: 15. Feb. 2015 07:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

der Anhang ist die orginal Datei die hab ich mir mal irgendwo runtergeholt und sie dann für mich zugeschnitten habe, nur dieses problem mit dem löschen von A:F konnte ich nicht lösen...hier sind auch die komentare die du vermisst hast....    

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 15. Feb. 2015 10:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Herbert.Leonhardt 10 Unities + Antwort hilfreich

Ohne jetzt die Datei angesehen zu haben (Gerade wenig Zeit, komme erst abends dazu):
Du hast schon berücksichtigt dass Du erst ab Zeile 2 das Einlesen begonnen hast und somit Zeile lZeile + 1 gelöscht werden muß?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Herbert.Leonhardt
Mitglied
Qualitätsspezialist

Sehen Sie sich das Profil von Herbert.Leonhardt an!   Senden Sie eine Private Message an Herbert.Leonhardt  Schreiben Sie einen Gästebucheintrag für Herbert.Leonhardt

Beiträge: 8
Registriert: 13.02.2015

erstellt am: 15. Feb. 2015 10:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

ja da zeile 1 die kopfdaten sind

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Herbert.Leonhardt
Mitglied
Qualitätsspezialist

Sehen Sie sich das Profil von Herbert.Leonhardt an!   Senden Sie eine Private Message an Herbert.Leonhardt  Schreiben Sie einen Gästebucheintrag für Herbert.Leonhardt

Beiträge: 8
Registriert: 13.02.2015

erstellt am: 15. Feb. 2015 10:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

die eingegebenen daten in der eingabemaske gehn ja auch nur von A-F und so würd ich die auch gerne wieder rauslöschen....und nicht die ganze zeile....dank für die info...bis später..

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 15. Feb. 2015 17:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Herbert.Leonhardt 10 Unities + Antwort hilfreich

Hallo Herbert,

Denke Du solltest die Tabellen noch einmal vernünftig analysieren, zumindest die Spalte G gehört auch gelöscht sonst hast Du einen falschen, nicht existierenden Bezug in der Tabelle.

Folgende Codeänderungen würden zum gewünschten Ergebnis führen:

Code:

            'Eintrag gefunden, die ganze Zeile wird nun gelöscht
            ' Sheet2.Rows(CStr(lZeile & ":" & lZeile)).Delete ' <= ursprüngliche Zeile
            ' Löschen Spalten A bis G in der Zeile lZeile
            ' Nachfolgende Werte werden hochgeschoben
            Sheet2.Range(Cells(lZeile, 1), Cells(lZeile, 7)).Delete xlShiftUp ' neues Löschen

Allerdings solltest Du Dir bei der Monatssummenbildung noch etwas einfallen lassen, das geht auch eleganter  (Combobox mit Monatseinträgen zur Auswahl, Summenbildung in Spalte I anhand der Spalte B falls Du nicht immer für jeden Monat drei Einträge hast). Die derzeitigen Formeln werden beim Löschen des Zellenbereiches verändert und beziehen sich dann nur noch auf zwei Zeilen.
Wie ist das mit der Reihenfolge der Datumseinträge?
Aber egal, war hier nicht das Thema ...

Grüße
Klaus 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Herbert.Leonhardt
Mitglied
Qualitätsspezialist

Sehen Sie sich das Profil von Herbert.Leonhardt an!   Senden Sie eine Private Message an Herbert.Leonhardt  Schreiben Sie einen Gästebucheintrag für Herbert.Leonhardt

Beiträge: 8
Registriert: 13.02.2015

erstellt am: 16. Feb. 2015 03:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hallo...
Vielen dank erstmal das du dir die mühe gemacht hast und mir da weiter geholfen hast...bei dem anderen thema hast du auch recht da muss ich nochdran arbeiten...aber nochmal vielen dank für die lösung dieses problems...

wünsch dir noch einen schönen tag

Herbert

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Herbert.Leonhardt
Mitglied
Qualitätsspezialist

Sehen Sie sich das Profil von Herbert.Leonhardt an!   Senden Sie eine Private Message an Herbert.Leonhardt  Schreiben Sie einen Gästebucheintrag für Herbert.Leonhardt

Beiträge: 8
Registriert: 13.02.2015

erstellt am: 16. Feb. 2015 03:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hab das mit der combo box ausprobiert, denke das war ein guter tip von dir...bis jetzt funtioniert,s
danke noch mal...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz