Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1612to1616
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
Inhaltsverzeichnis

Macro ausführen in VBA nach Zellen inhalt

Macro ausführen in VBA nach Zellen inhalt
16.03.2018 17:37:49
Norbert
Hallo zusammen,
hier meine erste Frage an euch, da ich meine Probleme in Excel bzw. VBA bis dato über Google gelöst habe. Da ich VBA Anfänger (mit 60 Jahren) bin habe ich folgendes Problem.
Ich habe eine Tabelle max. mit 9 Zeilen ohne überschriften. Dort möchte ich, über ein Macro, Zellen in der Spalte B von oben nach unten die Inhalte vergleichen und wenn der Inhalt sich ändert die dazu passende Zeile makieren und dann ein Marco ausführen (das ich bereits benutze) das oberhalb der makierten Zeile eine Neue Zeile einfügt und mit formeln und werte befüllt.
Dann den Vorgang an der gefundenen Stelle in Spalte B fortfahren bis zu ersten Zelle die leer ist.
Ich hoffe das war einiger Maßen verständlich.
Bis dato. habe ich die Zellen immer per Hand makiert und das Macro gestartet, Da das aber die einzigste Eingabe ist die noch nicht automatisiert habe, möchte ich dies nun ändern, bin aber an meine Grenzen angekommen und hoffe hier Hilfe zu finden.
gruß Norbert

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Macro ausführen in VBA nach Zellen inhalt
17.03.2018 03:51:55
fcs
Hallo Norbrt,
hier mein Vorshlag
Gruß
Franz
Sub zeileeinfuegen()
Dim Zeile As Long, wks  As Worksheet
Dim varWert As Variant
Set wks = ActiveSheet
With wks
Zeile = 1
varWert = .Cells(Zeile, 2).Value
Do
Zeile = Zeile + 1
If varWert  .Cells(Zeile, 2).Value Then
varWert = .Cells(Zeile, 2).Value
.Rows(Zeile).Select
Call Norberts_Makro 'ersetzen durch Name deines vorhandenen Makros
Zeile = Zeile + 1
End If
If IsEmpty(varWert) Then Exit Do
Loop
End With
End Sub

AW: Macro ausführen in VBA nach Zellen inhalt
17.03.2018 12:16:41
Norbert
Hallo Franz
Vorab danke für deine Mühe.
Leider passiert, beim ausführen nicht, auch keine Fehlermeldung.
Habe mal eine Beispielsdatei hochgeladen,
zum besseren Verständnis
Die Abfrage ob eine Zeile eingefügt werden muß, starten immer bei Spalte B Zeile 15 und vergrößert die Tabelle auf max. 9 Zeilen.
In diesem Beispiel würde oberhalb von "DN" und "AS" jeweils eine neue Zeile eingefügt und mein Macro benötigt die Aktivierung der Zeile "DN" also 17.
Userbild
Hoffe das hilft dir/uns weiter.
Gruß Norbert
Anzeige
AW: Macro ausführen in VBA nach Zellen inhalt
17.03.2018 15:36:00
Hajo_Zi
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Schau mal hier
Eine hochgeladene Arbeitsmappe erhöht die Wahrscheinlichkeit, dass Du eine Lösung für Dein Problem erhältst.
Erstelle folglich bitte eine Demomappe, aus der deine Aufgabenstellung klar erkennbar ist und lade diese hoch.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, solltest du diese Daten anonymisieren bzw. pseudonymisieren.
Falls Du den Download des Forums nicht benutzen möchtest beachte bitte: von unsicheren Servern file-upload lade ich keine Datei herunter (lt. Einschätzung meines Virenprogramms)

Anzeige
AW: Macro ausführen in VBA nach Zellen inhalt
17.03.2018 16:13:01
Hajo_Zi
das geht nicht, da eine XLSX Datei kein Makro enthalten kann.
Ich sehe keinen Grund eine Datei 2x zu speichern. Ich führe keine Liste unter welchem Dateinamen ich die Datei gespeichert habe. Ich bin raus, es war nur der Hinweis zum Bild und jetzt zur Datei.
Gruß Hajo
AW: Macro ausführen in VBA nach Zellen inhalt
18.03.2018 02:58:38
fcs
Hallo Norbert,
leider stimmt deine Beispieldatei nicht mit dem Bildausschitt des Tabellenblatts überein und das Tabellenblatt hat auch keine Spalte "Ladestelle Entlade Reihenfolge".
Ich hab das Makro jetzt so angepasst, dass es zum Bild passt, also Werte in Spalte "B" ab Zeile 15.
Gruß
Franz
Sub zeileeinfuegen()
Dim zeile As Long, Spalte As Long, wks As Worksheet
Dim varWert As Variant
Set wks = ActiveSheet
With wks
zeile = 15 '1. Datenzeile
Spalte = 2 'Spalte "B" - Nummer der zu durchsuchenden Spalte
varWert = .Cells(zeile, Spalte).Value
If IsEmpty(varWert) Then
MsgBox "Die Startzelle ""B15"" ist leer!", vbOKOnly + vbInformation, _
"Zeilen einfügen!"
Exit Sub
End If
Do
zeile = zeile + 1
If varWert  .Cells(zeile, Spalte).Value Then
varWert = .Cells(zeile, Spalte).Value
If IsEmpty(varWert) Then Exit Do
.Rows(zeile).Select
Call Norberts_Makro 'ersetzen durch Name deines vorhandenen Makros
zeile = zeile + 1
End If
Loop
End With
End Sub

Anzeige
AW: Macro ausführen in VBA nach Zellen inhalt
18.03.2018 12:45:08
Norbert
Hallo Franz,
vielen Dank für deine Hilfe
Funktioniert Super, habe nur noch eine Zeile im Code einfügen müßen, da das Projekt beendet werden muß, sobald die Abfragezelle leer ist.
Funktioniert jetzt 100% korrekt.
Hast mir sehr geholfen 1000 Dank
Gruß Norbert
Sub ZeilenEinfügen()
Dim zeile As Long, Spalte As Long, wks As Worksheet
Dim varWert As Variant
Set wks = ActiveSheet
With wks
zeile = 15 '1. Datenzeile
Spalte = 2 'Spalte "B" - Nummer der zu durchsuchenden Spalte
varWert = .Cells(zeile, Spalte).Value
If IsEmpty(varWert) Then
MsgBox "Die Startzelle ""B15"" ist leer!", vbOKOnly + vbInformation, _
"Zeilen einfügen!"
Exit Sub
End If
Do
zeile = zeile + 1
If Cells(zeile, Spalte).Value = "" Then Exit Sub 'Abbruch da Zelle leer
If varWert  .Cells(zeile, Spalte).Value Then
varWert = .Cells(zeile, Spalte).Value
If IsEmpty(varWert) Then Exit Do
.Rows(zeile).Select
Call Ladeort_Einfügen 'ersetzen durch Name deines vorhandenen Makros
zeile = zeile + 1
End If
Loop
End With
End Sub

Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige