Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  button inkl. makro kopieren

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:  button inkl. makro kopieren (13665 mal gelesen)
Markus 1979
Mitglied
Holztechniker/ Konstruktion & AV


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

Beiträge: 48
Registriert: 13.09.2007

Auto Cad 2006/2008
Excel 2007

erstellt am: 09. Feb. 2012 09:01    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


Materialaufstellung.xlsm.txt


Stückliste1.xlsm.txt

 
guten Morgen,

ich habe eine Frage zu meinem Makro

zur Beschreibung:
Ich habe 2 verschiedene Arbeitsmappen:
1. Materialaufstellung, hier sind im Tabellenblatt "Zukaufteile" meine gesamten Zukaufteile als Daten hinterlegt.
2. Stückliste, hier trage ich die Projekt-/Auftragsbezogenen Daten ein, z.B. in das Tabellenblatt "Einkauf"
damit die Mappe Stückliste nicht zu groß wird, möchte ich nur die Benötigten Daten aus der Mappe Materialaufstellung "Zukaufteile" in die Mappe Stückliste "Einkauf" kopieren.
Hierzu habe ich ein Makro das von der Mappe Stückliste Automatisch in die Mappe Materialaufstellung "Zukaufteile" wechselt.

Private Sub CommandButton1_Click()
ActiveWindow.ActivateNext
    Sheets("Zukaufteile").Select
End Sub

und eins was mir die Daten aus einer Zeile in die Mappe Stückliste "Einkauf" kopiert

Private Sub CommandButton1_Click()
'Zukaufteil kopieren
Range("c7:y7").Select
Selection.Copy
ActiveWindow.ActivateNext
    Sheets("Einkauf").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
ActiveCell.Offset(0, 1).Select
End Sub

so weit klappt das auch gut, aber ich müsste diesen Button in jeder Zeile neu erstellen, da ich ja immer auf die jeweilige Zeile verweise, "c7:y7"

gibt es die möglichkeit einen Button mit Makro so zu erstellen, das ich Ihn nur in die Zeilen Kopieren muss, der sich dann auf die eingefügte Zeile bezieht??

gruß

Markus

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

StefanBerlitz
Ehrenmitglied V.I.P. h.c.
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 09. Feb. 2012 10:05    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 Markus 1979 10 Unities + Antwort hilfreich

Hallo Markus,

ich glaub so was, wie dir vorschwebt, geht nicht so einfach. Du könntest [i]einen[(i] Knopf machen, die Zelle aus der Zeile markieren, die du kopieren möchtest und dann in dem einen Knopf ermitteln, in welcher Zeile die Selektion ist.

Wenn du es mit vielen Knüpfen machen möchtest solltest du die eigentlich Funktion auslagern und über die Knöpf mit einem Parameter aufrufen. Beispiel:

Code:
Sub KopierMich(ByVal kopierzeile As Long)

    'Zukaufteil kopieren
    Range("c" & kopierzeile & ":y" & kopierzeile).Select
    Selection.Copy
    ActiveWindow.ActivateNext
        Sheets("Einkauf").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    ActiveCell.Offset(0, 1).Select

End Sub

Private Sub CommandButton1_Click()
    KopierMich (1)
End Sub

Private Sub CommandButton2_Click()
    KopierMich (2)
End Sub

Private Sub CommandButton3_Click()
    KopierMich (3)
End Sub



Steuerelementfelder, wie in VB, gibt es in VBA leider nicht. Deswgen muss du es etwas umständlicher machen.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

Comos User
Mitglied



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

Beiträge: 112
Registriert: 23.03.2010

erstellt am: 09. Feb. 2012 10:34    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 Markus 1979 10 Unities + Antwort hilfreich

Hallo Markus,


1. kugst du hier: http://www.online-excel.de/excel/singsel_vba.php?f=61 [rredit] link repariert [/rredit]

2.  

Zitat:
gibt es die möglichkeit einen Button mit Makro so zu erstellen, das ich Ihn nur in die Zeilen Kopieren muss, der sich dann auf die eingefügte Zeile bezieht??

- mit Application.caller bekommst du den namen des Aufrufers (also des Buttons)
- dieser hatt eine Eigenschaft "TopLeftCell", wie der name vermuten läßt die zelle der linken oberen Ecke.
- Zeile ermitteln (EntireRow) und darin den Bereich C bis Y

also aus:

Code:
Range("c7:y7").Select
Selection.Copy
wird
Code:
ActiveSheet.Buttons(Application.Caller).TopLeftCell.EntireRow.Range("C1:Y1").Copy
Den rest des Codes unbedingt gemäß Punkt 1 nacharbeiten, besonders ActiveWindow.ActivateNext ist sehr anfällig. Du kannst nur schwer kontrollieren wer den nun der nächste ist.

Gruß
Peter

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

Markus 1979
Mitglied
Holztechniker/ Konstruktion & AV


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

Beiträge: 48
Registriert: 13.09.2007

Auto Cad 2006/2008
Excel 2007

erstellt am: 09. Feb. 2012 12:05    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

schönen Dank erstmal,

@ Stefan:
Ich habe dein Makro eingefügt und klappt eigentlich ganz gut.
hierbei brauche ich nur die Zahl in der Klammer zu ändern, auf die Zeile, in der der Button liegt.
eine Erleichterung der ganzen Sache ist es ja schon, wenn mal 100, 200 Zeilen damit ausstattet, nur ich muss dabei auch noch zu fuß gehen und die einzelnen Zahlen auf die Zeilen Abstimmen.
@Peter
den Beitrag aus deinem link habe ich jetzt nur überflogen, werde mir den heute abend mal genauer ansehen.

die Zeilen habe ich ausgetauscht, dabei kam die Fehlermeldung:
Laufzeitfehler '1004':
Die Buttons-Eigenschaft des Worksheet-Objektes kann nicht zugeordnet werden.

werde nachher nochmal genauer ausprobieren woran es liegen könnte.

gruß
Markus

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

Comos User
Mitglied



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

Beiträge: 112
Registriert: 23.03.2010

erstellt am: 09. Feb. 2012 13:36    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 Markus 1979 10 Unities + Antwort hilfreich

Hallo Markus,

warscheinlich nutzt du Bottons aus SteuerelementeToolbox. Für diese gilt das von Stephan gesagte.
Diese sind nur über die Shapes Auflistung erreichbar. Das Problem: jeder dieser Buttons hat zwangsläüfig ein eigenes Klick Event.

Meine Version erfordert Buttons aus der Symbolleiste "Formular". Alle Buttons bekommen dann das selbe Macro zugewiesen. Oder einfacher dem 1. zuweisen und dann kopieren.

getestet mit MSO 2003

Gruß
Peter

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

Beverly
Mitglied
Dipl.-Geologe (Rentner)


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

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 09. Feb. 2012 15: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 Markus 1979 10 Unities + Antwort hilfreich

Hi Markus,

für die ActiveX-Steuerelemente, die du verwendest, müsstest du das mittels Klassenprogrammierung lösen - das ist aber nicht ganz so einfach. Wesentlich einfacher ist es, wenn du Rechtecke aus den Formen verwendest, sie entsprechend formatierst und ihnen das Makro zum Kopieren zuweist. Durch Verwendung von ApplicationCaller kann man das Makro für alle "Schalter" vereinheitlichen und durch TopLeftZell kann man sich auf genau die Zeile beziehen, in der sich der "Schalter" befindet.

Schreibe folgenden Code in ein allgemeines Modul:

Code:
Sub Kopieren()
  Dim lngZeile As Long
  lngZeile = ActiveSheet.Shapes(ActiveSheet.Application.Caller).TopLeftCell.Row
  Range(Cells(lngZeile, 2), Cells(lngZeile, 25)).Copy
  Workbooks("Stückliste.xlsm").Worksheets("Einkauf").Range("A1").PasteSpecial Paste:=xlValues
  Application.CutCopyMode = False
End Sub


Dieses Makro wird den "Schaltern" zugewiesen und damit werden dann die Daten aus den zutreffenden Zeilen kopiert. Leider kann ich deine Arbeitsmappe "Stückliste.xlsm" nicht herunterladen, sodass ich nicht weiß, wo genau eingefügt werden soll - im Code habe ich mal einfach A1 angenommen, das musst du entsprechend an deine Bedingungen anpassen.

Für das eigentliche Erstellen der "Schalter" kannst du den folgenden Code verwenden:

Code:
Sub SchalterErstellen()
  Dim intSchalter As Integer
  For intSchalter = 7 To 20
      With ActiveSheet.Shapes.AddShape(msoShapeRectangle, Columns(4).Left, Cells(intSchalter, 4).Top, Columns(4).Width, Rows(intSchalter).Height)
        With .Fill
            .Visible = msoTrue
            .ForeColor.RGB = RGB(0, 176, 80)
            .Transparency = 0
            .Solid
        End With
        With .Line
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorBackground1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = -0.0500000007
            .Transparency = 0
        End With
        With .ThreeD
            .BevelTopType = msoBevelCoolSlant
            .BevelTopInset = 9
            .BevelTopDepth = 4
        End With
        .OnAction = "Kopieren"
      End With
  Next intSchalter
End Sub

Damit werden ab Zeile 7 bis 20 "Schalter" erstellt und ihnen das Makro zum Kopieren zugewiesen (Anzahl musst du anpassen).
Sollte dir das Aussehen der "Schalter" nicht gefallen, kannst du das natürlich per Makrorekorder aufzeichnen und entsprechend im Code ändern.

------------------
Bis später,
Karin

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

Comos User
Mitglied



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

Beiträge: 112
Registriert: 23.03.2010

erstellt am: 09. Feb. 2012 16:15    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 Markus 1979 10 Unities + Antwort hilfreich

@Karin

ich habe hier nur Excel 2003, kann also zu 2007 und 2010 nichts sagen.

Gibt es dort keine Forms Steuerelemente auf Arbeitsblättern mehr?
oder was ist nun der Unterschied zu meiner Lösung.

Denkbar wäre aus die Nutzung von BeforeDoubleClick oder BeforeRightClick, deine Rechtecke oder meine Buttons dienen dann nur noch der optischen Kentlichmachung, daß hier was passiert wenn man klickt.

Gruß
Peter

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

Beverly
Mitglied
Dipl.-Geologe (Rentner)


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

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 09. Feb. 2012 16: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 Nur für Markus 1979 10 Unities + Antwort hilfreich

Hi Peter,

ich kann dem Link aus deinem Beitrag leider nicht folgen und mir anschauen was dort steht, sodass ich dazu nichts sagen kann.

Die Steuerelemente aus der Formular-Symbolleiste 2003 gibt es auch ab 2007, nur heißen sie dort schlicht und einfach Formularsteuerelemente. Der Nachteil dieser Steuerelemente generell ist, das man ihnen keine Farbe und andere Formatierungen zuweisen kann.

Was du mit Denkbar wäre aus die Nutzung von BeforeDoubleClick oder BeforeRightClick meinst, weiß ich leider nicht, da die Formular-Steuerelemente und die Zeichnungs-Elemente keine derartigen Ereignisse kennen.

------------------
Bis später,
Karin

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

Markus 1979
Mitglied
Holztechniker/ Konstruktion & AV


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

Beiträge: 48
Registriert: 13.09.2007

Auto Cad 2006/2008
Excel 2007

erstellt am: 09. Feb. 2012 17:31    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

ich habe jetzt mal Karins Vorschlag ausprobiert.
der erste Teil mit dem "Sub Kopieren" ist das, was ich mir (fast) vorgestellt habe.
ich werde nur versuchen das mit dem makro von mir zu kombinieren, so das er die Daten nicht in Zelle "A1" kopiert, sondern in die Zelle, die gerade ausgewählt ist

der zweite Teil "Sub Schaltererstellen" funktioniert bei mir leider nicht:

Laufzeitfehler 438
Objekt unterstützt diese Eigenschaft oder Methode nicht
er bleibt in Zeile: .ForeColor.Brightness = -0.050000007
stehen

Ps.: den Link von Peter konnte ich auch nicht öffnen, habe ihn kopiert und in die Befehlszeile vom Explorer eingefügt

vorerst schon mal vielen Dank, ich bin schon ein großes Stück Weiter gekommen.
da ich mich mit dem Bereich makros in Excel erst seit kurzem beschäftige, werde ich mir die  Tip´s und Links noch mal in ruhe ansehen, um sie (besser) zu verstehen


gruß
Markus

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

Beverly
Mitglied
Dipl.-Geologe (Rentner)


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

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 09. Feb. 2012 18:34    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 Markus 1979 10 Unities + Antwort hilfreich

Hi Markus,

kommentiere die Zeile mal aus und lass dann den Code laufen - wird der Fehler immer noch angezeigt? Ich habe ihn mit Excel2010 getestet und er läuft problemlos - vlt. hat Excel2007 diese Eigenschaft nicht oder sie wird dort anders angesprochen.

------------------
Bis später,
Karin

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

Markus 1979
Mitglied
Holztechniker/ Konstruktion & AV


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

Beiträge: 48
Registriert: 13.09.2007

Auto Cad 2006/2008
Excel 2007

erstellt am: 09. Feb. 2012 21:18    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

hi Karin,
die Betreffende Zeile habe ich heraus gelöscht, und danach klappt es.
einziges Problem, wenn der Button in Zeile 8 liegt, kopiert er Zeile 7
kopiere ich den selbst erstellten Button "Sub Kopieren" in eine beliebige Zeile funktioniert es super

Sub Kopieren()
  Dim lngZeile As Long
  lngZeile = ActiveSheet.Shapes(ActiveSheet.Application.Caller).TopLeftCell.Row
  Range(Cells(lngZeile, 3), Cells(lngZeile, 25)).Copy
  Workbooks("Stückliste1.xlsm").Worksheets("Einkauf").Range("D7").PasteSpecial Paste:=xlValues
  Application.CutCopyMode = False
End Sub

und

Sub SchalterErstellen()
  Dim intSchalter As Integer
  For intSchalter = 7 To 10
      With ActiveSheet.Shapes.AddShape(msoShapeRectangle, Columns(4).Left, Cells(intSchalter, 4).Top, Columns(4).Width, Rows(intSchalter).Height)
        With .Fill
            .Visible = msoTrue
            .ForeColor.RGB = RGB(0, 176, 80)
            .Transparency = 0
            .Solid
        End With
        With .Line
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorBackground1
            .ForeColor.TintAndShade = 0
            .Transparency = 0
        End With
        With .ThreeD
            .BevelTopType = msoBevelCoolSlant
            .BevelTopInset = 9
            .BevelTopDepth = 4
        End With
        .OnAction = "Kopieren"
      End With
  Next intSchalter
End Sub

und, wo ich noch nicht hinter komme ist, bei dem Makro was ich selber aufgezeichnet habe:

Private Sub CommandButton1_Click()
'Zukaufteil kopieren
Range("c7:y7").Select
Selection.Copy
ActiveWindow.ActivateNext
    Sheets("Einkauf").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
ActiveCell.Offset(0, 1).Select
End Sub
kopiert er die Zellen in die Zelle, die ich vorher in der "Arbeitsmappe Stückliste1 Tabellenblatt Einkauf" gewählt habe. und bleibt dann auch in dieser Arbeitsmappe
auch nach mehrmaligen austauschen komme ich nicht dahinter welche befehle ich Tauschen muss, zum einen ja
Range("D7"), und dann ????? mit öhhh??

hast du da noch einen tip für mich

Gruß Markus

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

Markus 1979
Mitglied
Holztechniker/ Konstruktion & AV


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

Beiträge: 48
Registriert: 13.09.2007

Auto Cad 2006/2008
Excel 2007

erstellt am: 09. Feb. 2012 22:41    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


Materialaufstellung.xlsm.txt


Stückliste1.xlsm.txt

 
so, habe es geschafft:

ich bin in der Mappe Stückliste 1 und wähle die Zelle, in die die Daten eingefügt werden sollen und betätige den Button:

Code:
Private Sub CommandButton1_Click()
Windows("Materialaufstellung.xlsm").Activate
    Sheets("Zukaufteile").Select
End Sub

damit bin ich in der Mappe Materialaufstellung, wähle hier einen Beschlag aus und drücke den Button, der sich in der selben Zeile befindet:
Code:
Sub Kopieren()
  Dim lngZeile As Long
  lngZeile = ActiveSheet.Shapes(ActiveSheet.Application.Caller).TopLeftCell.Row
  Range(Cells(lngZeile, 3), Cells(lngZeile, 25)).Copy
Windows("Stückliste1.xlsm").Activate
Sheets("Einkauf").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
ActiveCell.Offset(0, 1).Select
 
End Sub

dieser kopiert mir die gewünschte Zeile und ich bin wieder in der Mappe Stückliste1, wo ich wieder in die nächste Zeile gehe, in die eingefügt werden soll, und betätige wieder den Button um nochmal in die Mappe Materialaufstellung zu gehen um das nächste zu kopieren, usw. usw

das einzigste, was jetzt noch nicht funktioniert, ist das Makro "Schalter erstellen"

aber ich kann mir den Button mit Strg C Strg V in jede Zeile kopieren ohne bei jedem einzelnen Button das Makro verändern zu müssen, wie am Anfang

schönen Dank an alle

Gruß
Markus

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

Beverly
Mitglied
Dipl.-Geologe (Rentner)


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

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 10. Feb. 2012 01:00    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 Markus 1979 10 Unities + Antwort hilfreich


RE_Materialaufstellung.xlsm.txt

 
Hi Markus,

den Fehler, dass die falsche Zeile kopiert wird, kann ich bei mir nicht nachvollziehen. Ich habe den Code, der den Schaltern zugewiesen wird, jetzt einfach mal dahingehend abgeändert, dass anstelle des Kopierens die Zeilennummer in einer MsgBox ausgegeben wird, mit dem Ergebnis: es wird immer die richtige angezeigt.

------------------
Bis später,
Karin

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

Comos User
Mitglied



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

Beiträge: 112
Registriert: 23.03.2010

erstellt am: 10. Feb. 2012 08:37    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 Markus 1979 10 Unities + Antwort hilfreich

Moin,

ich noch mal.

@Markus
Derlink bezieht sich auf ein Tutorial zur Verwendung von Select und Activate, er hatt also nicht unmitellbar mit deinem Problem zu tun ist aber allemal eine Beachtung wert. Ebenso wie dieser
Der Makrorekorder: Freund und Feind

@Karin
Ich meine BeforeDoubleClick oder BeforeRightClick des Arbeitsblattes. Über den Parameter Target erfährt mann wo geklickt wurde. Einfach auf eine Zeile (oder Teile davon) Doppel- bzw Rechtsklicken und schon kann die gewünschte Aktion ausgelöst werden. Ohne irgentwelche Buttons oder selbstgebastelte Schaltflächen.


Aber das Problem ist wohl schon gelöst, Funktion geht; Optik schick

Gruß
Peter

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

Markus 1979
Mitglied
Holztechniker/ Konstruktion & AV


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

Beiträge: 48
Registriert: 13.09.2007

Auto Cad 2006/2008
Excel 2007

erstellt am: 10. Feb. 2012 10: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

hi

so habe es jetzt auch dank Karins Hilfe mit den "Schaltern Kopieren" am Klappen
ich habe zwar immer noch die Fehlermeldung für die Zeile
ForeColor.Brightness = -0.050000007
aber nach dem ich diese wieder gelöscht habe funktioniert das ganze sehr gut


ich Danke euch Allen nochmal und verteile ein paar U´s

gruß
MArkus

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