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.

Makro aus 27 Blätter bestimmte Zelle
#1
Hallo zusammen,

ich hänge etwas an der nachfolgenden Situation. Und zwar habe ich 28 TabBlätter und von TabBlatt 3 bis TabBlatt 28 kopiere wert jeweils aus Zelle G3, gehe dann zu TabBlatt1 und füge alle 25 kopierten Werte ab Zelle L3 bis L27 senkrecht ein.

Kann mir vielleicht dabei jemand helfen. Danke im Voraus!!!
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
Antworten Top
#2
Hallo,

wie wäre es mit einer Formel:

Code:
=indirekt("TabBlatt "&Zeile()&"!G3")

In L3, nach unten ziehen
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Hallo Edgar,

schön das du mir helfen möchtest. Die Formel löst Bezugsfehler aus. Das kann vielleicht an meiner Beschreibung liegen.

Also in TabBlatt1 in Spalte E ab Zeile 3 sind die Namen der anderen Tabellenblätter bis Zelle E27 enthalten. D.h. nehme den Wert aus Zelle E3 usw., suche TabBlatt in selbige Mappe mit dem Namen und gehe zu dem TabBlatt und kopieren den Wert aus Zelle G3 und füge es in TabBlatt1 in Zelle L3 ein.
Ich hab von Formeln nicht soviel Ahnung und weiß nicht ob es mit einer Formel zu erledigen ist. Hoffe aber es trotzdem verständlich erklärt zu haben.
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
Antworten Top
#4
Hallo Bernie,

in der Frage hast Du
TabBlatt 3
geschrieben. In Deiner Antwort auf die Lösung schreibst Du
TabBlatt1

Fall Deine Tabellenblätter kein Leerzeichen haben, dann musst Du das aus der Formel rausnehmen.

Code:
nicht =indirekt("TabBlatt "&Zeile()&"!G3")
sondern =indirekt("TabBlatt"&Zeile()&"!G3")
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hallo André,

irgendwie drücke ich mich falsch aus hier der Tabellenausschnitt ..
Arbeitsblatt mit dem Namen 'Depot'
BCDEFGHIJKL
NameBrancheIndizesKürzelWKN / ISINOrdervol. €StückKaufdatumOrder Stck.KaufkursLetzter
3M CompanyKonsumgüterDow JonesMMMUS88579Y1010     #BEZUG!

ZelleFormel
C3=WENN($B$3="";"";SVERWEIS($B$3;Kürzel!$A:$E;3;0))
D3=WENN(B3="";"";SVERWEIS($B$3;Kürzel!$A:$E;2;0))
E3=WENN($B3="";"";SVERWEIS($B$3;Kürzel!$A:$E;4;0))
F3=WENN($B3="";"";SVERWEIS($B$3;Kürzel!$A:$E;5;0))
L3=INDIREKT("TabBlatt"&ZEILE()&"!G2")

... und das hatte ich mit Recorder aufgezeichnet ...
Sub Makro8()
Sheets("MMM").Select
Range("G2").Select
Selection.Copy
Sheets("Depot").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub




VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel


Code erstellt und getestet in Office 14

Den Code müsste so abgeändert werden, dass für "Sheets("MMM").Select" es so aussehen sollte "Sheets(Tabelle Depot,Zelle E3).Select". Irgendwie mache ich immer einen Fehler.
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
Antworten Top
#6
Hallo Bernie,

wir waren doch noch bei der Ursachenforschung für den Fehler im Ergebnis der Formel in L3 ...

Zum code, ich bleibe erst mal bei dem aufgezeichneten
Da warst Du fast schon fertig Wink

Code:
Sub Makro8()
    Sheets(Sheets("Depot").Range("E3")).Select
    Range("G2").Select
    Selection.Copy
    Sheets("Depot").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
Wenn Du auf dem Blatt Depot bleibst, kann man einiges rausnehmen.

Code:
Sub Makro8()
    Sheets(Sheets("Depot").Range("E3")).Range("G2").Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

Hinweis: Die selektierte Zelle auf deinem Excel-Blatt Depot ist hoffentlich beim Start des Makro die richtige ... Ansonsten müsste man die im VBA-Code programmieren
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Hallo André,

bekomme Fehlermeldung, weiß leider nicht weiter deshalb hier meine Testmappe. In Tabelle Depot Zelle L3 habe ich einen Kommentar abgelegt der das was ich suche nochmal darstellt.

Danke schon mal im Voraus.


Angehängte Dateien
.xlsm   Test.xlsm (Größe: 571,94 KB / Downloads: 3)
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
Antworten Top
#8
Hallo Bernie,

mal deine Mappe zurück. Ich habe es hier mal in der Tabelle Depot mit einem Ereignismakro gelöst und zwar mit einem Rechte-Maus-Klick. Aber teste mal selber.


Angehängte Dateien
.xlsm   Testbernie.xlsm (Größe: 562,68 KB / Downloads: 4)
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#9
Hallo Bernie,

sorry, das ist so ein Fall, mit dem man begründen kann, warum man die "Standardeigenschaften" nicht ohne Angabe im Code verwenden sollte.
Oft reicht Range("E3") und es wird der Wert ausgegeben, z.B. MsgBox Range("E3") gibt dir MMM aus.

Beim Selectieren des Blattes reicht das nicht. Hier brauchst Du
Code:
Sheets(Sheets("Depot").Range("E3").Value).Select
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
Hallo André,

du erklärst das immer sehr anschaulich, so dass ich als VBA Laie es verstehen kann. Dafür nochmal Danke :15:
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
Antworten Top


Gehe zu:


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