online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon sebal vom 05.11.2019, 14:39 Options

Zellen auslesen

hallo zusammen,

ich habe eine frage, vor mir liegt in etwa so etwas:

%r
12
12
22
%RES
1
1
2
5
%*
22
2
22
%RES
1
1
1
1
1
9
%*
1
1
12
33
%RES
12
12
12
14
143
%*
a
%RES END

Mein makro soll folgendes können: immer wenn es auf %RES trifft 2 zeilen runter gehen und dann die nachfolgenden werte bis zu %* auslesen (untereinander) und das immer wieder bis es auf %RES END stößt ( wie viele solche forgänge es gibt ist variabel)
hier würde das ergebnis dann so aussehen sollen:

1
2
5
1
1
1
1
9
12
12
14
143

vielen dank im voraus, vllt kann mir ja jemand helfen
gruß sebal


Antwort schreiben

Antwort 21 von coros vom 06.11.2019, 09:15 Options

Hallo sebal,

Du verstehst scheinbar nicht, was ich schreibe. Es geht mir nicht um einen Bereich von A589 bis AA589, sondern einmal schreibst Du die Zelle A589 und A590, dann aber AA589 und AA590. Daher wollte ich wissen, um welche Zellen es sich nun wirklich handelt. Du musst Dir schon Deine Beiträge durchlesen und richtige Angaben machen.

Das Makro aus meiner AW19 sollte funktionieren.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 22 von sebal vom 06.11.2019, 09:23 Options

hallo oliver,

danke für deine mühe, bei meiner testdatei hat es nun so funktioniert wie ich meinte.

und wie bekomme ich das makor nun in mein eigenes makro das ich dir oben geschrieben habe rein oder fehlen dir dazu infos?

MfG
sebal

Antwort 23 von coros vom 06.11.2019, 09:24 Options

Hallo sebal,

sorry, aber Deinen Beitrag 20 verstehe ich nicht so richtig. Was ändert sich denn, nur die Spalte oder auch etwas anderes? Bitte schreibe doch mal, was genau Du möchtest. Eine genau Beschreibung bringt ein ziemlich genaues Ergebnis.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 24 von coros vom 06.11.2019, 09:28 Options

Hallo sebal,

ich werde Dir jetzt erst mal nicht mehr weiterhelfen können, da ich zu einem Termin muss. Ich melde mich dann nachmittags wieder.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 25 von sebal vom 06.11.2019, 09:52 Options

hallo

ich habe schon gemerkt dass es zu einem ziemlich guten ergebnis führen kann, sorry aber Beitrag 20 ist doch verständlich.

ich meine nur:
wie verändert sich das makro wenn es quasi nicht spalte A komplett durchsuchen soll auf %RES %* usw. sondern wenn diese Dinge in Spalte B stehen würden und das programm diese spalte untersuchen sollte?

danke
gruß sebal

Antwort 26 von sebal vom 06.11.2019, 10:34 Options

hallo oliver,

nun nochmal zu beitrag 20:
die datei sieht nun wie folgt aus:

A B C D ...
%r
12
12
22
%RES
1
1
2
5
%*
22
2
22
%RES
1
1
1
1
1
9
%*
1
1
12
33
%RES
12
12
12
14
143
%*
a
%RES END

die buchstaben A B C D sollen nur die Spalte angeben.

wie sieht dann das makro aus? es wird also nicht Spalte A sondern B durchsucht.

gruß sebal

Antwort 27 von sebal vom 06.11.2019, 11:18 Options

hallo oliver,

das mit den werten in Spalte B und das anschließende durchsuchen habe ich nun selbst hin bekommen.

nun ist mein einziges problem noch das makro in mein bereits existieredes hauptprogramm zu bekommen.

gruß sebal

Antwort 28 von coros vom 06.11.2019, 12:15 Options

Hallo sebal,

so, da bin ich wieder.

Warum ist das ein Problem, das Makro in Dein bestehendes Makro zu integrieren? Kopiere alles, was nach "Sub Suchen_und_kopieren()" und vor "End Sub" steht und füge das in Dein bestehendes Makro ein. Oder habe ich da etwas falsch verstanden?

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 29 von sebal vom 06.11.2019, 12:56 Options

hallo oliver,

ja du hast das schon richtig verstanden, aber irgend etwas haut nicht so hin.

naja noch etwas anderes zu meinem original Makro:

die Daten auf das dein nun bestehendes u funktionierendes makro zufreifen soll, stehen im Tabellenblatt "Tabelle1", hieraus werden dann meine gewünschten werte herausgelesen ins TB "Auswertung", nun soll der min u max wert ins TB "Tabelle3" in die selben Zellen wie oben also AE696 u AE 697.
Kannst du mir dazu das makro nochmals modifizieren?

Danke
gruß sebal

Antwort 30 von sebal vom 06.11.2019, 13:11 Options

hallo,

also das mit dem makor reinbringen haut doch hin,
nun stehte nur noch aus:

den minimum bzw maximum wert nicht ins aktive tabellenblatt reinzuschreiben(also da hinein wo die daten herkamen) sondern eben wie bereits erwähnt ins TB "Tabelle3".

wenn ich ganz unten deines makros anstatt:

sheets(strAktSheet)

sheets("Tabelle3")

schreibe, funktionierts nicht.

gruß sebal

Antwort 31 von sebal vom 06.11.2019, 13:49 Options

hallo oliver,

mein programm sieht zur zeit so aus:


Dim iRow As Long
Dim jRow As Long
Dim strAktSheet As String
Dim iSheets As Integer
Application.ScreenUpdating = False
strAktSheet = ActiveSheet.Name

For iSheets = Worksheets.Count To 1 Step -1
If Sheets(iSheets).Name = "Auswertung" Then
Application.DisplayAlerts = False
Sheets(iSheets).Delete
Application.DisplayAlerts = False
Exit For
End If
Next
With Worksheets.Add
.Name = "Auswertung" <------------------
End With

For iRow = 1 To Sheets(strAktSheet).Range("B65536").End(xlUp).Row
If Sheets(strAktSheet).Cells(iRow, 2) = "%%RES2" Then GoTo Ende

If Sheets(strAktSheet).Cells(iRow, 2) = "%%RES1" Then
For jRow = iRow + 5 To Sheets(strAktSheet).Range("B65536").End(xlUp).Row
If Sheets(strAktSheet).Cells(jRow, 2) = "%*" Then
Sheets(strAktSheet).Range("B" & iRow + 5 & ":B" & jRow - 1).Copy
Sheets("Auswertung").Cells(Sheets("Auswertung").Range("A65536").End(xlUp).Offset(1, 0).Row, 1).PasteSpecial
Exit For
End If
Next jRow
End If
Next iRow
Ende:
Sheets(strAktSheet).Range("AE696") = Application.WorksheetFunction.Max(Sheets("Auswertung").Range("A2:A" & Sheets("Auswertung").Range("A65536").End(xlUp).Row))
Sheets(strAktSheet).Range("AE697") = Application.WorksheetFunction.Min(Sheets("Auswertung").Range("A2:A" & Sheets("Auswertung").Range("A65536").End(xlUp).Row))





kmappe = ActiveWorkbook.Name
ksheet = ActiveSheet.Name

muifilename = Application.GetOpenFilename("MUI-File (*muf), *muf", 1, "please select MUI-File")
muiabb = Trim(muifilename)
If muiabb = "Falsch" Then Exit Sub




Workbooks.OpenText Filename:=muifilename, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
, ConsecutiveDelimiter:=True, Tab:=False, Semicolon:=False, Comma:= _
False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1) _
, Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1))


ActiveSheet.Range("K20:AZ1200").Select
Selection.ClearContents
ActiveSheet.Range("AD140").Select
ActiveCell.Value = muifilename


kabb = 0
kspx = 0
k = 1
kcol = 2
krow = 1
kstream = 0
kvar = 0
kts = 0
lfound = False

kspalte = 30
kreihe = 145
With ActiveSheet
.Cells(krow, kcol).Select
If Cells(1, kcol) = "%%CONT" Then
Do Until lfound
krow = krow + 1
If .Cells(krow, kcol).Value = "%%RES4w" Then
krow = krow + 2
lfound = True
Exit Do
End If
If krow = 10000 Then
krow = 1
lfound = True
kabb = 1
Exit Do
End If
Loop
lfound = False
Do Until lfound
If kabb = 1 Then
lfound = True
Exit Do
End If

.Range(Cells(krow, kcol), Cells(krow, kcol + 6)).Copy
.Cells(kreihe, kspalte).Select
.Paste
krow = krow + 1
kspalte = kspalte + 6
If .Cells(krow, kcol).Value = "%parting" Then
kreihe = kreihe + 1
kspalte = 30
End If
If .Cells(krow, kcol).Value = "%%ZIG1" Then
lfound = True
Exit Do
End If
If krow = 10000 Then
krow = 1
lfound = True
Exit Do
End If
Loop
End If



End With
kmui = ActiveWorkbook.Name

Range("AD140:IG650").Select
Selection.Copy
Windows(kmappe).Activate
Sheets("Tabelle3").Activate
Range("AB140:IE650").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets(ksheet).Select
Windows(kmui).Close


Aber er sagt mir an der markierten stelle:

laufzeitfehler 1004
objekt erforderlich oder
laufzeitfehler 1004
man kann nicht den gleichen namen....

was ist da falsch? bei .Name = "Auswertung" (zeimlich weit oben)

gruß sebal

Antwort 32 von coros vom 06.11.2019, 13:52 Options

Hallo sebal,

wenn Du den direkten Tabellennamen, hier also Tabelle3, angibst, sollten die Werte in die entsprechenden Zellen in Tabelle3 geschrieben werden. Entweder hast Du irgendwo einen Schreibfehler oder etwas anderes stimmt nicht. Was das sein könnte, kann ich nicht sagen, da ich Dein Makro nicht sehe.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 33 von sebal vom 06.11.2019, 13:59 Options

hallo oliver,

wie? du siehst das makro nicht? habs doch reingeschrieben in AW 31.

laufzeitfehler 424, was ist da das problem?

das was ich dich ebne gefragt habe wegen tabelle3 hat sich wieder erledigt, habs anders gemacht, aber nun würde mein programm eigtl stehen, und es fkt noch nicht.

gruß sebal

Antwort 34 von coros vom 06.11.2019, 14:11 Options

Hallo sebal,

ist Dir eventuell mal in den Sinn gekommen, dass sich unsere Antworten überschneiden? Deshalb hatte ich geschrieben, dass ich Dein Makro nicht sehe, da wir fast zeitgleich den Beitrag abgesetzt haben.

Warum dort ein Laufzeitfehler erscheint weiß ich nicht. Wobei ich nun nicht wirklich weiß, welcher Laufzeitfehler bei Dir auftaucht. Einmal schreibst Du Laifzeitfehler 1004, dann 424.
Ich habe mein Makroteil nochmal getetstet und er funktioniert. Der bei Dir vorhandene Makrocodse habe ich nicht getestet, da ich keine Lust habe, mir eine Datei zu erstellen, die ähnlich der Deinen ist.

Außerdem hast Du geschrieben, dass Du "strAktSheet" gegen "Tabelle3" getauscht hast. In dem von Dir aufgeführten Makro steht dort aber immer noch "strAktSheet".


MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 35 von sebal vom 06.11.2019, 14:26 Options

hallo oliver,

das was du zum schluss meinst hat sich erledigt!

bei mir taucht sowohl LZF 1004 als auch LZF 424 auf.

objekt erforderlich bzw. name schon vergeben oder so ähnlich erscheint dann immer?

gruß sebal

fals du mir nicht mehr weiter helfen kannst danke ich dir bis hier her, bist echt hilfreich

Antwort 36 von coros vom 06.11.2019, 14:34 Options

Hallo sebal,

der Fehler besagt eigentlich, dass eine Seite nicht den gleichen Namen erhalten darf, wie eine bereits vorhande Seite. Eigentlich dürfte bei Dir sich keine Seite mehr mit dem Namen "Auswertung" befinden, da diese durch den Codeteil

For iSheets = Worksheets.Count To 1 Step -1
If Sheets(iSheets).Name = "Auswertung" Then
Application.DisplayAlerts = False
Sheets(iSheets).Delete
Application.DisplayAlerts = False
Exit For
End If
Next


gelöscht wird. Schau doch bitte mal vor dem Ausführen nach, ob Du ein Tabellenblatt mit dem Namen "Auswertung" hast. Lösche das bitte mal und führe dann das Makro aus. Kommt dann immer noch der gleiche Fehler?
Wenn ja, kannst Du mir Deine Datei mal zusenden? Meine E-Mailadresse findest Du auf meiner HP u. a. im Impressum. Binde in der Betreffzeile irgendwie das Wort "Supportnet" und den Namen (Nickname), unter dem Du hier gepostet hast mit ein, da ich alle Mails deren Absender ich nicht kenne, ungelesen lösche.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 37 von sebal vom 06.11.2019, 14:44 Options

hallo oliver,

juhu!

ich habe bevor ich deinen tipp gelesen habe, diese idee auch dehabt und habe festgestellt dass ich ein TB Auswertung hatte, nachdem ich es gelöscht hatte, hat alles funktioniert.

ich bedanke mich recht herzlich bei dir, du warst eine große hilfe.

vllt hab ich bald wieder irdendwo ein problem dann schreib ichs wieder ins forum tabellenkalkulation da bsit du ja häufig vertreten.

vielen dank, schönen tag

gruß sebal

Ähnliche Themen

Zellen verbinden in Excel - nicht möglich
canis  06.07.2007 - 290 Hits - 2 Antworten

Autofilter auslesen und ausgeben
Tomschi  23.08.2007 - 127 Hits -

Zellen mit textinhalt zusammenfassen???
Anlud  30.08.2007 - 103 Hits - 7 Antworten

Zellen nach gleichem Text überprüfen
Prain  04.10.2007 - 127 Hits - 9 Antworten

Farbwert auslesen!!!
Platin7  29.02.2008 - 55 Hits - 6 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026