Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel Macro durch Sheets springen und Informationen sammeln?
#1
Hallo,
 
Ich bin neu hier und vielleicht kann mir hier wer helfen, hänge hier an einem Macro fest..
 
Die Idee hinter dem Macro ist, der anfangs sheet ist „COLLECTION“ dieser heißt fest so und der letzte ist „LAST“ dieser heißt auch fest so, alles dazwischen ändert sich immer.
 
Das Macro sollte zwischen den Sheets wechseln und ein paar informationen sammeln und diese auf „COLLECTION“ zusammen führen. Das klappt schon soweit.
Jetzt würde ich gerne noch den Anfang ändern, aktuell werden die ergebnisse auf „A20“ zusammen getragen, aber ich fänd es auf „C20“ besser, weiß aber nicht wie ich die Spalte geändert bekomme mit der Reihe.
Weiterhin wäre es cool wenn danach eine verknüpfung jeweils erstellt würde um später ähnlich wie ein Register zwischen den taps hin und her zu wechseln..
 
Hoffe das ist verständlich,
 
würde mich sehr freuen, anbei mal noch der Code..

Code:
[/size]
[size=1] [/size]
[size=1]Dim wkst As Worksheet[/size]
[size=1]Dim row As Long[/size]
[size=1]row = 20[/size]
[size=1] [/size]
[size=1]For Each wkst In ActiveWorkbook.Worksheets[/size]
[size=1] [/size]
[size=1]   If wkst.Name <> "COLLECTION" Then[/size]
[size=1]      Worksheets("COLLECTION").Cells(row, 1) = wkst.Range("D9").Value & " - " & wkst.Range("D10").Value & " - " & wkst.Range("G9").Value & " - " & wkst.Range("G10").Value & " - " & wkst.Range("D12").Value & " - " & wkst.Range("D11").Value[/size]
[size=1] [/size]
[size=1]      row = row + 2[/size]
[size=1]    [/size]
[size=1]   End If[/size]
[size=1]Next[/size]
[size=1] [/size]
[size=1]


Angehängte Dateien
.xlsm   BOOK_1.xlsm (Größe: 26,71 KB / Downloads: 8)
Antworten Top
#2
Hallo


Zitat:aber ich fänd es auf „C20“ besser
Änder die 1 in 3 um.

Worksheets("COLLECTION").Cells(row, 1)


Zitat:Weiterhin wäre es cool wenn danach eine verknüpfung jeweils erstellt würde um später ähnlich wie ein Register zwischen den taps hin und her zu wechseln..
Wie meinst du das?
So evtl.
Code:
Sub Button1_Click()
'
'
Dim wkst As Worksheet
Dim row As Long
row = 20
For Each wkst In ActiveWorkbook.Worksheets
   If wkst.Name <> "COLLECTION" Then
      Worksheets("COLLECTION").Cells(row, 3) = wkst.Range("D9").Value & " - " & wkst.Range("D10").Value & " - " & wkst.Range("G9").Value & " - " & wkst.Range("G10").Value & " - " & wkst.Range("D12").Value & " - " & wkst.Range("D11").Value
      ActiveSheet.Hyperlinks.Add Anchor:=Cells(row, 4), Address:="", SubAddress:="'" & wkst.Name & "'!A1", TextToDisplay:=wkst.Name
      row = row + 2
   End If
Next
'
End Sub

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Lizz96
Antworten Top
#3
Oh mein Gott, Elex.. das ist ja der Hammer.. :)

Das funktioniert ja tatsächlich super, okay auf das ".Cells(row, 3)" hätte ich auch können, kommen.. will jetzt nicht sagen typisch.. (weiblich) :D

Das mit den Hyperlinks funktioniert auch super, hab jetzt noch nicht ganz verstanden wie es funktioniert, aber werd es mir Definitiv anschauen.
Funktionieren tut es, aber er nimmt als "Namen" für den Hyperlink den "Namen" des "Tap" fände es gut wenn die ganzen Infos die er Sammelt als Hyperlink markiert wären und nicht nur der Schluss :)

Auf jeden fall Super, ich bin dir echt Dankbar! :)

LG Lizzz

Code:
ActiveSheet.Hyperlinks.Add Anchor:=Cells(row, 3), Address:="", SubAddress:="'" & wkst.Name & "'!A1", TextToDisplay:=wkst.Range("D9").Value & " - " & wkst.Range("D10").Value & " - " & wkst.Range("G9").Value & " - " & wkst.Range("G10").Value & " - " & wkst.Range("D12").Value & " - " & wkst.Range("D11").Value

So funktioniert es natürlich schön, war ja mal wieder klar. :)

Das einzige was jetzt noch zu meinem Glück fehlt ist das er das Tap "LAST" aus lässt.. da dort sachen stehen die damit nichts zutun haben.. :)
Antworten Top
#4
Code:
If wkst.Name <> "COLLECTION" And wkst.Name <> "LAST" Then
[-] Folgende(r) 1 Nutzer sagt Danke an ralf_b für diesen Beitrag:
  • Lizz96
Antworten Top
#5
Viele Dank Ralf_b, das funktioniert super.. bin immer wieder froh etwas gelernt zu haben. J
Manchmal frage ich mich echt woher man (frau) dieses ganze wissen nimmt. J
 
Hatte schon mal überlegt ob es sich nicht lohnen würde ein VBA Fernstudium dran zu hängen, da es mir schon Spass macht.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste