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.
|