Office: Zelleninhalt/Ergebnis in andere Zelle Kopieren

Helfe beim Thema Zelleninhalt/Ergebnis in andere Zelle Kopieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hey, ich möchte auf Tabellenblatt A einen Wert berechnen z.b. eine Gewinnaufteilung. Als Ergebnis bekomme ich 3 Namen und 3 "%te" zurück. Nun möchte... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Amakido, 7. Mai 2006.

  1. Amakido Erfahrener User

    Zelleninhalt/Ergebnis in andere Zelle Kopieren


    Hey,

    ich möchte auf Tabellenblatt A einen Wert berechnen z.b. eine Gewinnaufteilung. Als Ergebnis bekomme ich 3 Namen und 3 "%te" zurück. Nun möchte ich das Ergebnis nicht von Hand von Tabellenblatt A (nur zum berechnen), in das Daten-Blatt (TabellenBlatt B) übertragen, sondern möchte das mit einer Funktion erledigen.
    Zudem soll das aber keine Verknüpfung sondern eine Art von kopieren des Ergebnisses sein.

    wie könnte man das am besten erledigen? ( Alle Daten-Blätter sind identisch aufgebaut )

    Gruß Amakido
     
    Amakido, 7. Mai 2006
    #1
  2. Michael
    Michael Administrator
    Es gibt keine Funktion kopieren. Wenn Du keine Verknüpfung möchtest kannst Du nur mit einem Makro kopieren. Hier mal ein kleines Beispiel:

    Code:
    Sub Makro1()
        Range("A1:C6").Select
        Selection.Copy
        Sheets("Tabelle2").Select
        Range("A1").Select
        ActiveSheet.Paste
    End Sub
    
    Das Makro kopiert den Bereich A1-C& in dem aktiven Blatt. Dann geht es in Tabelle2 und Zelle A1 und fügt das eben kopierte ein.

    Gruß
    Michael
     
    Michael, 7. Mai 2006
    #2
  3. Amakido Erfahrener User
    Hey,

    da ich noch nie mit Makros gearbeitet habe werde ich wohl sicher noch etwas mehr Hilfestellung benötigen. Was habe ich gemacht?:

    ich habe eine Testmappe erstellt und einen Button von der StuerkommandoToolbox genommen. Dann landete ich mit Doppelkick auf den Button -> Microsoft Visual Basic Quelltexteingabe und habe dann folgendes eingegeben:

    Code:
    Private Sub CommandButton1_Click()
        Range("A1:B4").Select
        Selection.Copy
        Sheets("Tabelle2").Select
        Range("A1").Select
        ActiveSheet.Paste
    End Sub
    

    in der Tabelle auf "Tabelle1" stehen test-Zahlen drin und durch die Funktion sollen mir jetzt diese Zahlen auf das nächste Tabellenblatt "Tabelle2" kopiert werden. Doch wenn ich den Entwurfsmodus verlasse, und auf den Button klicke kommt folgender Fehler:


    Laufzeitfehler '1004':
    Die Select -Methode des Range-Objektes konnte nicht ausgeührt werden.

    Zudem soll es möglich sein das der Benutzer selber bestimmt in welches Tabellenblatt das Kopierte hin kommt ... wäre es möglich eine kleine Benutzerschnittstelle zu schaffen das der Benutzer ein Tabellenblatt angeben kann? Wie würde das ausehen?
     
    Amakido, 7. Mai 2006
    #3
  4. freaky
    freaky Erfahrener User

    Zelleninhalt/Ergebnis in andere Zelle Kopieren

    Hi,

    dann hier mal eine Variante ohne das Select:

    Code:
    Private Sub CommandButton1_Click()
    Dim Zelle, Blattname
    Dim i As Long
    Dim Tabelle As Boolean
    
    Blattname = InputBox("Bitte den Tabellennamen eingeben: ")
    
    For i = 1 To ActiveWorkbook.Sheets.Count
        If Blattname = ActiveWorkbook.Sheets(i).Name Then
           Tabelle = True
        End If
    Next
    
    If Tabelle Then
        For Each Zelle In Selection
            ActiveWorkbook.Sheets(Blattname).Range(Zelle.Address) = Zelle
        Next
    Else
        MsgBox "Keine oder falsche Tabelle eingegeben!"
        Exit Sub
    End If
    
    End Sub
    Du bekommst ein Eingabeaufforderung für den Tabellenblattnamen. Wenn das richtige angegeben wird (Groß- und Kleinschriebung beachten!) wird der markierte Bereich genau auf dieses Tabellenblatt übertragen.

    So war es doch gemeint...denn die Tabellen sind doch identisch vom Aufbau...
     
    freaky, 7. Mai 2006
    #4
  5. Amakido Erfahrener User
    danke freaky,

    funktioniert super. ist es auch möglich ohne dieses "extra-Fenster" ? dh. das er das Ziel aus einer Angabe in einer Zelle nehmen kann?



    für den Benutzer:

    Ziel: [Eingabe] (absendenButton)



    Danke,

    Gruß Amakido
     
    Amakido, 7. Mai 2006
    #5
  6. freaky
    freaky Erfahrener User
    Hallo,

    klar- dann musst du nur den Zelleninhalt der Variablen "Blattname" zuordnen:

    statt dieser Zeile:

    Code:
    Blattname = InputBox("Bitte den Tabellennamen eingeben: ") 
    dann diese Zeile einfügen:

    Code:
    Blattname = Range("G5")
    Dann wird der Wert aus der Zelle "G5" genommen...
     
    freaky, 8. Mai 2006
    #6
  7. Amakido Erfahrener User
    gut das Problem wäre damit gelöst... jetzt gibts aber noch ein anderes. Es gibt ein "Berechnungsblatt" und die vielen Datenblätter. Im Berechnungsblatt werden die zu kopierenden Daten erstellt, und sollen dann in das (ein) bestimmte Datenblatt übertragen werden. Alle Datenblätter sehen gleich aus (identischer Aufbau)... aber er weicht vom Aufbau des Berechnungsblattes ab somit müsste man noch ein "Ziel" können wo die Daten in das Datenblatt eingefügt werden sollen...


    Gruß Amakido
     
    Amakido, 8. Mai 2006
    #7
  8. freaky
    freaky Erfahrener User

    Zelleninhalt/Ergebnis in andere Zelle Kopieren

    Hi,

    ...dann wird alles doch viel komplizierter.

    Wäre es nicht einfacher, die Struktur der zu übertragenden Zellen einfach den anderne Tabellenblättern anzupassen bzw. auf dem Berchnungsblatt den Aufbau anpassen? Dann wäre doch das Ziel wieder identisch...

    Ist denn das Ziel immer gleich . dann kannst du doch das Ziel fest benennen oder? Wenn dann aber wieder die Markierung von dem festen Bereich anweicht gibt es Fehlermeldungen....
     
    freaky, 8. Mai 2006
    #8
  9. Amakido Erfahrener User
    Das Arbeitsblatt in dem die Berechnung vorgenommen werden, ist von so grundlegend anderer Formatierung das eine Anpassung unmöglich ist. Das Ziel dh. die Ziel-Zellen sind von der Position im Datenblatt immer gleich da alle Datenblätter identisch sind. das einzige was sich unterschiedet ist halt der Name des Datenblattes.
    Zudem sollen aber nicht alle Datenblätter dann den selben Inhalt (in den Zellen) haben ... ich möchte schon verschiedene Ergebnisse in verschiedenen Datenblättern eintragen und damit festhalten können.
     
    Amakido, 8. Mai 2006
    #9
  10. freaky
    freaky Erfahrener User
    Hi,

    ok - dann teste ich nachher noch mal.... ;-)
     
    freaky, 8. Mai 2006
    #10
  11. freaky
    freaky Erfahrener User
    Hallo,

    dann hier mal ein etwas komplexere Lösung:

    Code:
    Private Sub CommandButton1_Click()
    Dim Zelle, Blattname, Ziel
    Dim i As Long, x As Long
    Dim Tabelle As Boolean
    Dim Altrg As Range, Neurg As Range
    Dim Mldg
    
    Set Altrg = Selection
    
    If Altrg.Cells.Count < 1 Then
        MsgBox "Kein Bereich ausgewählt! ...Abbruch!"
        Exit Sub
    End If
    
    Blattname = InputBox("Bitte den Tabellennamen eingeben: ")
    
    For i = 1 To ActiveWorkbook.Sheets.Count
        If Blattname = ActiveWorkbook.Sheets(i).Name Then
           Tabelle = True
        End If
    Next
    
    If Tabelle Then
        ActiveWorkbook.Sheets(Blattname).Activate
        Mldg = "Quellbereich: Zellbereich: " & Altrg.Address & Chr(13) & _
                "Anzahl der Zellen: " & Altrg.Cells.Count & Chr(13) & _
               "Bitte den Zielbereich in der Tabelle " & Blattname & _
               " (gleiche Anzahl an Zellen) angeben (z.B. C2:E2): "
        Ziel = InputBox(Mldg)
        
        If Ziel = "" Then
            MsgBox "Keine Zieleingabe ....Abbruch!", vbCritical
            Exit Sub
        End If
        
        Set Neurg = ActiveWorkbook.Sheets(Blattname).Range(Ziel)
        
        If Altrg.Cells.Count <> Neurg.Cells.Count Then
            MsgBox "Die angegebenen Bereiche stimmen nicht überein! ...Abbruch!", vbCritical
            Exit Sub
        End If
        
        For x = 1 To Altrg.Cells.Count
            For i = 1 To Neurg.Cells.Count
                If x = i Then
                    Neurg.Cells(i) = Altrg(x)
                    Exit For
                End If
            Next
        Next
    Else
        MsgBox "Keine oder falsche Tabelle eingegeben!"
        Exit Sub
    End If
    
    End Sub
    Schau es Dir mal an, wie es funktioniert.... Es sind halt einige Fehlerroutinen mit eingebaut. ;-)
     
    freaky, 8. Mai 2006
    #11
  12. Amakido Erfahrener User
    danke bist nen Schatz, ich werde es ausprobieren und dann hier posten... bin zur zeit etwas im Stress.

    Danke :)


    Gruß Amakido

    Edit:

    ich noch mal, habe deinen Quelltext etwas umgeschrieben so das er genau das macht was ich mir vorstelle ... es wird der Fehler abgefangen ob als Zieltabelle ein Falscher oder kein Wert eingetragen wird, an sonsten ist die Sache weitestgehend ohne "infoboxen". Falls ich einen grobe Ausnahme übersehen / nicht beachtet habe kannst gerne mal nachschauen. Danke für den Code ... jetzt ist es genau das was ich suche :)

    Code:
    
    Private Sub CommandButton1_Click()
    Dim Blattname
    Dim i As Long, x As Long
    Dim Tabelle As Boolean
    Dim Altrg As Range, Neurg As Range
    
    Set Altrg = Range("A1:C3")
    
    If Altrg.Cells.Count < 1 Then
        MsgBox "Kein Bereich ausgewählt! ...Abbruch!"
        Exit Sub
    End If
    
    Blattname = Range("A6")
    
    For i = 1 To ActiveWorkbook.Sheets.Count
        If Blattname = ActiveWorkbook.Sheets(i).Name Then
           Tabelle = True
        End If
    Next
    
    If Tabelle Then
        ActiveWorkbook.Sheets(Blattname).Activate
        Set Neurg = ActiveWorkbook.Sheets(Blattname).Range("A1:C3")
         
        For x = 1 To Altrg.Cells.Count
            For i = 1 To Neurg.Cells.Count
                If x = i Then
                    Neurg.Cells(i) = Altrg(x)
                    Exit For
                End If
            Next
        Next
    Else
        MsgBox "Keine oder falsche Tabelle eingegeben!"
        Exit Sub
    End If
    
    End Sub
    
    
    ich habe die Abfragen die über eine "box" abläuft gleich als Range("..") angegeben da die Quell- und die Zielzellen schon bekannt sind nur der Name des Blattes wird vom Benutzer noch abgefragt und dort findet dann auch eine Fehlerbehandlung statt.

    Danke noch einmal...

    Gruß Amakido
     
    Amakido, 8. Mai 2006
    #12
  13. Amakido Erfahrener User

    Zelleninhalt/Ergebnis in andere Zelle Kopieren

    Hi,

    ich noch einmal...

    ich habe meinen letzten Post "editiert" aber ich weiß nicht ob auf eine Veränderung des letzten Post reagiert wird daher erstelle ich einen neuen... mit den 2 kleinen Dingen hier:

    1) erst funktioniert alles super und wenn ich das Projekt ein zweites Mal (nach Einfügen des Makros starte) kommt immer die Meldung "Makros sind in diesem Projekt deaktiviert" aber auch wenn ich die Sicherheit auf "niedrig" schiebe ... bleibt die Meldung vorhanden und ich kann nicht aus dem Entwurfsmodus heraus. ... ein Zertifikat hab ich eh nicht das ich ranhängen könnte, oder doch? wie komm ich mich um das Problem drücken.

    2)... habe ein Programm gefunden mit dem man eigene Zertifikate erstellen kann ... ist gleich bei Office mit bei "Selfcert.exe" würdest du das auch empfehlen oder hättest du eine andere Lösung, da dort irgend etwas von (ausschließlich für privaten Gebrauch) drinsteht?
     
    Amakido, 9. Mai 2006
    #13
  14. freaky
    freaky Erfahrener User
    Hi,

    erstmal zur Veränderung des Codes:

    Wenn Du z.B. den Bereich fest definierst brauchst Du die ganzen Abfragen nach den Zellen nicht mehr. Das habe ich nur eingebaut, falls jemand was falsches eingibt oder markiert. Das kann weg:

    Code:
    If Altrg.Cells.Count < 1 Then 
        MsgBox "Kein Bereich ausgewählt! ...Abbruch!" 
        Exit Sub 
    End If 
    Dann wirds nochmal etwas schlanker...


    Deine Fehlermeldung wird wenig mit dem Code zu tun haben. Kann ich mir jedenfalls nicht vorstellen. Vielleicht ist da noch ein anderer Fehler. Der Bereich, der übertragen wird, ist ja so groß auch wieder nicht.


    Nun zu der Geschichte mit den Zertifikaten:

    "Selfcert.exe" erstelt zwar ein eigenes Zeretifikat. Das ist aber nicht zu vergleichen mit den Zertifikaten, dei man kostenpflichtig beziehen kann.

    Mit diesem Zertifikat kannst du Dein Makro signieren - das ist aber praktisch nichts Wert. Du musst das Zwertifikat auf jeden PC praktisch registrieren udn als vertrauenswürdig einstufen (manuell!). Doch wenn jemand den VBA-Editor öffnet und dann nur eine Kommentar zufügt ist die Signatur weg. Diese Signatur dient lediglich dazu, anzuzeigen, wer das Makro erstellt hat. Mehr kann das System nicht.

    Zufriedenstellend wirst Du sowas damit nicht in den Griff bekommen. Da das auch alles recht umständlich ist würd eich mir die Arbeit sparen...

    Schau dir mal diese Seite dazu an:
    http://office.microsoft.com/de-de/assistance/HP052495551031.aspx

    und so wird es dann entfernt:
    http://office.microsoft.com/de-de/assistance/HP030849481031.aspx

    Und hier nochmal was zur Erklärung:
    http://office.microsoft.com/de-de/assistance/HP052495581031.aspx

    Die selbst erstellten Zertifikate sind IMHO überflüssig...

    Ich rate ienfach alle Sicherheitsstufen in Office auf niedrig zu stellen. Das ist eine von Microsoft vorgegaukelte Sicherheit. Letzlich wird nur das ausführen von Makros ggf. geblockt - aber Makroviren sollte jedes vernünftig abgesichertes System/Virewnprogramm ohne Probleme meistern können. Und mehr machen diese "Sicherheitsstufen" nicht....
     
    freaky, 10. Mai 2006
    #14
  15. Amakido Erfahrener User
    Hey,

    ich habe mir alles durchgelesen, ich denke mal jetzt sollten alle Probleme die hier auftauchten gelöst sein... und möchte mich für deine tolle Unterstützung bedanken und wenn du möchtest, kannst du dir gern einmal die "Arbeit" anschauen unter www.MeineKleineEcke.de . Dort findest du mehrere Link, du solltest den Link: HF_Maske mit Daten [Makro] in gepackter oder ungepackter Version herunter laden. Im Arbeitsblatt (AnteilRechner) unter Punkt "Auswertung" ist der Button zur Übertragung der Namen + %te und die Eingabe des Zielblattes. Falls du es dir anschaust, würde ich mich über deine Meinung zum Projekt freuen (Aufbau / Struktur / Farben / Kommentare / ...) , obgleich dir der Sinn des ganzen klar wird ;-)


    Vielen Dank

    Gruß Amakido
     
    Amakido, 10. Mai 2006
    #15
Thema:

Zelleninhalt/Ergebnis in andere Zelle Kopieren

Die Seite wird geladen...
  1. Zelleninhalt/Ergebnis in andere Zelle Kopieren - Similar Threads - Zelleninhalt Ergebnis Zelle

  2. csv Import Tabelle mit viel Inhalt in einer Zelle

    in Microsoft Excel Hilfe
    csv Import Tabelle mit viel Inhalt in einer Zelle: Hallo, ich habe bei mir auf Arbeit ein sehr altes Informationssystem in dem wir unser Aktenarchiv organisiert haben. In diesem Archivsystem sind Informationen enthalten wie der zeitliche Umfang...
  3. Tabellennamen zusammensetzen

    in Microsoft Excel Hilfe
    Tabellennamen zusammensetzen: Hallo, leider habe ich bisher nicht den richtigen Hinweis gefunden, daher meine Bitte ob einer von euch mir weiterhelfen kann. Ich habe unterschiedliche Blätter, aber alle mit dem gleichen...
  4. Zellinhalt mit Dateien vergleichen ob vorhanden

    in Microsoft Excel Hilfe
    Zellinhalt mit Dateien vergleichen ob vorhanden: Hallo, ich bin neu hier. Nachdem ich stundenlang vergeblich im Internet nach einer Lösung suchte, hoffe ich hier Hilfe zu bekommen. Ich arbeite noch mit Excel 2010. Mein Problem: Ich habe eine...
  5. Zelleninhalt lässt sich nicht löschen

    in Microsoft Excel Hilfe
    Zelleninhalt lässt sich nicht löschen: Hallo, ich bin neu hier im Forum und hoffe ihr könnt mir weiterhelfen. Ich habe folgendes Problem: Ich habe einen Zelleninhalt den ich nicht aus meiner Tabelle löschen kann. Soll heißen ich...
  6. bestimmten Zelleninhalt formatieren

    in Microsoft Excel Hilfe
    bestimmten Zelleninhalt formatieren: Hallo zusammen, ich bastel mit gerade ein Protokolltool in Excel. Um Aufgaben besser zuwesien und sichtbar zu machen würde ich gerne die Verantwortlichen Farbig markieren Ich hab mir angewohnt...
  7. Zeilen über Kontrollkästchen und abhängig von Zelleninhalt ausblenden

    in Microsoft Excel Hilfe
    Zeilen über Kontrollkästchen und abhängig von Zelleninhalt ausblenden: Hallo, ich habe eine Liste mit 30 Platzhaltern (=Zeilen 11:41) um Nutzer anzulegen. In Zelle C7 wird mir automatisch die Summe der Nutzer angezeigt, wenn die Nutzernamen in die Zeilen eingetragen...
  8. Nicht anzeigen von Zelleninhalt

    in Microsoft Excel Hilfe
    Nicht anzeigen von Zelleninhalt: Hallo, ich habe mal wieder ein kleines Problem. :confused: Ich habe in einer Spalte verschiedene Zellen zusammen zählen lassen. Es funktioniert bei mir mit Summewenn oder Zählewenn, da nur eine 0...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden