Organigram Excel mit einklappen und ausklappen (per Makro?)?

Hallo Zusammen,

etwas komplizierteres Problem hier: (zumindest bin ich nach stundenlangem Googeln auf englisch und deutsch auf kein akzeptables ergebis gekommen)

Im Prinzip klingt es einfach: Ich will ein Organigramm erstellen per Excel (Word wuerde auch noch gehen, keine sonstige Freeware da ich im Buero keine Software runterladen kann/darf). Nun will ich aber kein "statisches" Organigram (zb per SmartArt). Es soll eher so etwas sein wo ich auf einen Namen klicke und dann alle untergeordneten Leute/Mitarbeiter aufklappen (NUR DIE VON DEM JEWEILIGEN "BOSS").

Mit Gruppieren etc. komme ich nicht vorran da ich 1. will dass es per Mausklick auf den namen geht und 2. ich nicht mehr als 8 untergruppen erstellen kann damit.

Am liebsten auch ein Makro dass ich anpassen koennte ?Hab hier noch ein Bild was vllt etwas besser erklaert was ich meine.

Zum Bild:Ich will dann quasi dass am Anfang nur "CEO" da steht. Dann klicke ich zb auf "C" dann poppen 1,2,3,4,5 auf und ich klicke auf "1" dann poppen 11,12,13 auf etc.. der rest soll am besten verborgen bleiben (viel uebersichtlicher)

Hoffe, dass war einigermassen gut erklaert. Bei Fragen etc einfach nachfragen...Ich finde dazu leider auch wirklich nirgends etwas (ausser irgendwelcher Freeware etc.) Aber es MUSS doch moeglich sein?

Danke euch vieeelmals schonmal!!!

EDIT:

hab jetzt mal probiert einen Makro zu schreiben:

Sub collapse()

Selection.Offset(1, 1).Select
Range(Selection, Selection.End(xlDown)).

Select Selection.EntireRow.Hidden = True

End Sub

_______

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

If Target.Column = 2 Then

Target.Select

Call collapse

End If

If Target.Address = "$B$10" Then

Target.Select

Call collapse

End If

End Sub

____

Problem: Wenn ich es mit "target.column" mache (was mir lieber ist) dann wuerde ich gerne haben dass er bei leeren zellen nichts macht in dieser spalte... wie geht das genau? und hat einer eine ahnung wie ich das hinkrieg dass wenn ich WIEDER auf die gleiche zelle gehe er mir des rueckgaengig macht? Ich hab so eine ahnugn mit true/false denke ich mal aber habe keine ahnung wie ich das umsetzen kann..

Also irgendwie dass wenn ich einmal draufdruecke und des eingeklappt ist er weiss visibile = false oder sowas und wenn ich wieder draufdruecke soll er halt true machen versteht ihr mich :D?

Bild zum Beitrag
PC, Microsoft Word, Microsoft, Office, Microsoft Excel, Programm, programmieren, VBA
Mit Access und VBA einen formatierten Excel-Export durchführen?

Guten Tag, ich hänge mal wieder bei einer Access - Excel Frage fest.

Ich habe ein Access eine Abfrage geschrieben, die mir sortiert eine ID, den zugehörigen Namen und alle dazu zugewiesenen Daten ausgibt.

Da jede Id + name mehrere Daten haben kann, steht das ganzen in mehreren zeilen untereinander. Ich möchte das ganze nun in eine Excel-Datei via Makro exportieren und das ganze so formatieren das Id + name nur einmal drann steht und dann alle Daten.

Das ganze sieht also eig. so aus.

id || name || daten

1 || n1 || daten1

1 || n1 || daten2

1 || n1 || daten3

und soll in der Exel Datei dann so aussehen.

id || name || daten

1 || n1 || daten1

_ || _ || daten2

_ || _ || daten3

_ bedeutet das dort kein Eintrag in der Zelle mehr steht. Ich habe das bisher so gemacht, das ich Die Daten aus Access händisch in eine Excel kopiert habe und dann dort mit einem Makro alles raus sortiert habe. Dim xErsteZeile As Long Dim xZeile As Long

        xErsteZeile = Cells(Rows.Count, 1).End(xlUp).Row
    
        For xZeile = xErsteZeile To 1 Step -1
          If Application.WorksheetFunction.CountIf(Columns(1), Cells(xZeile, 1).Value) > 1 Then
                Range("A" & xZeile).Select
                Selection.Delete Shift:=xlUp
                Range("B" & xZeile).Select
                Selection.Delete Shift:=xlUp
          End If
        Next

Ich würde das ganze jetzt aber über Access machen da es ja der Ausgangspunkt ist. Wenn ich ein Export in ACCES anschaue in VBA sieht dieser ja so aus.

    DoCmd.OutputTo acOutputQuery, "jh_01_01_Abfrage", "Excel97-Excel2003Workbook(*.xls)", "", True, "", , acExportQualityPrint

kann ich davor die Daten noch bearbeiten wie in Excel? Und wenn ja kann mir eventuell jemand einen Tipp geben?

Würde mich sehr freuen.

Grüße

Frost.

Office, Microsoft Excel, programmieren, Access, Makro, VBA
Excel: Operator aus anderen Zelle auslesen?

Hallo Leute,

ich schildere mein Probelm: Ich hab vorerst eine Tesliste erstellt, welche ungefähr so aussieht:

| A | 4 | | B | 5 | | C | 7 |

...

Jetzt möchte ich woanders eine Formel eingeben, welche die Zelle rechts daneben automatisch einliest und ausrechnet. Die Zelle kann die Formel schon einlesen. Das schaut ungefähr so aus:

=SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)&TEIL(D1;2;1)&SVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH)

Die Liste befindet sich in den Spalten A und B und die Formel und ausgerechnete Formel in den Spalten D und E. Das Grüne ist die Auslese für die Variablen und das Rote die für den Operator. Allerdings wird der Operator nicht als dieser angesehen, sondern als String, wodurch nicht die ausgerechnete Formel dasteht sondern die Zahlen für die einzelnen Variablen.

Ein Beispiel:

| AxB | 4x5 |

Eigentlich sollte dastehen:
| AxB | 20 |

Jetzt hab ich eine etwas sehr komplizierten Code für 2 Variablen zusammengeschustert:

=WENN(TEIL(D1;2;1)="x";SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)xSVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH);WENN(TEIL(D1;2;1)="+";SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)+SVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH);WENN(TEIL(D1;2;1)="-";SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)-SVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH);WENN(TEIL(D1;2;1)="/"; SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)/SVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH);"unzlässiger Multiplikator"))))

Ein bisschen vereinfacht: =WENN(TEIL(D1;2;1)="x";SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)xSVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH); <<Hier kommen dann die anderen abfragen für Division, Addition und Subtraktion)

Ich werde ich aber bis zu 10 Variablen brauchen und dann wird es komplett unübersichtlich.

Multiplizieren ohne die Auslese vom Operator funktioniert bestens. Also: =SVERWEIS(TEIL(D1;1;1);$A$1:$B$11;2;FALSCH)xSVERWEIS(TEIL(D1;3;1);$A$1:$B$11;2;FALSCH)

Jetzt meine Frage: Wie kann ich den Operator als Operator verwenden, anstatt als String?

Sorry für die kack-Formatierung, aber gutefrage.net lässt einen kaum spielraum für Design, deshalb sind die Sternchen die man ja eigentlich zu multiplizieren gedacht sind durch "x" ersetzt worden

lg Wipeout

Microsoft, Office, Microsoft Excel, programmieren, Office 2007, operator

Meistgelesene Beiträge zum Thema Office