Suche Lösung

Moderator: ModerationP

Re: Suche Lösung

Beitragvon MBHomeservice » 04. Sep 2017, 15:59

So, da bin ich wieder, also, dein letztes Macro hat nicht funktioniert, es ist zwar durchgelaufen aber hat bei den Daten einiges durcheinander gebracht. Deshalb habe ich wieder das erste Macro genommen. Da komm ich nun zu meinem nächsten Problem. In den einzelnen Benutzertabellen also z.B. "Hellboy" in den Spalten C,E,G sind Formeln hinterlegt die durch das ausführen des Macros überschrieben werden. Hast du eine Möglichkeit nach dem Durchlauf des Macros die entsprechenden Zellen zu kopieren damit die Berechnungen wieder durchgeführt werden können. Die Lösung müsste für alle Benutzertabellen sein. In der Tabelle Hellboy währen es jetzt z.B. die Zellen C3,E3,G3 die nach C4,E4,G4 kopiert werden müssten. Gruß Marcel
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
MBHomeservice
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 44
Registriert: 26. Nov 2008, 15:17

Re: Suche Lösung

Beitragvon DerHoepp » 04. Sep 2017, 16:46

Hallo,

ich habe keinen produktiven Beitrag, aber mittlerweile hast du vier mal eine mehr als sechs MB große Datei hochgeladen. Vielleicht bietet es sich an, die Datei zu kürzen, so dass nur die wesentlichen Informationen enthalten sind.

Viele Grüße
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5224
Registriert: 14. Mai 2013, 11:08

Re: Suche Lösung

Beitragvon MBHomeservice » 05. Sep 2017, 06:36

Danke für deine Wortmeldung und werd es mir zu Herzen nehmen. ;-)
MBHomeservice
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 44
Registriert: 26. Nov 2008, 15:17

Re: Suche Lösung

Beitragvon Xlsibb » 05. Sep 2017, 09:16

Hi.

würde dir das hier helfen?

Code: Alles auswählen
Sub Datenuebertragung()

    Dim i As Integer
    Dim r1 As Integer, r2 As Integer
    Dim c As Integer
    Dim strSheet As String, strFormula
   
    With Sheets(8) 'deine Eingabemaske ist nun nicht mehr Blatt 1, sondern Blatt 8!!!
        For r1 = 2 To .Cells(2, 2).End(xlDown).Row 'hier habe ich auf Spalte 2 korrigiert, da in Spalte 1 Formeln drin sind und er sonst nach Tabellenblättern ohne Namen sucht.
            strSheet = .Cells(r1, 2).Value
            r2 = Sheets(strSheet).Cells(Sheets(strSheet).Rows.Count, 1).End(xlUp).Row + 1 'hier habe ich die "Pfeil-nach-oben-Methode" verwendet, um auch leere Tabellen füllen zu können.
            Sheets(strSheet).Cells(r2, 1).Value = .Cells(r1, 1).Value
            For c = 3 To 9
                If Sheets(strSheet).Cells(r2, c - 1).HasFormula = True Then 'wenn Formel,
                    Sheets(strSheet).Cells(r2 - 1, c - 1).Copy Destination:=Sheets(strSheet).Cells(r2, c - 1) 'dann Zelle von oben kopieren
                Else 'ansonsten Wert übertragen
                    Sheets(strSheet).Cells(r2, c - 1).Value = .Cells(r1, c).Value 'Spalten müssen identisch lauten und in gleicher Reihenfolge auftauchen.
                End If
            Next c
        Next r1
    End With
   
End Sub
Benutzeravatar
Xlsibb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 858
Registriert: 26. Feb 2009, 17:07

Re: Suche Lösung

Beitragvon MBHomeservice » 05. Sep 2017, 10:43

Perfekt, genau so hab ich mir das vorgestellt und wieder einmal ein dickes Dankeschön für Deine Hilfe. Gruß Marcel
MBHomeservice
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 44
Registriert: 26. Nov 2008, 15:17

Re: Suche Lösung

Beitragvon MBHomeservice » 05. Sep 2017, 12:59

So, ein kleines weiteres Problem. Ich ermittle die Ränge einer Tabelle eines Bereiches mit der Formel =SVERWEIS(P7;Bereiche!$M$2:$O$31;2;0). Dieses Funktioniert auch bis zu dem Punkt an dem die Formel auf einen doppelten Eintrag trifft. Dann gibt sie nur noch den ersten Eintrag dieser Serie aus und der Rest wird mit einem #NV gekennzeichnet. Wie muss ich die Formel umschreiben das auch die doppelten Einträge ausgegeben werden? Gruß Marcel
MBHomeservice
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 44
Registriert: 26. Nov 2008, 15:17

Re: Suche Lösung

Beitragvon steve1da » 05. Sep 2017, 13:07

Hola,

schau mal hier:

http://www.excelformeln.de/formeln.html?welcher=28

Gruß,
steve1da
Benutzeravatar
steve1da
Moderator
 
Beiträge: 26466
Registriert: 24. Sep 2003, 10:54

Re: Suche Lösung

Beitragvon MBHomeservice » 05. Sep 2017, 13:19

das hilft mir nicht weiter, da das Suchkriterium eindeutig ist. Die Werte die doppelt vorkommen liegen in der Matrix.
MBHomeservice
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 44
Registriert: 26. Nov 2008, 15:17

Re: Suche Lösung

Beitragvon steve1da » 05. Sep 2017, 13:45

Hola,

dann schau dir den link nochmal genau an.

Gruß,
steve1da
Benutzeravatar
steve1da
Moderator
 
Beiträge: 26466
Registriert: 24. Sep 2003, 10:54

Re: Suche Lösung

Beitragvon Xlsibb » 05. Sep 2017, 14:10

Hallo,

du kannst es wie folgt machen:
zunächst brauchst du nur die Tabelle "bereiche". Lösche dort den Autofilter. Markiere eine einzelne Tabelle. Mit [Strg] + T kreierst du eine benamte Tabelle. Diese kannst du separat filtern. So kannst du jede einzelne Teiltabelle im Rang einfach aufsteigend sortieren. Dann fällt das ganze SVERWEISe weg.
Ist das was?
Benutzeravatar
Xlsibb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 858
Registriert: 26. Feb 2009, 17:07

Re: Suche Lösung

Beitragvon MBHomeservice » 05. Sep 2017, 14:54

hm, manchmal ist das problem ein ganz anderes als gedacht. nicht der SVERWEIS in der Bereichstabelle ist das Problem sondern die RANG Formel in der Auswertungstabelle hat hier eine Macke. Ich ermittel die Ränge von bestimmten Zahlen mit der Formel =RANG($J$2;$J$2:$J$31;1) Was mir bis dato noch nicht aufgefallen war ist die Tatsache das die Formel bei zwei gleichen werten einen gleichen Rang ausgibt. So, um dieses zu verhindern hab ich mir auf der Seite http://www.excelformeln.de/formeln.html?welcher=307 das angeschaut und eine testtabelle angelegt.(angehangen) Doch bei mir schmeisst Excel nach dem Kopieren #Wert raus und das obwohl die Formel 1:1 identisch ist wie angegeben. Kann mir das jemand erklären und eine Lösung anbieten?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
MBHomeservice
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 44
Registriert: 26. Nov 2008, 15:17

Re: Suche Lösung

Beitragvon Xlsibb » 05. Sep 2017, 15:02

Du hast die Matrixformel vergessen!!!

Du musst die Formel mit [Strg]+[Shift]+[Enter] abschließen. Und dann erst nach unten ziehen.
Benutzeravatar
Xlsibb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 858
Registriert: 26. Feb 2009, 17:07

Re: Suche Lösung

Beitragvon MBHomeservice » 05. Sep 2017, 15:20

ah ok, dann sind also die { } auf der Tastatur anders als STRG+SHIFT+ALT, den mit den Klammern hatte ich es versucht. ok danke für die Hilfe.
MBHomeservice
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 44
Registriert: 26. Nov 2008, 15:17

Re: Suche Lösung

Beitragvon Xlsibb » 05. Sep 2017, 15:27

Hi.

das hat nichts mit den Klammern zu tun. sondern du arbeitest mit Matritzen, das muss Excel gesagt werden.

Beispiel: du hast Zahlen von 1-5 in Zellen A1-A5. Nun könntest du in B1-B5 jew. sagen: =A1*10 --> nach unten ziehen.
Wenn du aber gleich alle Zellen B1:B5 markierst und schreibst: =A1:A5*10, dann arbeitest du mit einer einspaltigen Matrix. Machst du Enter, gibt's einen Fehler, weil Excel die Syntax nicht kennt. Schließt du das aber als Matrixformel ab, weiß Excel: "Aaah! Matrix!" und rechnet richtig. Einzelne Zellen der Matrix können nicht bearbeitet werden.
In deinem Fall: da sich die Formel immer nur auf eine Zelle bezieht, aber auf eine Matritze zurückgreift, musst du für die einzelne Zelle eine Matrixformel eingeben.
Benutzeravatar
Xlsibb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 858
Registriert: 26. Feb 2009, 17:07

Re: Suche Lösung

Beitragvon MBHomeservice » 05. Sep 2017, 15:56

Danke Dir für diese ausführliche Erklärung, das hab ich verstanden.
MBHomeservice
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 44
Registriert: 26. Nov 2008, 15:17

VorherigeNächste

Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: Hajo_Zi, Klaus-Dieter, mumpel, Pearli123 und 11 Gäste