sofacoach.de



Zurück   sofacoach.de > Off-Topic > Hilfe!

[Software] Microsoft Excel Dieses Thema abonnieren
Mehr
#61
Alt 08.03.2017, 15:48   (BOR)
Lucky
Gum would be perfection.
 
Benutzerbild von Lucky

Meine Excel Skills sind eingerostet. Habe hier ein scheinbar kleines Problem, zu dem mir aber irgendwie keine passende Lösung einfällt.

Ich habe hier einen Jahreskalender in Excel. Jede Zeile ist ein Tag. Die Spalten enthalten verschiedene Kriterien zu Eintragungen am jeweiligen Tag. Spalte B enthält eine fortlaufende ID, die bei jedem neuen Eintrag vergeben wird.

Ich möchte jetzt auf Tabellenblatt 2 eine Liste führen, die alle Eintragungen aus Tabellenblatt 1 Spalte B sauber untereinander auflistet. D.h. ich möchte aus Gründen der Übersicht hier alle Eintragungen bereinigt um die Leerzeilen direkt untereinander schreiben.

Hat jemand eine Idee?
__________________
"I did it for me."
Lucky ist offline Mit Zitat antworten
#62
Alt 08.03.2017, 15:58   (München)
Fry
-US-
 
Benutzerbild von Fry

Einfach im ersten Tabelleblatt den Filter benutzen und die leeren rausfiltern reicht nicht?
Fry ist offline Mit Zitat antworten
#63
Alt 08.03.2017, 16:28   (BOR)
Lucky
Gum would be perfection.
 
Benutzerbild von Lucky

Leider nein. In der anderen Liste wird es dann noch zusätzliche Funktionen geben, die im Kalender überflüssig wären.
__________________
"I did it for me."
Lucky ist offline Mit Zitat antworten
#64
Alt 08.03.2017, 20:45   (Göttingen)
Der Hans
100% Königsblau
 
Benutzerbild von Der Hans

Kannst du eine Beispieldatei zur Verfügung stellen oder erklären, wie es zu Leerzeilen kommt, wenn jede Zeile einen Tag darstellt?
__________________
flickr
Der Hans ist offline Mit Zitat antworten
#65
Alt 09.03.2017, 09:27   (BOR)
Lucky
Gum would be perfection.
 
Benutzerbild von Lucky

Hab das ganze mal kurz etwas vereinfacht hier dargstellt. Links der Kalender, rechts die Zusammenfassung. Die rechte Liste soll sich automatisch generieren (auf einem anderen Tabellenblatt).

__________________
"I did it for me."
Lucky ist offline Mit Zitat antworten
#66
Alt 09.03.2017, 09:43   (Hamburg)
Thrasher
The Search for Animal Chin
 
Benutzerbild von Thrasher

Pivottabelle. When in doubt, immer Pivottabelle.
Thrasher ist offline Mit Zitat antworten
3 User sagen Danke:
Baumi (09.03.2017), Lucky (09.03.2017), Tschecker (09.03.2017)
#67
Alt 09.03.2017, 09:49   (Dorsten)
kaestchen
holistic claims manager
 
Benutzerbild von kaestchen

möchtest du eine fertige formel oder nur tipps?

mit excel formeln ist es auf dem zweiten tabellenblatt nur "halb-automatisch" möglich.

bereich kalender A1 : D365 ist die quelle - google stichwort daten aus anderem tabellenblatt

dann kannst du mit vergleich() und dem wert von ID die relative adresse bestimmen und somit dass datum und den namen ziehen

für die folgezeile muss der wert von ID dann nur um eins erhöht werden

leider musst du die anzahl der events im zewiten tabellenblatt manuell erledigen, also die formel manuell in ausreichend zeilen kopieren.

wenn das auch automatisch erledigt werden soll kommst du um makroprogrammierung nicht drum rum
kaestchen ist offline Mit Zitat antworten
Ein User sagt Danke:
Lucky (09.03.2017)
#68
Alt 09.03.2017, 09:51   (Dorsten)
kaestchen
holistic claims manager
 
Benutzerbild von kaestchen

oder was drexthrasher sagt
kaestchen ist offline Mit Zitat antworten
#69
Alt 09.03.2017, 10:21   (München)
Hululalulu
Couchpotatoe
 
Benutzerbild von Hululalulu

Muss man bei der Pivot-Tabelle dann aber nicht immer manuell die Tabelle aktualisieren oder geht das auch automatisch?

Ich bin ein Fan von Index(Vergleich).

Du könntest es damit folgendermaßen machen:

In Zeile F3 die Formel kopieren:
=WENN(ZEILE()-2>MAX($C:$C);"";INDEX(A:A;VERGLEICH(ZEILE()-2;$C:$C;0)))

die Formel dann rüber ziehen bis zu I3
und dann F3-I3 runter bis Zeile 500 oder so.

Dann würde der Kalender knapp 500 Ereignisse anzeigen. Sollten es mehr werden, musst du die Formel weiter nach unten kopieren.
Hululalulu ist offline Mit Zitat antworten
Ein User sagt Danke:
Lucky (09.03.2017)
#70
Alt 09.03.2017, 10:49   (BOR)
Lucky
Gum would be perfection.
 
Benutzerbild von Lucky

Danke schon mal an alle.

Der Index (Vergleich) sieht jetzt für mich auch am sinnvollsten aus. Im Beispiel oben klappt das. Müsste das jetzt allerdings für eine komplexere Datei adaptieren. Blick durch den Aufbau der Formel gerade nicht ganz durch. Könntest du evtl. noch kurz ein paar Sätze dazu sagen, was in den einzelnen Schritten passiert?
__________________
"I did it for me."
Lucky ist offline Mit Zitat antworten
#71
Alt 09.03.2017, 11:05   (München)
Hululalulu
Couchpotatoe
 
Benutzerbild von Hululalulu

Der erste Teil ist nur eine Prüfung, ob das Feld leer werden soll oder nicht:
=WENN(ZEILE()-2>MAX($C:$C);""

Hier wird geschaut, ob die Zeile, in der die Formel steht abzüglich dem Wert 2 größer ist als der höchste Wert in der Spalte C ist.

Im konkreten Fall:
F3 Zeile 3 =3
Davon ziehst du 2 ab, hast also als Ergebnis 1. Hast du jetzt in der Spalte C eine ID mit einem Wert der nicht größer als 1 ist, geht die Formel mit Teil 2 weiter. Sollte das Ergebnis größer als der höchste Wert in der Spalte C sein bleibt das Feld leer.

Wenn du den Teil auf eine andere Tabelle kopierst, musst du eigentlich nur schauen, welchen Wert du abziehst, damit als Ergebnis in der ersten Zeile des Kalenders eine 1 rauskommt.
Beispiel: Wenn du in der Zeile F8 deinen ersten Wert haben möchtest, musst du -7 nehmen damit als Ergebnis eine 1 rauskommt.



Der zweite Teil ist im Prinzip eine andere Form des Sverweis.
Funktioniert folgendermaßen:

Index([Ergebnisspalte];Vergleich([Suchwert];[Suchspalte];0)))
In Worten für Zelle F3:
Du suchst den Wert 1 (Zeile=3-2=1;=[Suchwert]) in der Spalte C (=[Suchspalte])und gibst als Ergebnis den Wert aus Spalte A (=[Ergebnisspalte])aus, also eine 9.

Beim adaptieren auf deine andere Tabelle musst du also die Ergebnisspalten, den Suchwert (also die ID, die du möchtest; sollte identisch sein mit dem ersten Teil der Formel) und die Suchzeile ändern.

Hoffe das ist halbwegs verständlich. Ansonsten nochmal nachfragen

Geändert von Hululalulu (09.03.2017 um 11:14 Uhr)
Hululalulu ist offline Mit Zitat antworten
Ein User sagt Danke:
Lucky (09.03.2017)
#72
Alt 09.03.2017, 11:32   (BOR)
Lucky
Gum would be perfection.
 
Benutzerbild von Lucky

Habe es hinbekommen. Danke!
__________________
"I did it for me."
Lucky ist offline Mit Zitat antworten
Ein User sagt Danke:
Hululalulu (09.03.2017)
#73
Alt 20.04.2017, 11:36   (München)
CrookedVulture
SofaCoach
 
Benutzerbild von CrookedVulture

Servus! Ich hätte eine kurze Frage zu Optionsfeldern in Excel: ich habe eine Liste gegeben mit 10 verschiedenen Spalten und jeweils einem Show/Hide für jede Spalte. Die Optionsfelder sind über Gruppen getrennt voneinander, das heißt für jede Gruppe habe ich nur die binäre Auswahl. Wie kann ich jetzt eine Kategorie „All“ einfügen, bei der dann alle Spalten auf Show/Hide gesetzt werden? Aktuell rufe ich die Einzelmakros unter All_Show per „Call Makro1_Show“ auf. Das funktioniert auch, aber die visuelle Umstellung im Optionsfeld erfolgt eben leider nicht, da ja das Makro1_Show auch nur ans Optionsfeld gekoppelt ist.

Da ich ein absoluter VBA-Anfänger bin, wäre ich über jede Hilfe dankbar!
CrookedVulture ist offline Mit Zitat antworten
#74
Alt 15.06.2017, 16:29   (Zwischen Realität und Traumwelt. Irgendwo da.)
Euth
SofaCoach
 
Benutzerbild von Euth

Brauche Hilfe von VBA-Cracks

Habe hier auf Arbeit eine Excel-Datei:

Zelle A1 soll so lange mit Spalte B verknüpft werden bis in der nächsten B-Zelle nichts mehr steht. Danach soll A2 mit Spalte B verknüpft werden bis in Spalte B nichts mehr steht, dann A3 usw.

Wisst ihr was ich meine? Vllt gehts auch ohne VBA und nur mit einer Excel-Formel?



EDIT... habe es jetzt hinbekommen.... falls wer vor einem ähnlichen problem steht

Code:
Sub ConcatColumns()

Dim introw As Integer
introw = 1

Do While introw < 15    'End of Column B
   Do While ActiveCell.Offset(0, -1) <> ""  'Loops until the active cell is blank.

      'The "&" must have a space on both sides or it will be
      'treated as a variable type of long integer.

      Cells(Cells(Rows.Count, "C").End(xlUp).Row + 1, "C").Value = _
         ActiveCell.Offset(0, -1) & " " & Cells(introw, 2)

      ActiveCell.Offset(1, 0).Select
   Loop
introw = introw + 1
Cells(1, 2).Select
Loop

End Sub
__________________
"Beim Fußball sind die schönsten Tore diejenigen,
bei denen der Ball schön flach oben rein geht..."
(Mehmet Scholl)

Geändert von Euth (15.06.2017 um 21:00 Uhr)
Euth ist offline Mit Zitat antworten
#75
Alt 19.06.2017, 09:27   (München)
CrookedVulture
SofaCoach
 
Benutzerbild von CrookedVulture

Gibt es eine Möglichkeit, dass ich in Excel nicht die in der Systemsteuerung (Maus Rad) voreingestellte Anzahl Zeilen springe, sondern eine selbst festgelegte Anzahl? Bei mir ist das Scrollen hier gerade auf 6 Zeilen eingestellt, in dem Excel-Sheet bekomme ich durch fixierte Zeilen aber unten nur noch 3 Zeilen (mit mehreren Zeilenumbrüchen in den Zellen) angezeigt. Wenn ich hier jetzt nach unten scrolle lande ich von Zeile 22 automatisch bei Zeile 28, wobei Zeile 25:27 nicht dargestellt werden. Da ich derzeit relativ oft mit dem Sheet arbeite, jedoch nicht die Scrollzeilen runterstellen möchte, bräuchte ich eine excelspezifische Lösung. Gibts da was?
CrookedVulture ist offline Mit Zitat antworten
Themen-Optionen



07:38
Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

no new posts