Collapse column

Autor Thema: Makro für UserForm schreiben und Userform einfügen  (Gelesen 2389 mal)

Offline ELLY_ELLY

  • Newbie
  • *
  • Beiträge: 4
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2003
Makro für UserForm schreiben und Userform einfügen
« am: Mai 22, 2014, 11:28:01 Vormittag »
Hallo an alle Helfer,

ich habe leider kaum bis gar keine Ahnung von VBA und Makro in Excel. Ich muss für meinen Arbeitgeber einen Makro schreiben.

In einem Tabellenblatt soll ein "Button"/Userform dauerhaft erscheinen. Wenn man diesen anklickt sollen bestimmte Zellen aus dem ersten Tabellenblatt in genau die gleichen Zellen im zweiten Tabellenblatt  kopiert und eingefügt werden. Des Weiteren sollen diese Zellen im zweiten Tabellenblatt aufaddiert, also nicht überschrieben, werden.  :o Es handelt sich also um Zahlen.

Des Weiteren soll bei dem gleichen Klick das erste Tabellenblatt ausgedruckt und die komplette Datei gespeichert werden.

Außerdem weiß ich nicht, wie ich die UserForm dann in meinem Tabellenblatt einfügen kann.

Ich brauche ganz dringend eure Hilfe, da ich das leider alleine nicht hinbekomme  :(

Ich bin für jeden Lösungsvorschlag dankbar und beantworte gerne weitere Fragen. Auch Lösungsansätze sind gerne gesehen!

Vielen lieben Dank!  :)

ELLY_ELLY

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw: Makro für UserForm schreiben und Userform einfügen
« Antwort #1 am: Mai 22, 2014, 19:01:38 Nachmittag »
Zitat von: ELLY_ELLY link=topic=22952.msg24810#msg24810 =1400750881
ich habe leider kaum bis gar keine Ahnung von VBA und Makro in Excel. Ich muss für meinen Arbeitgeber einen Makro schreiben.
Da stellt ich zuallererst für mich einmal die Frage, wie dein Arbeitgeber dazu kommt, dir eine solche Aufgabe zu übertragen. Nach deiner eigenen Aussage hier bist du der doch nicht annähernd gewachsen. [Kopfschüttel]

Und der zweite Punkt: IMHO ist ein Forum für die Hilfe zur Selbsthilfe gedacht. DAS aber wird mit hoher Sicherheit eine 90%ige "Fremdleistung" durch die kostenlosen Helfer hier im Forum. Und das kann es nicht sein ... Ein gerüttelt Maß an Eigenleistung sollte schon gegeben sein. Und wenn du dann spezielle Fragen hast sind die Helfer hier gewiss gerne bereit, dir auf die Sprünge zu helfen.
Gruß
Günther

Offline ELLY_ELLY

  • Newbie
  • *
  • Beiträge: 4
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2003
Antw: Makro für UserForm schreiben und Userform einfügen
« Antwort #2 am: Mai 23, 2014, 09:28:05 Vormittag »
Hallo,

mein Arbeitgeben sieht es als eine Art Projekt für mich.

Ich habe bereits etliche Codes ausprobiert, aber nichts funktioniert und mit meinem nicht vorhandenen Wissen, weiß ich natürlich nicht einmal, ob es die richtigen sind.

Ich werde mich wohl irgendwie dadurch kämpfen müssen.

Vielen Dank trotzdem!  ;)

ELLY_ELLY

Offline ELLY_ELLY

  • Newbie
  • *
  • Beiträge: 4
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2003
Antw: Makro für UserForm schreiben und Userform einfügen
« Antwort #3 am: Mai 23, 2014, 10:20:16 Vormittag »
Das ist ein Code, den ich generiert habe, um bestimmte Zellen aus dem ersten Blatt ins zweite zu kopieren:

Private Sub CommandButton1_Click()
Dim Rng2Copy As Range, Rng2Paste As Range
   Dim aWerte()
   Set Rng2Copy = Sheets("05 2014").Range("C20:H20", "C24:H24", "C28:H28", "C32:H32", "C36:H36", "C40:H40", "C44:H44", "C48:H48", "C52:H52", "C56:I56", "C60:H60", "C60:H60", "C64:H64", "C68:M68", "C72:M72", "L20;L24", "L28;L32", "L34", "L36", "M36", "L40")
   Set Rng2Paste = Sheets("05 2014_Überischt").Range("C20:H20", "C24:H24", "C28:H28", "C32:H32", "C36:H36", "C40:H40", "C44:H44", "C48:H48", "C52:H52", "C56:I56", "C60:H60", "C60:H60", "C64:H64", "C68:M68", "C72:M72", "L20;L24", "L28;L32", "L34", "L36", "M36", "L40")
   If Sheets("05 2014").CheckBox1.Value = True Then
      aWerte() = Rng2Copy
      Rng2Paste = aWerte()
   End If
End Sub

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw: Makro für UserForm schreiben und Userform einfügen
« Antwort #4 am: Mai 23, 2014, 13:23:56 Nachmittag »
Hallo ELLY_ELLY,

hast Du denn den Code ausprobiert, heißt, läuft dieser?

Einige Tipps:
- Wenn Du im VBA-Editor auf das Schlüsselwort klickst und F1 drückst (z.B. Range), springt VBA automatisch zum Hilfethema.
- Den Datentyp immer explizit deklarieren, statt Dim aWerte() dann Dim aWerte() As Variant.
- Vollständige Referenzierungen: statt Sheets(...) dann eher ThisWorkbook.Sheets(...), die die Mappe ist das oberste Objekt
- Da es sich bei Dir um Tabellen handelt, eignet sich Worksheets besser, somit: ThisWorkbook.Worksheets(...)

Hast Du den Makrorekorder schon ausprobiert? Falls nein, den erreichst Du z.B. über ein Symbol unten links oder über die
Entwicklerregisterkarte (Menüband, "Entwickler") oder über "Ansicht" -> Makros. Möglichst wenig anderes bei einer Aufzeichnung
tun, als die Aktion, die Du durchführen möchtest. Anschließend kannst Du den Code in einem Modul anschauen.

Jetzt kommt aber ein aber: der Makrorekorder zeichnet vieles auf, was Du nicht benötigst. Eine Überarbeitung des Codes is unabdingbar.
UserFormen kann er nicht, er bringt Dich aber auf die Spur, wie die VBA-Funktionen heißen. PS: für das Aufaddieren beim Kopieren, schaue
mal bei "Inhalte einfügen" rein.

Gruß
« Letzte Änderung: Mai 23, 2014, 13:30:50 Nachmittag von maninweb »
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline ELLY_ELLY

  • Newbie
  • *
  • Beiträge: 4
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2003
Antw: Makro für UserForm schreiben und Userform einfügen
« Antwort #5 am: Mai 26, 2014, 10:11:06 Vormittag »
Hallo,

vielen Dank für die Tipps. Leider funktioniert es nicht so, wie ich das möchte. Wenn ich die Userform anklicke, bekomme ich einen Laufzeitfehler 450. Also scheint noch etwas falsch zu sein. Ich habe Sheets (...) durch ThisWorkbook.Worksheets (...) ersetzt.

Den Rekorder habe ich bereits ausprobiert, aber das klapt irgendwie gar nicht  :-\

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.