Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1652to1656
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
Inhaltsverzeichnis

Suchwort weiterzählen

Suchwort weiterzählen
22.10.2018 09:33:54
Anna
Hallo,
folgendes Programm habe ich mit Hilfe des Internets zusammen gebastelt.
Eine Datei soll durch Anklicken einer Schaltfläche eingelesen werden.
Diese Datei soll dann in Excel durchsucht und verarbeitet werden.
Das Suchwort wäre als Beispiel Test (1), Test (2), Test (3), Test (4) also ein Wort + 1.
Der Bereich zwischen 2 Suchwörtern soll dann kopiert und in ein anderes Blatt um geschaufelt werden. Diese Schritte wären dann alle 620 Zellen. Das ganze möchte ich mit Variablen ausdrücken. Ohne habe ich es hinbekommen, das ist aber sehr viel Schreibarbeit bei einer Änderung der Schritte. Vielleicht kann mir jemand helfen.
Liebe Grüße
Public Sub importMessdaten()
Dim Arr2
'Dim A
Dim Datei2
Dim FSO2
Dim L2 As Long
Dim Tmp2 As Variant
Dim vnt_Ausgabe2 As Variant
Dim I2 As Integer
Dim Str_String2 As String
Dim dateiname2 As String
Dim z2 As Integer
Dim i As Integer
Dim z As Integer
'Zweite datei einfügen
Application.ScreenUpdating = False
dateiname2 = Application.GetOpenFilename
Set FSO2 = CreateObject("Scripting.FilesystemObject")
Set Datei2 = FSO2.OpentextFile(dateiname2) 'Anpassen
Str_String2 = Datei2.readall
Datei2.Close
Arr2 = Split(Str_String2, vbCrLf) 'Nach Datensätzen splitten
ReDim vnt_Ausgabe2(UBound(Arr2), 200) '200 Spalten reichen ?
For L2 = 0 To UBound(Arr2)
Tmp2 = Split(Arr2(L2), ",") 'Jeden Datensatz nach Werten splitten
For I2 = 0 To UBound(Tmp2)
vnt_Ausgabe2(L2, I2) = Tmp2(I2) 'Jeden Wert in das Array vnt_Ausgabe umschaufeln
Next
Next
'Ausgeben. Anpassen.
Sheets.Add
ActiveSheet.Name = "Import Messdaten"
Sheets("Import Messdaten").Range("A1").Resize(UBound(vnt_Ausgabe2) + 1, UBound(vnt_Ausgabe2, 2)) _
= vnt_Ausgabe2
For i = 1 To 24
For z = 10 To 18000 Step 620
ThisWorkbook.Worksheets.Add.Name = "Auswertung"
Sheets("Import Messdaten").Select
With Range(Cells.Find(what:="$ELE (NAM = Test(i)", Lookat:=xlWhole).Offset(0, 0), Cells.Find( _
what:="Test(i+2)", Lookat:=xlWhole).Offset(-3, 0)).Resize(, 12).Select
End With
Selection.Copy
'Debug.Print ActiveSheet.Name
'Sheets.Add
'ActiveSheet.Name = "Rohdaten"
Application.Goto ActiveWorkbook.Sheets("Auswertung").Range(Cells(1, z))
ActiveSheet.Paste
Sheets("Import Messdaten").Select
Next z
Next i
Application.DisplayAlerts = False
Sheets("Import Messdaten").Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = False
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchwort weiterzählen
22.10.2018 10:52:13
Anna
Also das mit dem Suchbegriff weiterzählen habe ich jetzt hinbekommen. Da hatte ich Probleme mit der Syntax.
An dieser Stelle:
Sub stelle()
Application.Goto ActiveWorkbook.Sheets("Auswertung").Range(Cells(1, z))
End Sub
Bekomme ich Fehler 1004 - Anwendnungs oder Objektdefinierter Fehler
Wie kann ich das richtig ansprechen?
Vielen Dank für eure Hilfe
Probleme mit Schleife - Hilfe?
22.10.2018 12:30:25
Anna
Diesen Fehler habe ich jetzt auch behoben. Ich habe leider immer noch ein Problem mit der Schleife.
Das erste mal wird bei 630 eingefügt. Aber das Suchwort wird nicht weitergezählt.
Der veränderte Code:
Public Sub importMessdaten_2()
Dim Arr2
'Dim A
Dim Datei2
Dim FSO2
Dim L2 As Long
Dim Tmp2 As Variant
Dim vnt_Ausgabe2 As Variant
Dim I2 As Integer
Dim Str_String2 As String
Dim dateiname2 As String
Dim z2 As Integer
Dim i As Integer
Dim z As Integer
'Zweite datei einfügen
Application.ScreenUpdating = False
dateiname2 = Application.GetOpenFilename
Set FSO2 = CreateObject("Scripting.FilesystemObject")
Set Datei2 = FSO2.OpentextFile(dateiname2) 'Anpassen
Str_String2 = Datei2.readall
Datei2.Close
Arr2 = Split(Str_String2, vbCrLf) 'Nach Datensätzen splitten
ReDim vnt_Ausgabe2(UBound(Arr2), 200) '200 Spalten reichen ?
For L2 = 0 To UBound(Arr2)
Tmp2 = Split(Arr2(L2), ",") 'Jeden Datensatz nach Werten splitten
For I2 = 0 To UBound(Tmp2)
vnt_Ausgabe2(L2, I2) = Tmp2(I2) 'Jeden Wert in das Array vnt_Ausgabe umschaufeln
Next
Next
'Ausgeben. Anpassen.
Sheets.Add
ActiveSheet.Name = "Import Messdaten"
Sheets("Import Messdaten").Range("A1").Resize(UBound(vnt_Ausgabe2) + 1, UBound(vnt_Ausgabe2, 2)) _
_
= vnt_Ausgabe2
ThisWorkbook.Worksheets.Add.Name = "Auswertung"
For i = 1 To 23
For z = 10 To 18000 Step 620
Sheets("Import Messdaten").Select
With Range(Cells.Find(what:="$ELE (NAM = CylLin" & "(" & i & ")", Lookat:=xlWhole).Offset(0, 0), _
Cells.Find(what:="$ELE (NAM = CylLin" & "(" & i + 1 & ")", Lookat:=xlWhole).Offset(-3, 0)).Resize(, 12).Select
End With
Selection.Copy
'Debug.Print ActiveSheet.Name
'Sheets.Add
'ActiveSheet.Name = "Rohdaten"
Application.Goto ActiveWorkbook.Sheets("Auswertung").Cells(z, 1)
ActiveSheet.Paste
Sheets("Import Messdaten").Select
Next z
Next i
End Sub

Anzeige
AW: Probleme mit Schleife - Hilfe?
22.10.2018 16:07:06
Rob
Hi, lad doch mal die Datei hoch.
AW: Probleme mit Schleife - Hilfe?
23.10.2018 07:05:28
Anna
Hallo Rob,
vielen Dank für deine schnelle Antwort. ich versuche die Beispieldatei im lauf des Tages hochzuladen.
Mittlerweile habe ich nur noch das Problem, dass sich das Suchwort nicht weiterzählt.
Also das Alle 620 Zellen der Bereich zwischen Test(1) und Test(2) eingefügt wird, außerdem hängt sich Excel beim Abspielen des Programmes auf. Mit F8 funktioniert aber alles.
Liebe Grüße
Datei zu groß!
23.10.2018 07:22:35
Anna
Hallo Rob,
ich wollte dir die Datei gerade hochladen. Das Problem ist, sie ist zu groß.
Gibt es eine andere Möglichkeit?
Liebe Grüße
AW: Datei zu groß!
23.10.2018 13:33:01
Rob
Kannst die nicht kürzen? Ich müsste den Code schon mal debuggen wollen.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige