Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Text Datei erstellen !
10.04.2017 09:33:33
Pramkies
Ich möchte eine txt. Datei erstellen mit eine Bestimmten Muster.
Die Daten hole ich aus drei Spalten. Dabei habe ich ein Problem.
In der text Datei sollte es so aus sehen:
U H1
U(
O S7
O S10
O S29
O S30
)
O
U H2
U(
O S9
)
Und nicht wie aktuell:
U H1
U S7
U H2
U S9
U H1
U S10
U H1
U S29
U H1
könnt Ihr aus probieren:
https://www.herber.de/bbs/user/112732.xlsm
Ich möchte die Gleichung vereinfachen, alle Schritte die den
Selben Index habe zu "Ver-Odern" Mann müsste einfach die Auswertungstabelle in eine SQl umwandeln und dann mit Where oder Filtern…. oder sortieren arbeiten. Aktuell reichen meine VBA Kenntnisse nur für die Basis, Eine Idee ?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text Datei erstellen !
11.04.2017 08:55:58
fcs
Hallo Pramkies,
Hier das angepasste Makro.
LG
Franz
Sub TextDateiErstellen()
Dim sProgrammName As String
Dim sTitel As String
Dim iSchritte As Integer
Dim iAnzAnst As Integer
Dim tmpAnst As Integer
Dim stxtName As String
Dim IndexAdr As Range
Dim Tag
Dim Index As Variant
Dim Schritt As Variant
Dim tmpIndex As Long
Dim AnzIndexAnst As Integer
Dim ZeiTag As Long, Zeile As Long
Dim SpaTag As Long, SpaName As Long
Dim arrIndex(), bolIndex As Boolean, Next_Index As Variant
Dim arrData
Dim wks As Worksheet
Set wks = ActiveSheet 'Tabellenblatt mit den Daten
With wks
sProgrammName = .Cells(1, 2)
sTitel = .Cells(1, 2) ' FC Titel
iAnzAnst = .Cells(5, 1) ' Anzahl Ansteurungen Elemente
stxtName = .Cells(4, 2) & sProgrammName & "_IO" & ".txt"
'alle Daten zu Ventilen in Daten-Array einlesen
ZeiTag = 7    '1. Zeile mit sName
SpaName = 3    'Spalte mit Ventil-Tag-Nr. in Index-Liste
Zeile = .Cells(.Rows.Count, SpaName).End(xlUp).Row 'letzte Zeile mit sName
arrData = .Range(.Cells(ZeiTag, SpaName), .Cells(Zeile, SpaName + 3))
End With
'Textfile anlegen/öffnen
'Open "E:\test.txt" For Output As #1
Open stxtName For Output As #1
ZeiTag = 7 '1. Zeile mit Tag-Nr.
SpaTag = 1 'Spalte mit Tag-Nummern
'Tag-Nummern der angesteuerten Ventile abarbeiten
Set IndexAdr = wks.Columns(SpaName) ' Spalte mit VentilName(Tag)
For tmpAnst = 2 To iAnzAnst ' Anzahl Ansteuerungen
Tag = wks.Cells(ZeiTag, SpaTag) ' Ventil-Tag-Nr.
Print #1, "---> = Ansteuerungen:  " & Tag _
& " (" & wks.Cells(ZeiTag, SpaTag).Offset(0, 1) & ")"
'Anzahl  Indexe zu Tag-Nr ermitteln
AnzIndexAnst = Application.WorksheetFunction.CountIf(IndexAdr, Tag)
'Prüfen, ob Ansteuerungen zur Tag-Nr gibt
'MsgBox AnzIndexAnst
If AnzIndexAnst > 0 Then
'Daten-Array für Indexe zu Tag-Nr. dimensionieren
ReDim arrIndex(1 To AnzIndexAnst, 1 To 3)
'Indexe  und Schritte zu Tag in Daten-Array einlesen
tmpIndex = 0
For Zeile = LBound(arrData, 1) To UBound(arrData, 1)
If arrData(Zeile, 1) = Tag Then
tmpIndex = tmpIndex + 1
arrIndex(tmpIndex, 1) = arrData(Zeile, 3) 'Schritt
arrIndex(tmpIndex, 2) = arrData(Zeile, 4) 'Index
arrIndex(tmpIndex, 3) = False 'Merker
End If
Next
'1. Indexwert einlesen
Next_Index = arrIndex(1, 2)
'Indexe und Schrittnummern zu Tag-Nr. in Textdatei schreiben
Do
Index = Next_Index
Print #1, "U " & Index
Print #1, "U " & "("
bolIndex = False
Next_Index = ""
For tmpIndex = LBound(arrIndex, 1) To UBound(arrIndex, 1)
If arrIndex(tmpIndex, 3) = False And Index = arrIndex(tmpIndex, 2) Then
Schritt = arrIndex(tmpIndex, 1) ' Schritt
Print #1, "O S" & Schritt
arrIndex(tmpIndex, 3) = True 'als verarbeitet markieren
ElseIf arrIndex(tmpIndex, 3) = False Then
If bolIndex = False Then
'nächsten Indexwert merken
Next_Index = arrIndex(tmpIndex, 2)
End If
bolIndex = True
End If
Next tmpIndex
Print #1, ")"
Loop Until Next_Index = ""
End If
ZeiTag = ZeiTag + 1 '  nächste Zeile
Next tmpAnst
Print #1, "END_FUNCTION"
Close #1
MsgBox ("Quelle wurde generiert:  " & stxtName)
End Sub

Anzeige
AW: Text Datei erstellen !
11.04.2017 10:43:13
Pramkies
Hallo Franz,
Vielen dank. Funktioniert einwandfrei.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige