raptox
Goto Top

Excel Makro zum Suchen von Spalten und exportieren in CSV

Hallo Zusammen

Ich bin nun seit längerem daran beschäftigt in Excel 2013 ein Makro zu basteln, welches folgendes erledigt:

Öffnen eines Userforms zur eingabe von Startdatum und Enddatum.
Suchen in Tabelle "Output" nach den jeweiligen Spalten von Startdatum und Enddatum.
Alle Zeilen (ausser die Erste) vom definierten Range (Startdatum und Enddatum) in ein CSV exportieren.

Kurz zum Excel:
In der Tabelle Output sind Spalten von A-NL welche jeweils in der ersten Zeile das Datum eingetragen haben:
Bsp. Spalte A = 01.01.2017, B= 02.01.2017, C= 03.01.2017 usw.

Die Werte in den einzelnen Zeilen A2-Ax sind mittels Formeln bestimmt. (Falls dies eine Rolle spielt)

Folegendes habe ich bereits:

Ein Userform
Option Explicit

Private Sub CommandButton1_Click()
    bolAbbruch = True
    Unload Me
End Sub

Private Sub CommandButton2_Click()
    Set Startdatum = TextBox1
    Set Enddatum = TextBox2
    bolWeiter = True
    Unload Me
End Sub


Das Makro

Option Explicit
Public Startdatum As Date
Public Enddatum As Date
Public bolAbbruch As Boolean
Public bolWeiter As Boolean


Sub suchen()
 Dim ws As Worksheet
 Dim letztezeile
 Set ws = Worksheets("Output")  
 Dim SpalteExport As String
 Dim s As Object
 Dim e As Object
 Dim SpaltenExport As Integer

 
 Eingabe_range.Show
 If bolWeiter = True Then

 'Workbooks.Open Filename:="D:\Documents\Documents\uni\master-thesis\Prognose\probe\Materialverbrauch_probe"  
 'Sheets("Tabelle1").Select  

    letztezeile = ws.Range("A1").End(xlToRight).Column  
    With ws.Range("a1:nl1" & letztezeile)  
    Set s = .Find(Startdatum, LookIn:=xlValues, LookAt:=xlWhole)
    Set e = .Find(Enddatum, LookIn:=xlValues, LookAt:=xlWhole)
    If Not s And e Is Nothing Then
    MsgBox "Werte sind vorhanden in der Startspalte " & s.Column & " und Endspalte " & e.Column  
 
    SpaltenExport = s.Column
 
 
 
    Else
    MsgBox "Wert ist nicht vorhanden!"  
    End If
 
    End With
 Else
 Exit Sub
 
 
 End If
    
 End Sub

Ich wollte zuerst das Userform testen, deshalb die MsgBox zum anzeigen der Variablen s und e. Leider passiert beim Klicken auf Button "Ok" ( CommandButton2) nichts. Zuvor hatte ich es mittels eine simplen Inputboxund und nur einer Datumsangabe geschafft, dass es mir die Spalte anzeigt.

Hat jemand kurz die Zeit dies anzuschauenm, was hier falsch ist?
Der Export zum CSV habe ich leider nicht geschaft, trotz tagelanger suche in Foren und Tests.
Falls noch Angaben fehlen einfach melden

Content-Key: 326534

Url: https://administrator.de/contentid/326534

Printed on: April 19, 2024 at 13:04 o'clock

Mitglied: 131381
131381 Jan 16, 2017 updated at 11:27:15 (UTC)
Goto Top
Member: Pjordorf
Pjordorf Jan 16, 2017 updated at 19:03:38 (UTC)
Goto Top
Hallo,

Zitat von @Raptox:
Private Sub CommandButton2_Click()
    Set Startdatum = TextBox1
    Set Enddatum = TextBox2
    bolWeiter = True
    Unload Me
End Sub
Leider passiert beim Klicken auf Button "Ok" ( CommandButton2) nichts.
Da passiert schon etwas.
Die Variablen Startdatum und Enddatum bekommen Werte zugewiesen.
Die Variable bolWeiter wird auf True gesetzt
ME wird entladen
Die Sub ist beendet

Vermutlich willst du das vor dem Unload Me noch eine Sub aufgerufen wird. Da dort aber nichts steht - passiert auch nichts. Schreibe da mal Suchen oder Call Suchen hin, oder wie immer die Sub sich nennt die du abarbeiten lassen willst.

Du musst deinen Code auch sagen was es tun soll. Gedankenlesen wird dein Rechner und somit dein VBA ja wohl nicht beherrschen face-smile

Gruß,
Peter
Member: Raptox
Raptox Jan 20, 2017 at 14:37:11 (UTC)
Goto Top
Danke bisher für die Hinweise, dies mit dem Aufrufen des Sub leuchtet natürlich ein.. :D die beiden Links habe ich auch bereits gefunden, jedoch hat das eine Makro nicht ganz funktioniert. Werde es jedoch nochmals ausprobieren und melde mich wieder, kam leider bisher nicht dazu face-sad