Guten Tag, 
ich bin kompletter VBA-Neuling und stehe gerade wie der Ochs vorm Berge. 
Ich habe eine Auflistung von Anrufen mit Handynummern in einer csv-Datei, ich habe jetzt schon ein Makro, welches die csv-Dateien in dem Ordner, wo die Auflistungen sind in xlsx konvertiert. Danach habe ich ein Makro, welches einen Öffnen-Dialog startet in dem Ordner, also kann ich die xlsx auswählen, die ich nun bearbeiten will.  
Nun stehe ich vor zwei großen Problemen und durch Unwissenheit vor wahrscheinlich noch deutlich mehr   
1. Problem: Nun soll die geöffnete Datei so bearbeitet werden, dass in der ersten Spalte, alle die Zellen farblich markiert werden, welche in Spalte D eine bestimmte Handynummer haben (Anrufer) und in Spalte M eine bestimmte Handynummer haben (Angerufener). Die bestimmten Handynummern sind 10 Stück. 
2. Problem der gesamte Ablauf, von konvertieren, öffnen der bestimmten Datei, bearbeiten dieser Datei und speichern der Datei, soll automatisch ablaufen, blöde gesagt, einmal Knöpfchen drücken, er konvertiert, fragt, welche Datei geöffnet werden soll, bearbeitet danach automatisch und speichert die Datei. 
Ich habe keine Ahnung, ob mir bei meinem Problem überhaupt geholfen werden kann. 
Was ich bisher habe ist: 
Sub CSVXLS_variabel()
  Dim wb As Workbook
  Dim strFile As String, strDir As String, strTXT_File As String
  Dim bolTab As Boolean, bolSemicolon As Boolean, bolComma As Boolean, _
      bolSpace As Boolean, bolOther As Boolean, strOther As String, strSep As String
  strSep = InputBox("Bitte Trennzeichen eingeben (Für Tabulator: vbTab)", _
      "Trennzeichen für CSV-Import", Default:="vbTab")
  Select Case strSep
    Case "" 'Abbruch
      Exit Sub
    Case "vbTab": bolTab = True
    Case ";": bolSemicolon = True
    Case ",": bolComma = True
    Case " ": bolSpace = True
    Case Else
      bolOther = True
      strOther = Left(strSep, 1)
  End Select
  strDir = "C:\temp\MD-Rechnung\"
  strFile = Dir(strDir & "*.csv")
  
  Do While strFile <> ""
    strTXT_File = strDir & strFile
    strTXT_File = Replace(strTXT_File, ".csv", ".txt")
    'CSV-Datei kopieren und in TXT umbenennen
    VBA.FileCopy Source:=strDir & strFile, Destination:=strTXT_File
    Workbooks.OpenText Filename:=strTXT_File, Tab:=bolTab, _
        semicolon:=bolSemicolon, comma:=bolComma, Space:=bolSpace, _
        other:=bolOther, otherChar:=strOther, Local:=True
    Set wb = ActiveWorkbook
    wb.SaveAs Replace(wb.FullName, ".txt", ".xlsx"), 51
    wb.Close True
    
    Set wb = Nothing
    'TXT-Datei wieder löschen
    Kill strTXT_File
    strFile = Dir
  Loop
  
End Sub
Sub OeffnenDialog_mit_Pfadvorgabe()
'** Anzeige des Öffnen-Dialogfensters mit voreingestelltem Pfad
'** Dimensionierung der Variablen
Dim wb As Workbook
'Dim ws As Worksheet
Dim lngZ As Long
Dim strFileName
Dim strFilter As String
'** Dateifilter definieren
strFilter = "Excel-Dateien(*.xl*), *.xl*"
'** Laufwerk und Pfad definieren, welcher geöffnet werden soll
ChDrive "C"
ChDir "C:\temp\MD-Rechnung"
'** Den im Dialogfeld gewählten Namen auslesen
strFileName = Application.GetOpenFilename(strFilter)
'** Prüfen, ob eine gültige Datei ausgewählt wurde
If strFileName = False Then Exit Sub
'** Gewählte Datei öffnen
Set wb = Workbooks.Open(strFileName)
'** Hinweis ausgeben
MsgBox "Die Datei '" & wb.Name & "' wurde geöffnet.", vbInformation, "Hinweis"
End Sub
Vielen Dank im Voraus. 
     |