Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Grundlage Makro / VBA





Frage

Hallo, ich habe da mal eine fundamentale Frage. Oft sehe ich Antworten zu irgendwelchen Fragen, die in Form einer VBA verschickt werden. Ich selbst habe auch schon eine solche Antwort erhalten. Ich gehe folgendermaßen vor, wenn ich eine solche Antwort erhalte: VBA-Umgebung mit ALT+F11 öffnen Es sollten zwei Fenster zu sehen sein. Das linke ist der Projekt-Explorer, falls dieser nicht da ist mit STRG+r öffnen; dort klickst du mit rechts auf "VBA-Projekt(Name deiner Mappe) und wählst Einfügen=>Modul. In dem sich darauf sich öffnenden Fenster (rechts) kopierst du den Code hinein. Mit ALT+F11 von der VBA-Umgebung wieder zu Excel wechseln. So weit, so gut. Aber bei mir läuft das leider nicht. Muss ich in dem Code einen Namen z.B. Arbeitsblattnamen einfügen? Wo? Und kann ich dafür dann einen Shortcut definieren? Ein Beispiel wäre folgender Code, mein Arbeitsblatt heißt Marke und meine Excel-Datei heißt Auto: Sub Makro1() Dim zeile As Long, zeile1 As Long zeile = 1 Do While zeile < Cells(Rows.Count, 1).End(xlUp) For zeile1 = 1 To Cells(Rows.Count, 1).End(xlUp).Row Step 18 Cells(zeile, 2).FormulaLocal = "=A" & zeile1 zeile = zeile + 1 Next Loop End Sub Danke

Antwort 1 von Saarbauer

Hallo,

dein Problem ist wahrscheinlich dein Makro selbst

Sub Makro1()
Dim zeile As Long, zeile1 As Long
zeile = 1
Do While zeile < Cells(Rows.Count, 1).End(xlUp) -> 1.Schleife mit Schrittweite 1
For zeile1 = 1 To Cells(Rows.Count, 1).End(xlUp).Row Step 18 -> 2.Schleife, mit schrittweie 18
Cells(zeile, 2).FormulaLocal = "=A" & zeile1
zeile = zeile + 1 -> 1. Schleife Indexehöhung
Next -> Ende 2. Schleife und Indexehöhung
Loop -> Ende 1. Schleife
End Sub

du benutzt für beide Schleifen die gleiche Variabele zeile führt zu Problemen. Da ich nicht weiss, was du vorhast solltest du deine Schleifen mal anders aufbauen oder für eine Schleife den Namen ändern

Gruß

Helmut

Antwort 2 von nighty

hi all :)

unterscheiden sollte man zwichen ereignissen wie functionen wie makros

ereignisse werden im projektexplorer der mappe oder tabelle zugewiesen die dann automatisch laufen

functionen gehören in ein allgemeines modul und sind anschliessend unter formel einfuegen verfuegbar

makros gehören in ein allgemeines modul

in deinem falle heisst das makro makro1
und sollte in einem allgemeinen modul sein

ein shortcut laesst sich unter extras > makro > makros mit anschliessender auswahl eines makros unter optionen zuweisen alternativ ein element der steuelement tollbox

erreichbar mit rechtsclick auf einer freien stelle der excelmenueleiste

dort entwurfsmodus anwaehlen > befehlsschaltflaeche auswaehlen > positionieren

auf diesen button rechtsclick > code anzeigen

dort den namen des makros in diesen falle makro1 mittig einfuegen > vbfenster schliessen

nochmals rechstclick auf den button > eigenschaften anwaehlen und unter caption den namen des button aendern > eigenschaftsfenster schliessen

entwurfsmodus beenden > toolbox schliessen

fertig ist der button der nun gedrueckt werden kann um das makro1 zu starten

gruss nighty

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: