Zellen auslesen2
hallo zusammen,
was muss ich an dem nachfolgenden makro ändern, damit es sich seine gewünschten informationen aus dem Tabellenblatt "Tabelle2" holt?
Dass diese werte dann im automatisch entstehenden tabellenblatt "auswertung" stehen ist ok, wo dann der minumum und maximum wert steht ist auch eher nebensächlich.
Makro:
sub zellen()
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))
End Sub
wäre schön wenn ich hilfe bekäme. oliver? vllt von dir?
gruß sebal
Antwort schreiben
Antwort 21 von sebal vom 08.11.2019, 07:13 Options
hallo oliver,
ich hab dein makro getestet, und das ergebnis ist eine msgbox, welche mir sagt wie die datei heist welche ich geöffnet habe, oder?
das einzige was ich lediglich möchte ist:
Beispiel:
einmal möchte ich mit meinem gesamten programm die datei "E3116_case10_mule_01.MUF" öffnen, und das programm dann "darüber laufen lassen".
beim zweitenmal(seperat vom ersten mal) möchte ich das gleiche tun, nur diesmal mit der datei ("HUR6_12.MUF").
irgendwo in meinem makro taucht nun die zeile auf:
Sheets("E3116_case10_01.MUF").Activate
bzw Sheets("HUR6_12.MUF")
beim aktuellen stand meines programms muss ich bevor ich dieses starte(und weis welche datei ich dann öffnen möchte) jeweils diese Zeile oben so modifizieren dass in der klammer der dateiname steht den ich dann öffnen möchte, ich möchte das jedoch so nicht, geht das nicht automatisch irgendwie?
oder macht das dein makro oberhalb?
danke, gruß sebal
Antwort 22 von sebal vom 08.11.2019, 07:54 Options
hallo oliver,
was ich auf jeden fall noch sagen muss, deine HP ist sehr gelungen, das mit dem Button war sogar für mich verständlich, vielen dank
gruß sebal
Antwort 23 von coros vom 08.11.2019, 08:12 Options
Hallo sedal,
ich erkläre es jetzt zum 3. mal. Mit meinem Makro wird keine Datei geöffnet. Es erscheint ein Dialogfenster, in dem man eine Datei auswählen kann. Diese Auswahl wird mit samt dem Pfad in die Variable "varDatei" geschrieben. Da Du aber nur den Namen der Datei benötigst, wird mir der While-Schleife der Name vom Pfad getrennt und in Variable "strDateiname" geschrieben. Das ist die Variable, die Du dann in Deinem Programm weiter benutzen kannst. Den Befehl mit der Messagebox habe ich lediglich eingefügt, da es sich hierbei um ein Beispiel handelt und damit man dann im Beispiel die Rückmeldung erhält, welchen Dateinamen man ausgewählt hat.
Mein aufgeführtes Makro muss in Dein bestehendes Makro integriert werden. Wo das allerdings sein muss, weiß ich im Moment noch nicht so genau, da und das benfalls zum 3 mal, in Deinem geposteten Codes es keinen Befehl gibt, der eine Datei öffnet. Mit dem Befehl "Windows("E3116_case10_mule_01.MUF").Activate" wird keine Datei geöffnet, sondern ein bereits geöffnetes Programmfenster in den Vordergrund geholt. Das sagt das Wort "Windows" und ".Activate" aus. Daher und auch das nun zum 3 mal verstehe ich nicht ganz, was Du nun möchtest. Ein bereits geöffnetes Programm wieder aktivieren oder ein neues Programm öfnen???
Wenn ich jetzt nicht wieder sofort antworte, nicht ungeduldig werden, aber ab und zu muss ich auch noch meine Brötchen verdienen. Daher habe ich nachher einen Termin. Wenn ich wieder on Air bin, melde ich mich dann 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 24 von sebal vom 08.11.2019, 09:38 Options
hallo oliver,
das ist kein problem, du bist eh so fleißig hier.
naja mein probelm hat sich irgendwie von selbst gelöst.
vllt dauert es nicht lang dann habe ich wieder ein probelm.
also vielen dank soweit, bis dann
gruß sebal