Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Excel Makro Zellen kopieren und durch Usereingabe einfügen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Excel Makro Zellen kopieren und durch Usereingabe einfügen (1935 mal gelesen)
notwist
Mitglied
Konstrukteur

Sehen Sie sich das Profil von notwist an!   Senden Sie eine Private Message an notwist  Schreiben Sie einen Gästebucheintrag für notwist

Beiträge: 6
Registriert: 21.11.2013

erstellt am: 21. Nov. 2013 12:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ich bin nicht sehr bewandt in VBA-Programmierung. Ein ähnliches Thema habe ich auch im Forum hier nicht gefunden, daher der neue Thread.

Momentan versuche ich mit Bordmitteln (also Rekorder und minimalen Fähigkeiten des ändern von Codes) ein Makro hinzukriegen.

Ich möchte gerne die ausgewählte Zelle kopieren und deren Wert durch Auswahl einer Zelle (die immer verschieden ist) den Wert dort einfügen.

Meine Frage ist jetzt:
Ist es mit Bordmitteln überhaupt möglich?
Bzw. habt ihr dann einen Gedankenanstoss für dieses Problem?

Danke schonmal fürs Lesen. 

T.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

carsten-3m
Mitglied
Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)


Sehen Sie sich das Profil von carsten-3m an!   Senden Sie eine Private Message an carsten-3m  Schreiben Sie einen Gästebucheintrag für carsten-3m

Beiträge: 950
Registriert: 08.05.2007

Excel 2010

erstellt am: 21. Nov. 2013 13:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für notwist 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von notwist:
Ist es mit Bordmitteln überhaupt möglich?
Ja, und zwar mit den Windows Standardfunktionen Kopieren und Einfügen. Gut, Du möchtest etwas mehr, dafür ist aber Deine Problembeschreibung noch zu lückenbehaftet. Bitte genauer beschreiben worum's geht.

------------------
Gruß, Carsten

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

notwist
Mitglied
Konstrukteur

Sehen Sie sich das Profil von notwist an!   Senden Sie eine Private Message an notwist  Schreiben Sie einen Gästebucheintrag für notwist

Beiträge: 6
Registriert: 21.11.2013

erstellt am: 21. Nov. 2013 13:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Carsten,

okay, war wohl wirklich etwas zu unausführlich.

Ich habe eine Checkliste mit verschiedensten Einträgen.
In einer Zelle bündele ich diese Informationen zusammen, weil ich sie dann in eine ToDo-Liste kopieren möchte.
In dieser ToDo-Liste möchte ich auswählen, wohin dieser Zelleninhalt kopiert werden soll. Der ist immer ein anderer.

Also markiere ich diese Zelle, in der die Info gesammelt wird, in meiner Checkliste, drücke einen Button mit dem Makro, wähle die Zielzelle aus und dort soll der Wert der eingefügt werden.

Ich habe auch ganz dilletantisch schon mal einen Code gesucht, der aber nicht wirklich funktioniert, bzw. beim Ausführen des Makros in der Zelle, in der (=A1&A2...) gesammelt wird, kommt "Laufzeitfehler '13' Typen unverträglich"
_______________________
Sub ChecklisteUebertragen()

Dim Ziel

Set Ziel = Application.InputBox("Ziel auswählen", , ActiveCell, , , , , 8)

Ziel.Value = ActiveCell.Value

Worksheets(Ziel.Worksheet.Name).Activate 'ggf löschen

Ziel.Select 'ggf löschen

End Sub
_____________________

Was genau am Code nicht funktioniert, weiß ich nicht.
Vielleicht gibt es ja über den Makrorekorder eine Möglichkeit?
Da würde ich es schaffen, allerdings die Usereingabe, die krieg ich nicht hin.

T.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

carsten-3m
Mitglied
Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)


Sehen Sie sich das Profil von carsten-3m an!   Senden Sie eine Private Message an carsten-3m  Schreiben Sie einen Gästebucheintrag für carsten-3m

Beiträge: 950
Registriert: 08.05.2007

Excel 2010

erstellt am: 21. Nov. 2013 13:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für notwist 10 Unities + Antwort hilfreich

Grundsätzlich ließe sich ein solcher Mechanismus wohl programmieren, aber... es ginge immer noch mehr als simpel mit STRG+C und STRG+V.

Es muss augenscheinlich etwas mehr dahinter stecken als Du uns hier verätst. Erzähl doch mal bitte, warum Du "unbedingt" ein Makro benötigst für Funktionen, die Windows (und Excel natürlich auch) als Standard bereits mitbringen. Ich kanns mir derzeit einfach noch nicht erklären. Vielleicht muss eine komplexere Werttranformation (von der hier nichts steht) erfolgen oder was weiß ich. Einfach Kopieren und Einfügen kanns doch wohl nicht sein, oder?

------------------
Gruß, Carsten

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

notwist
Mitglied
Konstrukteur

Sehen Sie sich das Profil von notwist an!   Senden Sie eine Private Message an notwist  Schreiben Sie einen Gästebucheintrag für notwist

Beiträge: 6
Registriert: 21.11.2013

erstellt am: 21. Nov. 2013 13:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Okay, prinzipiell hast du recht.
Es sollen an der Liste jedoch mehrere Leute arbeiten.
Und ich möchte einfach vermeiden, dass mir Formatierungen verloren gehen, bzw. ich nacharbeiten muss.


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

carsten-3m
Mitglied
Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)


Sehen Sie sich das Profil von carsten-3m an!   Senden Sie eine Private Message an carsten-3m  Schreiben Sie einen Gästebucheintrag für carsten-3m

Beiträge: 950
Registriert: 08.05.2007

Excel 2010

erstellt am: 21. Nov. 2013 15:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für notwist 10 Unities + Antwort hilfreich

Aha, jetzt kann ich zumindest Deinen Gedankengang nachvollziehen.

Denkbarer einfacher Lösungsansatz:
- Nutzer kopiert herkömmlich (Auswahl Quellezelle und STRG+C oder gängige Alternative)
- Nutzer wählt Zielzelle
- Nutzer klickt Button zum Einfügen Spezial "nur Werte"

Denkbarer aufwändiger Lösungsansatz:
- Nutzer wählt Quellzelle
- Nutzer klickt Button
- Programm kopiert Daten der Quellzelle
- Programm wartet auf Auswahl der Zielzelle
- Nutzer wählt Zielzelle
- Programm erkennt das (Ereignisüberwachung)
- Programm fügt Werte in Zielzelle ein (Einfügen Spezial "nur Werte")

Die einfache Lösung könnte mit Makroaufzeichnung und sehr geringer Nacharbeit erzeugt werden. Die aufwändige (von der ich meine, dass sie programmierbar ist, ohne es im Detail zu wissen) würde insbesondere Wissen zu korrekter Ereignisauswertung erfordern.

------------------
Gruß, Carsten

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

notwist
Mitglied
Konstrukteur

Sehen Sie sich das Profil von notwist an!   Senden Sie eine Private Message an notwist  Schreiben Sie einen Gästebucheintrag für notwist

Beiträge: 6
Registriert: 21.11.2013

erstellt am: 21. Nov. 2013 15:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Gut. 

Also ich hatte ja auch mal versucht, den einfachen Lösungsansatz im Rekorder zu realisieren.

Folgende Schritte sind ja kein Problem.
- Nutzer wählt Quellzelle
- Nutzer klickt Button
- Programm kopiert Daten der Quellzelle

Der Schritt hier, den krieg ich wohl nicht so einfach rein, oder?

- Programm wartet auf Auswahl der Zielzelle
- Nutzer wählt Zielzelle
- Programm erkennt das (Ereignisüberwachung)
- Programm fügt Werte in Zielzelle ein (Einfügen Spezial "nur Werte")

Also gibt es hierzu Tutorials oder Input in Form von hilfreichen Hinweisen?
Ich wüsste nicht mal, wie ich anfangen soll...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

.....
Mitglied



Sehen Sie sich das Profil von ..... an!   Senden Sie eine Private Message an .....  Schreiben Sie einen Gästebucheintrag für .....

Beiträge: 433
Registriert: 01.07.2011

erstellt am: 21. Nov. 2013 16:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für notwist 10 Unities + Antwort hilfreich

Du suchst sowas?
Code:
Sub BenutzerWahl()
Dim ZielZelle As Range
    Set ZielZelle = Application.InputBox(prompt:="Bereich eingeben oder mit Maus wählen", Type:=8)
    MsgBox ZielZelle.Address
End Sub

>> Also gibt es hierzu Tutorials oder Input in Form von hilfreichen Hinweisen?
Ich wüsste nicht mal, wie ich anfangen soll...

Bei google 
Im Ernst, es gibt haufenweise Tutorials zum Thema VBA-Einstieg, bleibt nur noch der Tipp: Üben, üben, üben.
Viel Erfolg 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

notwist
Mitglied
Konstrukteur

Sehen Sie sich das Profil von notwist an!   Senden Sie eine Private Message an notwist  Schreiben Sie einen Gästebucheintrag für notwist

Beiträge: 6
Registriert: 21.11.2013

erstellt am: 21. Nov. 2013 16:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Okay.
Danke.

Wenn ich noch einen kleinen Gedankenanstoss kriegen könnte, wie ich jetzt die gewählte Zelle da in meine Kopierfunktion integriere?
Also, dann wär das super 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

.....
Mitglied



Sehen Sie sich das Profil von ..... an!   Senden Sie eine Private Message an .....  Schreiben Sie einen Gästebucheintrag für .....

Beiträge: 433
Registriert: 01.07.2011

erstellt am: 21. Nov. 2013 16:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für notwist 10 Unities + Antwort hilfreich

Zum Beispiel so:
Code:
Option Explicit

Sub BenutzerWahl()
Dim QuellZelle As Range
Dim ZielZelle As Range
    Set QuellZelle = Application.InputBox(prompt:="Quelle eingeben oder mit Maus wählen", Type:=8)
    Set ZielZelle = Application.InputBox(prompt:="Ziel eingeben oder mit Maus wählen", Type:=8)
    QuellZelle.Worksheet.Activate
    QuellZelle.Copy
    ZielZelle.Worksheet.Activate
    ZielZelle.Select
    Selection.PasteSpecial
Application.CutCopyMode = False
End Sub



Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 22. Nov. 2013 09:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für notwist 10 Unities + Antwort hilfreich

Hallo zusammen,

ggf. lässt sich mit Blattschutz-Einstellungen etwas Ähnliches erreichen. Beim "normalen" Copy+Paste werden i. d. R. Formatierungen übernommen.

(Persönliche Meinung an: Quelle - Strg+C - Ziel - Strg+V ist so ziemlich das Schnellste, was es gibt. Makros verwirren die Nutzer, Sicherheitseinstellungen müssen gewählt werden, der Anwender muss gefühlte 37x klicken für das gleiche Ergebnis. Ich würde bei Bordmitteln bleiben, C+P bzw. Kontextmenü der rechten Maustaste sollte doch auch der DAU kennen  .)

------------------
DIN1055.de  |  Lastannahmen für Anwender

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

notwist
Mitglied
Konstrukteur

Sehen Sie sich das Profil von notwist an!   Senden Sie eine Private Message an notwist  Schreiben Sie einen Gästebucheintrag für notwist

Beiträge: 6
Registriert: 21.11.2013

erstellt am: 22. Nov. 2013 12:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

erstmal Danke für den Input. Ich bieg mir das gerade noch bestmöglich zurecht.

Paulchen stimm ich schon zu, dass sowas auch der DAU wissen sollte, aber auch der nicht immer.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 22. Nov. 2013 12:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für notwist 10 Unities + Antwort hilfreich

ich bin auch auf dem Standpunkt -User aufschlauen ;-)

Ansonsten halte ich das Excelsheet so einfach wie möglich und verzichte auf Spielereien, wie
aufwändige Fomate, Bedingte Formatierungen etc.

leider dann man das Paste nicht abfangen, das wäre sicherlich das einfachste 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz