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
Wie programmiere ich "Schiffe versenken" in Java?

Ich möchte gerne Schiffe versenken in Java programmieren und komme gerade nicht weiter...

Hier mein Beispiel-code:

import java.util.*;
public class schiffeversenkken {
  
  public static void main(String[] args) {
    Scanner scan = new Scanner (System.in); 
    
    // Hilfsvariablen
    int x = 0 ;
    int y = 0 ;
    int i = 0 ;
    int j = 0 ;
    int s1 = 0 ;
    int s2 = 0 ;
    int s3 = 0 ;
    
    //Spielfeld
    int [][] feld = new int [10][10] ;
    
    // Ausgabe Spielfeld
    
    for(i = 0; i < feld.length; i++){
      for(j = 0; j < feld.length; j++){
        System.out.print(" [ " + feld[i][j] + " ]" + "\t" ) ;
      }
      System.out.println();
    }
    
    // Schiffe platzieren 
    for (s1=0;s1<3 ;s1++ ) {
      System.out.println("x-Koordinate des Schiffes: ");
      x = scan.nextInt() ;
      System.out.println("y-Koordinate des Schiffes: ");
      y = scan.nextInt() ;
      feld [x][y] = 1 ;
    } // end of for
    
    System.out.println("erstes Schiff platziert!");
    System.out.println(" ");
    
    for (s2=0;s2<3 ;s2++ ) {
      System.out.println("x-Koordinate des Schiffes: ");
      x = scan.nextInt() ;
      System.out.println("y-Koordinate des Schiffes: ");
      y = scan.nextInt() ;
      feld [x][y] = 1 ;
    } // end of for
    
    x = 0 ;
    y = 0 ;
    System.out.println("zweites Schiff platziert!");
    System.out.println(" ");
    
    for (s3=0;s3<3 ;s3++ ) {
      System.out.println("x-Koordinate des Schiffes: ");
      x = scan.nextInt() ;
      System.out.println("y-Koordinate des Schiffes: ");
      y = scan.nextInt() ;
      feld [x][y] = 1 ;
    } // end of for
    
    x = 0 ;
    y = 0 ;
    System.out.println("drittes Schiff platziert!");
    System.out.println(" ");
    
    // neues Spielfeld ausgeben
    for(i = 0; i < feld.length; i++){
      for(j = 0; j <feld.length; j++){
        System.out.print("[" + feld[i][j] + "]" + "\t");     
      }
      System.out.println();
      
      
    } // end of main
    
  } // end of class schiffeversenkken
}

Meine Probleme sind jetzt, dass die Schiffe, die ich platziere sehe (Position durch "1" erkennbar, leere Felder gekennzeichnet durch "0" ). Diese möchte ich jedoch verbergen. Ich hab schon drüber nachgedacht es so zu lösen:

Ich vergleiche [x] [y] mit dem Wert "1". Trifft dies zu, lasse ich per System.out.print "feld [x][y] ausgeben (sorry ich kann an dieser Stelle leider keinen Quellcode einfügen :/ )

Das funktioniert leider nicht so, wie ich es mir vorgestellt hab :D

Eine weitere Möglichkeit wäre auch, die Schiffe per Zufall erstellen zu lassen, jedoch weiß ich da auch nicht so genau wie ich das anstellen soll.

Es wäre vermutlich auch mehr als praktisch sämtliche Aktionen in Methoden zu packen, was ich bis jetzt aber noch nicht gemacht habe, da ich relativ unvorbereitet an dieses Pogramm herangetreten bin...

Ich freue mich über schnelle Antworten :)

Schiff, programmieren, Java, get, Array, versenden, Schiffe versenken, Set
Ich muss diesen selbst programmierten Code (Bisektionsverfahren) rekursiv darstellen, jedoch tue ich mir da schwer. Kann mir jemand zur Hand gehen?

public class Bisektion {

public static void main(String[] args) {

    double Nst = bisektion(-10, 10, 0.01);
    System.out.println("Ermittelte Nullstelle: " + Nst);
    System.out.println("Funktionswert an dieser Stelle: " + fkt1(Nst));
    System.out.println();
    double Nst2 = bisektion(-1000, 1000, 0.01);
    System.out.println("Ermittelte Nullstelle: " + Nst2);
    System.out.println("Funktionswert an dieser Stelle: " + fkt2(Nst2));

}

// Test Funktionen
public static double fkt1(double x) {

    double fx;
    //fx = x * x * x - 24 * x * x + 59 * x + 420;
    fx = x + 5;
    return fx;
}

public static double fkt2(double x) {

    double fx2;
    fx2 = -1/Math.exp(x) + 1e20;

    return fx2;
}

public static double bisektion(double lower, double upper, double epsilon) {

    double mid = lower;
    double width = upper - lower; //20
    // Intervall
    while (width > epsilon) { //20 > 0.1

        mid = (lower + upper) / 2;//0   //-5
        if (fkt1(lower) * fkt1(mid) <= 0) { // if root is in [lower, mid]    //-5 * 0
            upper = mid;                    // move upper left               //upper = 0
        } else {                            // else root is in (mid, upper]
            lower = mid;                    // move lower right
        }
        width = upper - lower;                                               //width = 10
        System.out.println("root = " + mid );
    }
    return mid;
}

} // f(lower)<0 und f(upper)>0 // f besitzt nullstelle im Intervall [lower,upper] // middle // entweder lower oder upper durch ein kriterium mit middle ersetzen // stoppen wenn funktionswert näherungsweise 0 ist // ==> betrag kleiner als vorgegebene zahl epsilon

programmieren, Java
Wie passe ich die Word Formatvorlage im Zitate und Literaturverzeichniss an konkrete Vorgaben an?

Hallo :)

Ich möchte im Word 2007 die Formatvorlage im Zitate und Literaturverzeichnis so anpassen, dass folgenden Bedingungen erfüllt werden:


Nummeriertes Literaturverzeichnis/Endnoten (häufig bei Chemie-Papers)

In der Chemie werden die Literaturstellen im Text von 1 fortlaufend durchnummeriert und in eckigen Klammern hinter dem Zitat hochgestellt.

z.B. text text text text text.[1]

Im Literaturverzeichnis stehen die vollständigen Angaben dann in der Reihenfolge der Nummern (dort auch mit eckigen Klammern, aber nicht hochgestellt):

[1] K. P. C. Vollhardt, Organische Chemie, 1. Aufl., VCH, Weinheim, 1988, S. 215.

[2] A. Kraft, Chem. Commun. 1996, 77–79.

[3] S. Novick, "Biography of Rotational Spectra for Weakly Bound Complexes", zu finden unter http://www.wesleyan.edu/chem/faculty/novick/vdw.html, 2005 (letzter Zugriff 21.06.15, 21.46).

Es werden alle Autorennamen angeben (bei mehr als drei Autoren ist et al. zulässig), mit Gross- und Kleinbuchstaben schreiben, und zwar erst abgekürzte Vornamen, dann Nachnamen; kein "und" zwischen vorletztem und letztem Namen verwenden.


Kann mir da jemand helfen, um das zu realisieren? Ich habe bereits gegoogelt, aber die Vorlagen und Anleitungen die ich gefunden habe helfen mir nicht.

Würde mich sehr freuen, wenn jemand Rat wüsste... Beste Grüsse

Computer, Microsoft Word, programmieren, Informatik, Office 2007, Textverarbeitung
wie berechne ich das Produkt eines Arrays?

Ich habe echt alle jetzt hinbekommen aber jetzt fehlt mir das Produkt ich wollte das so machen

int produkt = 0;

produkt *= Array[i]; system.out... (produkt);

aber da kommt immer ein Fehler in der console undzwar :** Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at Array.main(Array.java:36) 0**

hier erstmal mein Code import java.util.Scanner;

public class Array {

public static void main(String[] args)
{
    // TODO Auto-generated method stub
    {
        Scanner input=new Scanner(System.in);
        int summe=0;
       

        System.out.print("Wie groß soll das Array sein?");
        int Arraygroeße=input.nextInt();

        int Array[]=new int[Arraygroeße]; // erstellt ein Array mit der
                                          // Größe
                                          // die man eingibt

        int i;
        for (i=0; i<Array.length; i++)
        {
            System.out.print("Feldwert an Stelle "+i+" eingeben: ");
            Array[i]=input.nextInt(); // soll den Wert einlesen den der
                                      // Nutzer
                                      // haben möchte bis das ganze Array
                                      // ausgefüllt ist
        }

        for (i=0; i<Array.length; i++)



            summe+=Array[i];
        System.out.println("Die Summe ist :"+summe);

        int max=Array[0];
        for (i=0; i<Array.length; i++)
            if (max<Array[i])
                max=Array[i];

        System.out.println("Größter Wert des Arrays ist "+max);

        int min=Array[0];
        for (i=0; i<Array.length; i++)
            if (min>Array[i])
                min=Array[i];

        System.out.println("Kleiner Wert des Array ist "+min);

        double mittel=0; // Mittelwert auf 0 setzen
        mittel=summe/Array.length; // Mittelwert berechnen durch Summe
                                   // geteielt durch die Anzahl der Zahlen
                                   // im Array
        System.out.println("Der Mittelwert beträgt:  "+mittel);
        
       
        input.close();

    }
  }
}

kann mir jemand bitte helfen wie ich das Produkt berechnen kann ? ( Java)

PC, Computer, Programm, programmieren, Java, Praktikum
Visual Studio Fehlercode 0x8000000A?

Hallo,

vorab entschuldige ich mich für meine vielleicht falschen Beschreibung, bin noch ein ziemlicher Anfänger was Programmier- und Designoberflächen betrifft. Ich versuche momentan ein Projekt, das mit Visual Basic 2010 erstellt wurde und aufgebaut wurde, mit der aktuellen Version von Visual Basic (Community 2015) zu laden. Das Laden des Projekts funktioniert zunächst auch einwandfrei, allerdings enthält das Projekt eine Designoberfläche, über die ich z.B. das Licht an- und ausschalten sollen könnte. Wenn ich versuche diese Oberfläche aufzurufen, erscheint immer folgende Fehlermeldung:

Die für diesen Vorgang erforderlichen Daten sind noch nicht verfügbar. (Ausnahme von HRESULT: 0x800000A)

Die Aufrufliste zeigt folgendes an:

bei Microsoft.VisualStudio.Designer.Interfaces.IVSMDCodeDomProvider.get_CodeDomProvider() bei Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_Provider() bei Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_CompileUnit() bei Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager) bei Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)

Weiß jemand woran das liegt? Ich habe schon versucht das Projekt mit Visual Basic 2012 zu öffnen, das .NET Framework aktualisiert, alle Visual C++ Redistributables die neuer als die 2010 Version sind deinstalliert und auch alle schon neu installiert. Außerdem habe ich sowohl bei meinem PC als auch auf meinem Laptop dieselbe Fehlermeldung, weshalb ich irgendwelche Komplikationen mit Fremdprogrammen o.ä. beinahe ausschließen kann.

Gruß

P.S.: Ich benutze Windows 7 64bit

Microsoft, Designer, programmieren, Visual Studio, Fehlermeldung
wieso kommt ein fehler beim kompilieren?

Hey Leute, bin 15 Jahre alt und lerne gerade die Programmiersprache, weil ich etwas in Richtung Informatik studieren will. Dafuer habe ich mir ein Buch gekauft und das heisst 'C Programmieren von Anfang an' von Helmut Erlenkoetter. Ich scheitere irgendwie schon beim Kompilieren. Dort wird ein Beispielprogramm angegeben das man abschreiben sollte

/* bspl0001.c */ 

#include <stdio.h>

main(){ 

    printf("\nDies ist mein erstes C-Programm.\n");

    printf("\nWie sie sehen, kann 'printf' ");

    printf("nicht nur Texte drucken,\n);

    printf("sondern auch rechnen. \n\n"); 

    printf("13 * 7 = %i \n", 13 * 7);

 }

und wenn ich kompilieren will dann kommen mehrer Error's. Die Entwicklungsumgebung mit der ich arbeite heisst Pelles C IDE. Ich habe mir diese ausgesucht, weil ich von mehreren Personen gehoert habe, dass sie anfaengerfreundlicher ist. Ich hoffe ihr koennt mir weiterhelfen.

Die Error's die mir angezeigt werden:

C:\Users\Amir x Lumpi\Desktop\fail\erstes Programm.c(6): error #1040: Unterminated string or char constant.

C:\Users\Amir x Lumpi\Desktop\fail\erstes Programm.c(3): warning #2099: Missing type specifier; assuming 'int'.

C:\Users\Amir x Lumpi\Desktop\fail\erstes Programm.c(3): warning #2117: Old-style function definition for 'main'.

C:\Users\Amir x Lumpi\Desktop\fail\erstes Programm.c(7): error #2140: Type error in argument 1 to 'printf'; expected 'const char * restrict' but found 'int'.

C:\Users\Amir x Lumpi\Desktop\fail\erstes Programm.c(7): error #2001: Syntax error: expected ')' but found ';'.

* Fehlercode: 1 * Fertig.

programmieren, linker, Informatik, Programmiersprache, C (Programmiersprache), Erzeuger, kompilieren, Quellcode
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

Meistgelesene Beiträge zum Thema Programmieren