Thema Datum  Von Nutzer Rating
Antwort
25.08.2021 13:59:44 Guest4747
Solved
25.08.2021 16:35:27 UweD
NotSolved
26.08.2021 08:24:57 Guest4747
NotSolved
26.08.2021 09:28:09 UweD
NotSolved
26.08.2021 10:55:25 Guest4747
NotSolved
27.08.2021 13:19:11 Gast38833
NotSolved
31.08.2021 15:07:47 Guest4747
NotSolved
01.09.2021 10:35:00 Guest4747
NotSolved
01.09.2021 14:45:54 UweD
NotSolved
Blau Nach Wertänderung in Spalte, Befehl ausgeben
01.09.2021 15:53:07 Guest4747
NotSolved
01.09.2021 16:02:26 UweD
NotSolved
02.09.2021 08:08:19 Guest4747
NotSolved
02.09.2021 08:22:32 Guest4747
NotSolved
02.09.2021 09:23:39 Gast52073
Solved

Ansicht des Beitrags:
Von:
Guest4747
Datum:
01.09.2021 15:53:07
Views:
445
Rating: Antwort:
  Ja
Thema:
Nach Wertänderung in Spalte, Befehl ausgeben

Erstmal vielen Dank für die Erklärung :-)

 

Nein ich habe keine verbundene Zellen, 

Bei mir läuft das Makro leider nicht wie gewollt.

Durchlauf wie folgt..
1. Deklarierung, Blatt leeren, Überprüfen
2. Alphabetische Sortierung nach Land
3.Läuft von unten nach oben durch, Erstellt ne neue Zeile und hat für 'Ungarn'  dann 2 Zeilen und schreibt in Hilfsspalte 0 BO_ und 0_SG
4. Löscht im Anschluss alle Spalten (Komplette Spalten) die er nicht für SG benötigt. (Hier denke ich ist schon der Fehler)
Es besteht bis hierhin nur noch 2 Hilfsspalten und die 3 Spalten 'Stadt, Land, Fluss'. Soll hier nur eine Zelle oder die Ganze Spalte von oben bis unten gelöscht werden?

Hier der Quelltext dazu: 

'nicht benötigte Spalten löschen
                For j = LC To 3 Step -1
                    If InStr(MeL, .Cells(1, j)) = 0 Then
                        .Cells(i + 1, j).Delete xlToLeft
                    End If

                    If InStr(SyL, .Cells(1, j)) = 0 Then
                        .Cells(i, j).Delete xlToLeft
                    End If

                Next


5. Vergleicht in der ersten Spate  dann wieder die Länder mit:
 

 For i = LR To 2 Step -1 'alle zeilen von unten nach oben durchlaufen
            If .Cells(i - 1, Sp) <> .Cells(i, Sp) Then 'bei Wechsel in Hauptspalte BO Zeile erzeugen
                .Rows(i).Copy
                .Rows(i + 1).Insert xlDown
                .Cells(i + 1, 1) = Z 'Zähler
                .Cells(i + 1, 2) = "BO_"
                .Cells(i, 1) = Z
                .Cells(i, 2) = "SG_"
                Z = Z + 1

Da hier aber keine Spalte mit Ländern mehr vorhanden ist, vergleicht er den Fluss Tajo mit dem Fluss von Spanien (leere Zelle)
-> Wenn ich den Block:

'nicht benötigte Spalten löschen
              

...auskommentiere, dann vergleicht er Land mit Land, bringt aber trotzdem die Fehlermeldung

Laufzeitfehler '1004' Das wird nicht funktionieren, weil dadurch Zellen in einer Tabelle in Ihrem Arbeitsblatt verschoben würden.

 

Verstehe nicht genau weshalb das bei mir nicht so rund läuft. Hoffe ich konnte gut genug erklären wo es hapert.

Denke gewollt ist, dass nach jedem neuen Land eine kopierte SG Zeile nachgerückt wird (oder mehrere) und dannach nur die überschüssigen Zellen gelöscht und nach links aufgerückt werden. Zum Schluss nur noch sortieren und die Hilfsspalte entfernen.

MfG Guest4747


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
25.08.2021 13:59:44 Guest4747
Solved
25.08.2021 16:35:27 UweD
NotSolved
26.08.2021 08:24:57 Guest4747
NotSolved
26.08.2021 09:28:09 UweD
NotSolved
26.08.2021 10:55:25 Guest4747
NotSolved
27.08.2021 13:19:11 Gast38833
NotSolved
31.08.2021 15:07:47 Guest4747
NotSolved
01.09.2021 10:35:00 Guest4747
NotSolved
01.09.2021 14:45:54 UweD
NotSolved
Blau Nach Wertänderung in Spalte, Befehl ausgeben
01.09.2021 15:53:07 Guest4747
NotSolved
01.09.2021 16:02:26 UweD
NotSolved
02.09.2021 08:08:19 Guest4747
NotSolved
02.09.2021 08:22:32 Guest4747
NotSolved
02.09.2021 09:23:39 Gast52073
Solved