Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

VBA-Code ändern

Betrifft: VBA-Code ändern von: Peter
Geschrieben am: 15.09.2004 08:44:44

Hallo Excels,
in einer Userform habe ich folgenden Code.

Private Sub CommandButton2_Click()

Dim i As Long, laR As Long
   ' Application.ScreenUpdating = False
    laR = Cells(Rows.Count, 11).End(xlUp).Row
    For i = laR To 2 Step -1
      If Left(Cells(i, 11).Value, 2) = "VV" Then
        Cells(i, 11).EntireRow.Delete
      End If
    Next i
   ' Application.ScreenUpdating = True
End Sub


Der löscht mir alle Zeilen wenn in Spalte K der Eintrag mit VV beginnt.
Kann mir jemand helfen den Code so umzustellen, dass die gefundenen Zeilen nicht gelöscht sondern in einer Textdatei gespeichert werden.

Danke schon mal
Gruss Peter
  


Betrifft: AW: VBA-Code ändern von: Axel
Geschrieben am: 15.09.2004 10:20:52

Hallo,

der folgende Code schreibt die betreffenden Zeilen in eine Textdatei. Den Pfad und Dateinamen bitte noch anpassen.

Die Zeile enthält alle Zellen der betroffenen Zeilen, getrennt durch Kommata.

Gruß
Axel

Private Sub CommandButton2_Click()

   Dim intColumnLast As Integer, j As Integer
   Dim As Long, lngRowLast As Long
   Dim strOut As String
   
   ' Ausgabedatei öffnen, Pfad ist ggf. anzupassen
   Open "C:\tmp\meck.txt" For Output As #1
   
   ' letzte benutzte Spalte bestimmen
   intColumnLast = ActiveSheet.UsedRange.Columns.Count
   
   ' letzte Zeile der Zielspalte bestimmen
   lngRowLast = Cells(Rows.Count, 11).End(xlUp).Row
   
   ' Schleife rückwärts über Zellen der Zielspalte
   For i = lngRowLast To Step -1
   
      ' falls Zellinhalt mit "VV" beginnt
      If Left(Cells(i, 11).Value, 2) = "VV" Then
        
         ' Ausgabestring für Textdatei zusammensetzen
         strOut = Cells(i, 1)      ' erste Zelle der Zeile
         
         For j = 2 To intColumnLast
            ' Folgezellen, separiert durch Kommata
            strOut = strOut & ", " & Cells(i, j)
         Next
         
         ' und in Datei schreiben
         Print #1, strOut
         
      End If
   Next
   
   ' Datei schliessen
   Close #1
   
End Sub



     Code eingefügt mit Syntaxhighlighter 2.5



  


Betrifft: AW: VBA-Code ändern von: Peter
Geschrieben am: 15.09.2004 10:52:27

Hi Axel,

absulut super.Auch deine Kommentare im Code sind klasse da kann man gleich viel schneller begreifen was in den Befehlszeilen so passiert.

Ich danke Dir.

Gruss
Peter


 

Beiträge aus den Excel-Beispielen zum Thema "VBA-Code ändern "