Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

2Makros einem Button zuweisen

2Makros einem Button zuweisen
18.04.2008 10:23:58
maxi
Hallo miteinander,
wie kann ich denn 2 Makros die gleichzeitig laufen sollen bei Buttonbetätigung, diesem einen Button zuordnen?
Kann jemand helfen?
Viele Grüße

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2Makros einem Button zuweisen
18.04.2008 10:26:58
Beverly
Hi Maxi,
gleichzeitig können Makros nicht laufen, sondern nur nacheinander. Schreibe ans Ende des ersten Makros den Namen des zweiten, welches dann auf diese Weise aufgerufen wird.


AW: 2Makros einem Button zuweisen
18.04.2008 11:15:10
maxi
Hallo,
könnte ich nicht einfach aus 2 Makros einen machen indem ich die beiden Quelltexte verbinde?
Wenn ja, kann mir jmd. dabei helfen?
Viele Grüße

AW: 2Makros einem Button zuweisen
18.04.2008 11:35:00
Beverly
Hi Maxi,
natürlich geht auch das - viele Wege führen nach Rom ;-). Aber ohne deinen Code zu kennen, kann dir niemand helfen.


Anzeige
AW: 2Makros einem Button zuweisen
18.04.2008 11:53:00
maxi
Hallo,
sorry, hier sind die Quelltexte:

Sub kopieren3()
Dim strSuch, ii As Integer, rngF As Range, lngZ As Long, lngF As Long
Dim rngSuch(1) As Range, jj As Integer, lngSpV(1), lngSpB(1)
Dim lngZiel As Long, lngZneu As Long
strSuch = Split("Öl Schwefel Eisen Kupfer")         ' Suchbegriffe
Set rngSuch(0) = Range(Cells(8, 2), Cells(507, 2))                                            _
' Suchbereich 1
Set rngSuch(1) = Range(Cells(8, 7), Cells(507, 7))                                            _
' Suchbereich 2
lngSpV(0) = 1:   lngSpB(0) = 4                                                                _
' Copy Spalten 1
lngSpV(1) = 6:   lngSpB(1) = 9                                                                _
' Copy Spalten 2
lngZiel = 517                                                                                 _
' Zielzeile ab
For jj = 0 To 1
lngZneu = lngZiel
For ii = 0 To UBound(strSuch)
With rngSuch(jj)
Set rngF = .Find(What:=strSuch(ii), after:=rngSuch(jj)(1, 1), _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, MatchCase:=False, SearchFormat:=False)
If Not rngF Is Nothing Then
lngZ = rngF.Row
lngF = lngZ
Do
Range(Cells(lngZneu, lngSpV(jj)), Cells(lngZneu, lngSpB(jj))) = _
Range(Cells(lngZ, lngSpV(jj)), Cells(lngZ, lngSpB(jj))).Value
Range(Cells(lngZ, lngSpV(jj)), Cells(lngZ, lngSpB(jj))).ClearContents
lngZneu = lngZneu + 1
Set rngF = .FindNext(rngF)
If rngF Is Nothing Then
lngZ = lngF
Else
lngZ = rngF.Row
End If
Loop While lngZ 



Sub Makro4()
' Makro4 Makro
' Makro am 18.04.2008 von maxi aufgezeichnet
' Tastenkombination: Strg+n
Range("A6:D6").Select
Range("D6").Activate
Selection.Copy
Application.Run "'Mappe1'!kopieren3"
ActiveWindow.SmallScroll Down:=15
Range("A516:D516").Select
ActiveSheet.Paste
Range("F516:I516").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=9
Range("I525").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=SUM(R[-8]C:R[-1]C)"
Range("F525:I525").Select
Range("I525").Activate
Selection.NumberFormat = "General"
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Range("I517:I525").Select
Range("I525").Activate
Selection.NumberFormat = "#,##0.00"
Range("D517:D525").Select
Range("D525").Activate
Selection.NumberFormat = "#,##0.00"
Range("G525").Select
ActiveCell.FormulaR1C1 = "Summe"
With ActiveCell.Characters(Start:=1, Length:=5).Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Range("G525").Select
Selection.Copy
Range("B525").Select
ActiveSheet.Paste
Range("D517:D525").Select
Range("D525").Activate
Application.CutCopyMode = False
Range("D525").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-8]C:R[-1]C)"
Range("A525:D525").Select
Range("D525").Activate
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Range("E526").Select
ActiveWindow.SmallScroll ToRight:=1
End Sub


Viele Grüße
maxi

Anzeige
AW: 2Makros einem Button zuweisen
18.04.2008 12:10:59
Beverly
Hi Maxi,
wenn ich das richtig sehe, befindet sich die Sub kopieren3() in einer anderen Arbeitsmappe und wird aus dem Makro4 aufgerufen mit dieser Zeile

Application.Run "'Mappe1'!kopieren3"


Jetzt ist mir nicht klar, was du machen willst. Soll das Makro kopieren3 jetzt in die Mappe mit dem Makro4 integriert werden? Das Übersichtlichste ist, du lässt beide Codes getrennt und rufst das Makro in der selben Zeile auf, nur anstelle des bisherigen schreibst du einfach kopieren3. Deine Codezeilen sollten dann so aussehen


Range("A6:D6").Select
Range("D6").Activate
Selection.Copy
kopieren3


Ich habe mich jetzt aber nicht um den restlichen Code gekümmert. Nur als Hinweis - in VBA kann zu 99% auf Select und Activate verzichtet werden. Das macht den Code wesentlich schneller.



Anzeige
AW: 2Makros einem Button zuweisen
18.04.2008 12:25:00
maxi
Hallo,
ich habe 2 Makros geschrieben. Eigentlich sollten beide in der gleichen Mappe sein, das Problem ist , dass ich nicht wusste wie ich beide in einer Mappe haben konnte ohne sie aufzurufen.
Ich wollte sie beide erst aufrufen, wenn der Button betätigt wird.
Davor sollte das sheet unberührt bleiben.
Kurz gesagt, ja kopieren3 soll integriert werden in die Mappe mit dem Makro4 und zwar soll kopieren3 auch bestehen wenn die Mappe in der es erstellt wurde gelöscht ist.
Deswegen wollte ich ein Makro haben.
Gruß

AW: 2Makros einem Button zuweisen
18.04.2008 12:38:50
Beverly
Hi Maxi,
kopiere einfach das Makro kopieren3 in das selbe Modul, wo auch Makro4 steht und ändere Makro4 so wie im vorhergehenden Beitrag beschrieben. Wenn du nun Makro4 dem Button zuweist, wird es bei Klick auf den Button bis zur Zeile Selection.Copy abgearbeitet, dann wird das Makro kopieren3 aufgerufen und bis zum Ende abgearbeitet und anschließend wird in der nächsten Zeile von Makro4 fortgefahren. Damit ist der gesamte Ablauf so wie bisher, nur dass kopieren3 jetzt in der Arbeitsmappe mit dem Makro4 zusammen ist.
Wenn du den Code von Makro4 im VBA-Editor mit F8 im Einzelschrittmodus ablaufen lässt, kannst du genau verfolgen, was passiert.


Anzeige
AW: 2Makros einem Button zuweisen
18.04.2008 12:53:00
maxi
Hallo,
funktioniert nicht. Es wird nur Makro4 ausgeführt.
Gruß

AW: 2Makros einem Button zuweisen
18.04.2008 13:16:45
Beverly
Hi Maxi,
du hast den Code entsprechend geändert? Lade deine Arbeitsmappe doch mal hoch.


AW: 2Makros einem Button zuweisen
18.04.2008 13:25:53
maxi
Hallo,
habs trotzdem.
kopieren3 darf nicht im gleichen Modul stehen, dann gehts.
Danke vielmals.
Gruß
maxi

AW: 2Makros einem Button zuweisen
18.04.2008 13:52:07
Beverly
Hi Maxi,
und weshalb dürfen die beiden nicht zusammen in einem Modul stehen? Bei mir schon.
https://www.herber.de/bbs/user/51695.xls


Anzeige
AW: 2Makros einem Button zuweisen
18.04.2008 14:48:00
maxi
Hi,
Ich weis nicht. Es ging aber bei mir nicht. Entweder wurde kopiere3 oder Makro4 ausgeführt aber nicht beides auf einmal.

AW: 2Makros einem Button zuweisen
18.04.2008 16:13:00
Beverly
Hi Maxi,
dann lade doch deine Mappe mal hoch, damit ich mir das mal anschauen kann. Es gibt m.W. keinen Grund, weshalb sie in getrennten Modulen stehen müssen.


302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige