Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1644to1648
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

VBA Lösungshilfe

VBA Lösungshilfe
08.09.2018 14:46:29
Fritz
Hallo VBA-Experten,
ich bitte euch um Unterstützung bei folgender Makroerstellung:
Das Makro soll im Tabellenblatt "Tabelle1", sofern der Wert in Zelle B99 = 0 ist, den Zellinhalt aus Zelle B100 in die erste freie Zelle der Spalte K, beginnend ab Zelle K100 eintragen.
Das Makro soll aus jedem Tabellenblatt der Arbeitsmappe gestartet werden.
Für Eure Hilfe besten Dank im Voraus.
mfg
Fritz

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Lösungshilfe
08.09.2018 15:13:38
Hajo_Zi
Halo Fritz,
Option Explicit
Sub Kopieren()
Dim Loletzte As Long
If Range("B99") = 0 And Range("B99")  "" Then
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 11)), Cells(Rows.Count, 11).End(xlUp).Row,  _
Rows.Count)
If Loletzte 


Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: VBA Lösungshilfe
08.09.2018 15:36:32
Fritz
Hallo Hajo,
zunächst vielen Dank für die Unterstützung.
Das Makro funktioniert leider nicht wie gewünscht.
Es läuft zunächst nur, wenn es auch aus dem Tabellenblatt Tabelle1 gestartet wird, es soll aber auch aus jedem anderen Tabellenblatt gestartet werden können. Dann schreibt das Makro den Wert aus Zelle B100 immer in die Zelle K100. Der Eintrag sollte aber in die erste freie Zelle ab K100 erfolgen, also beim zweiten Aufruf des Makros dann in die Zelle K101 usw.
Kann man das entsprechend noch anpassen?
Gruß
Fritz
Anzeige
AW: VBA Lösungshilfe
08.09.2018 15:37:39
Fritz
AW: VBA Lösungshilfe
08.09.2018 15:55:00
Fritz
Noch offen
AW: VBA Lösungshilfe
08.09.2018 16:05:36
Hajo_Zi
Hallo Fritz,
Option Explicit
Sub Kopieren()
Dim Loletzte As Long
If Range("B99") = 0 And Range("B99")  "" Then
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 11)), Cells(Rows.Count, 11).End(xlUp).Row,  _
Rows.Count) + 1
If Loletzte 
Gruß Hajo
AW: VBA Lösungshilfe
08.09.2018 16:15:47
Fritz
Hallo Hajo,
vielen Dank für die erneute Hilfe.
Das funktioniert insoweit, als dass nun die Einträge in der Spalte K ab Zeile 100 nacheinander erfolgen.
Leider funktioniert das Makro nach wie vor nur, wenn es auch aus dem Tabellenblatt Tabelle1 gestartet wird. Es soll aber die Änderungen in Tabelle1 auch vornehmen, wenn es aus einem anderen Tabellenblatt z.B. aus Tabelle2 gestartet wird (die relevanten Werte beziehen sich jedoch auf Tabelle1).
Gruß
Fritz
Anzeige
AW: VBA Lösungshilfe
08.09.2018 17:02:14
Hajo_Zi
bei mir geht es in allen Tabellen, das mag daran liegen das ich das Makro an der richtigen Stelle im Modul habe.
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Gruß Hajo
Anzeige
AW: VBA Lösungshilfe
08.09.2018 17:37:34
Fritz
Hallo Hajo
ich kann nicht verstehen, warum man dafür die Originaldatei braucht.
Dennoch vielen Dank für Deine Hilfe.
Gruß
Fritz
AW: VBA Lösungshilfe
08.09.2018 17:41:58
Hajo_Zi
Hallo Fritz,
Gut dann siehst Du also selber wo der Fehler ist, warum dann Beitrag.
Bei mir geht es.
Das Problem ist also gelöst.
Gruß Hajo
AW: VBA Lösungshilfe
08.09.2018 18:01:10
Nepumuk
Hallo Fritz,
teste mal:
Public Sub Fritz()
    With Worksheets("Tabelle1")
        If .Cells(99, 2).Text = "0" Then _
            .Cells(WorksheetFunction.Max(.Cells( _
            .Rows.Count, 11).End(xlUp).Row, 100), 11).Value = .Cells(100, 2).Value
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: plus eins :-)
08.09.2018 18:30:34
Gerd
Moin!
Public Sub Fritz2()
With Worksheets("Tabelle1")
If .Cells(99, 2).Text = "0" Then _
.Cells(WorksheetFunction.Max(.Cells( _
.Rows.Count, 11).End(xlUp).Row + 1, 100), 11).Value = .Cells(100, 2).Value
End With
End Sub
Gruß Gerd
AW: plus eins :-)
08.09.2018 18:37:28
Nepumuk
Hallo Gerd,
danke für die Korrektur.
Gruß
Nepumuk
Super - Vielen Dank Euch Beiden
08.09.2018 20:37:14
Fritz
Hallo Gerd und Nepumuk
Funktioniert wie gewünscht.
Vielen Dank.
Gruß
Fritz
Super - Vielen Dank Euch Beiden
08.09.2018 20:37:30
Fritz
Hallo Gerd und Nepumuk
Funktioniert wie gewünscht.
Vielen Dank.
Gruß
Fritz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige