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

Ausgedruckt am: 19.03.2024 um 03:03 Uhr

Mitglied: 131381
131381 16.01.2017 aktualisiert um 12:27:15 Uhr
Goto Top
Mitglied: Pjordorf
Pjordorf 16.01.2017 aktualisiert um 20:03:38 Uhr
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
Mitglied: Raptox
Raptox 20.01.2017 um 15:37:11 Uhr
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