Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Makro für Spalten löschen bis zu gewissen Begriff

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Makro für Spalten löschen bis zu gewissen Begriff (3310 mal gelesen)
schlathe
Mitglied
Konstrukteur

Sehen Sie sich das Profil von schlathe an!   Senden Sie eine Private Message an schlathe  Schreiben Sie einen Gästebucheintrag für schlathe

Beiträge: 9
Registriert: 27.04.2006

erstellt am: 20. Mrz. 2013 08:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


export.zip

 
Hallo.
Ich komm bei einem Makro nicht weiter.
Ich habe ein Tabellenblatt wo ich die Spalten, bis zur einer gewissen Spalte, wo in der 2. Reihe das Wort "Orig" steht löschen möchte.
Habe das file angehängt.

lg helmut

------------------
mfg schlathe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 20. Mrz. 2013 08:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schlathe 10 Unities + Antwort hilfreich

Ohne jetzt die Tabelle angesehen zu haben, Du kannst doch einfach die Spalten markieren und dann löschen ...
Oder möchtest Du etwas anderes machen?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

schlathe
Mitglied
Konstrukteur

Sehen Sie sich das Profil von schlathe an!   Senden Sie eine Private Message an schlathe  Schreiben Sie einen Gästebucheintrag für schlathe

Beiträge: 9
Registriert: 27.04.2006

erstellt am: 20. Mrz. 2013 08:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo.
das Ganze sollte ja automatisch ablaufen. Das Problem ist, dass die genannte Reihe immer an einer anderen Stelle steht.

MfG
Helmut

------------------
mfg schlathe

[Diese Nachricht wurde von schlathe am 20. Mrz. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 20. Mrz. 2013 08:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schlathe 10 Unities + Antwort hilfreich

Hi,

Tastatureingabe: Strg+F - Orig - Enter. Dauert ca. 0,3 Sekunden.

Überflüssiges löschen: Dauert vielleicht 3 weitere Sekunden.

Wie lange schraubst Du schon am Makro  ?

------------------
DIN1055.de  |  Lastannahmen für Anwender

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

schlathe
Mitglied
Konstrukteur

Sehen Sie sich das Profil von schlathe an!   Senden Sie eine Private Message an schlathe  Schreiben Sie einen Gästebucheintrag für schlathe

Beiträge: 9
Registriert: 27.04.2006

erstellt am: 20. Mrz. 2013 08:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo.
Das makro für das Löschen der Zeilen ist ja nur ein Makro von vielen das Ablaufen sollte.
Wenn das Löschen nicht funktioniert, können die anderen Makros auch nicht ordnungsgemäß ausgeführt werden.

MfG
Helmut

------------------
mfg schlathe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 20. Mrz. 2013 09:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schlathe 10 Unities + Antwort hilfreich

Mal Quick & Dirty (nicht getestete) als Anregung:
Code:

for i = 1 to höchstmöglichespaltennummer
if cell(2,i).value = "Orig" then
range(colums(1),Colums(i)).select
selection.delete
exit for
end if
next

------------------
CAD.DE: Inoffizielle deutsche CATIA Hilfeseite  Netiquette von cad.de
Berufliches Umfeld: comsol.net; comsol.ch; Euromanagers

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

schlathe
Mitglied
Konstrukteur

Sehen Sie sich das Profil von schlathe an!   Senden Sie eine Private Message an schlathe  Schreiben Sie einen Gästebucheintrag für schlathe

Beiträge: 9
Registriert: 27.04.2006

erstellt am: 20. Mrz. 2013 09:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für die Antwort.
Ich bekomme immer die Fehlermeldung " Fehler beim Kombilieren: Sub oder Function nicht definiert"
und er markiert die Zeile "If cell(i, 2).value= ......

Was kann da der Fehler sein?

MfG

------------------
mfg schlathe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hofe
Mitglied
Werkzeugmacher


Sehen Sie sich das Profil von Hofe an!   Senden Sie eine Private Message an Hofe  Schreiben Sie einen Gästebucheintrag für Hofe

Beiträge: 439
Registriert: 12.01.2008

Computer: Aldi
Schreibtisch: Ikea
Werkbank: Baumarkt
Software:
1967-2021, viele Updates und SP's, aber sicher nicht alle, deswegen immer wieder Sicherheitslücken

erstellt am: 20. Mrz. 2013 09:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schlathe 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von schlathe:
Danke für die Antwort.
Ich bekomme immer die Fehlermeldung " Fehler beim Kombilieren: Sub oder Function nicht definiert"
und er markiert die Zeile "If cell(i, 2).value= ......

Was kann da der Fehler sein?

MfG



Hast Du "höchstmöglichespaltennummer" genau so übernommen oder da auch wirklich die höchstmögliche Spaltennummer eingesetzt? 

Grüße

Hofe

------------------
Ist mir egal, wer Dein Vater ist; solange ich angle läuft hier keiner übers Wasser!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

schlathe
Mitglied
Konstrukteur

Sehen Sie sich das Profil von schlathe an!   Senden Sie eine Private Message an schlathe  Schreiben Sie einen Gästebucheintrag für schlathe

Beiträge: 9
Registriert: 27.04.2006

erstellt am: 20. Mrz. 2013 10:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Der code :

Sub Spalte_loeschen()


Sheets("export").Select
Range("A2").Select
For i = 1 To 20
If cell(x, 2).Value = "Orig" Then
Range(Rows(1), Rows(i - 1)).Select
Selection.Delete
Exit For
End If
Next

End Sub

------------------
mfg schlathe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hofe
Mitglied
Werkzeugmacher


Sehen Sie sich das Profil von Hofe an!   Senden Sie eine Private Message an Hofe  Schreiben Sie einen Gästebucheintrag für Hofe

Beiträge: 439
Registriert: 12.01.2008

Computer: Aldi
Schreibtisch: Ikea
Werkbank: Baumarkt
Software:
1967-2021, viele Updates und SP's, aber sicher nicht alle, deswegen immer wieder Sicherheitslücken

erstellt am: 20. Mrz. 2013 10:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schlathe 10 Unities + Antwort hilfreich

Es muss nicht "cell" heißen, sondern "cells".

Dann krichste aber den nächsten Fehler, weil "x" nicht deklariert ist.
Und "i-1" dürfte auch zu einem Fehler führen, denn das ergibt beim ersten Durchlauf Null, Spalte Null gibts nicht.

Grüße

Hofe

------------------
Ist mir egal, wer Dein Vater ist; solange ich angle läuft hier keiner übers Wasser!

[Diese Nachricht wurde von Hofe am 20. Mrz. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

schlathe
Mitglied
Konstrukteur

Sehen Sie sich das Profil von schlathe an!   Senden Sie eine Private Message an schlathe  Schreiben Sie einen Gästebucheintrag für schlathe

Beiträge: 9
Registriert: 27.04.2006

erstellt am: 20. Mrz. 2013 10:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo.

Danke für den Tipp.
Jetztgibt es nur noch einen Fehler.
Er sucht den Wert in der Spalte 2 und nicht in der Reihe 2.
Wie kann ich das noch ändern?

ich weiß ich bin lästig  :-)

lg

------------------
mfg schlathe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hofe
Mitglied
Werkzeugmacher


Sehen Sie sich das Profil von Hofe an!   Senden Sie eine Private Message an Hofe  Schreiben Sie einen Gästebucheintrag für Hofe

Beiträge: 439
Registriert: 12.01.2008

Computer: Aldi
Schreibtisch: Ikea
Werkbank: Baumarkt
Software:
1967-2021, viele Updates und SP's, aber sicher nicht alle, deswegen immer wieder Sicherheitslücken

erstellt am: 20. Mrz. 2013 10:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schlathe 10 Unities + Antwort hilfreich

Versuchs mal so:

Sub Spalte_loeschen()

Sheets("Tabelle1").Select
Range("A2").Select
For i = 1 To 20
If Cells(i, 2).Value = "Orig" Then
Range(Rows(1), Rows(i - 1)).Select
Selection.Delete
Exit For
End If
Next

End Sub

Das mit "-1" war übrigens blödes Geschwätz von mir, es funktioniert 

Wenn der Wert "Orig" immer in Zeile 2 steht, dann kannst Du doch einfach generell die erste Zeile löschen, oder steh ich aufm Schlauch?

Ansonsten in der Zeile "If Cells(i, 2).Value = "Orig" Then" "i" und "2" vertauschen.

------------------
Ist mir egal, wer Dein Vater ist; solange ich angle läuft hier keiner übers Wasser!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

schlathe
Mitglied
Konstrukteur

Sehen Sie sich das Profil von schlathe an!   Senden Sie eine Private Message an schlathe  Schreiben Sie einen Gästebucheintrag für schlathe

Beiträge: 9
Registriert: 27.04.2006

erstellt am: 20. Mrz. 2013 10:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Mappe2.zip

 
Hallo.

leider haut das bei mir nicht hin.
Ich hab dir das Datei mal hochgeladen.
Auf Blatt 1 hab ich den Bereich den ich löschen möchte mal rot markeirt und in Blatt 2 ist es so wie ich die Tabelle brauchen würde.

Vielen Dank schon im Voraus.

MfG
helmut

------------------
mfg schlathe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 20. Mrz. 2013 10:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schlathe 10 Unities + Antwort hilfreich

1) wird eine Tabelle selektiert, die nicht vorhanden ist- Also ist Sheets("Tabelle1").Select und Range("A2").Select Unsinn
2) Willst Du Spalten löschen und nicht Zeilen (also Columns und nicht rows)

Code:
Sub Spalte_loeschen()

For i = 1 To 20
If Cells(2, i).Value = "Orig" Then
Range(Columns(1), Columns(i - 1)).Select
Selection.Delete
Exit For
End If
Next

End Sub


Funktioniert jetzt nur im aktiven Blatt

Axel

PS: Ein bisschen solltest Du Dich aber schon mit der Syntax auseinandersetzen und vielleicht mal die VB Hilfe zu Rate ziehen, damit Du siehst was gemacht wird.

------------------
CAD.DE: Inoffizielle deutsche CATIA Hilfeseite  Netiquette von cad.de
Berufliches Umfeld: comsol.net; comsol.ch; Euromanagers

[Diese Nachricht wurde von Axel.Strasser am 20. Mrz. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hofe
Mitglied
Werkzeugmacher


Sehen Sie sich das Profil von Hofe an!   Senden Sie eine Private Message an Hofe  Schreiben Sie einen Gästebucheintrag für Hofe

Beiträge: 439
Registriert: 12.01.2008

erstellt am: 20. Mrz. 2013 10:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schlathe 10 Unities + Antwort hilfreich

Jupp, Axel sacht was Sache ist.
"Tabelle1" kam von mir, das hab ich auf die Schnelle in einer leeren Tabelle angepasst und beim posten nicht dran gedacht 

"A2" zu selektieren macht schönheitsmäßig schon Sinn, aber erst am Ende des Makros.

------------------
Ist mir egal, wer Dein Vater ist; solange ich angle läuft hier keiner übers Wasser!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

schlathe
Mitglied
Konstrukteur

Sehen Sie sich das Profil von schlathe an!   Senden Sie eine Private Message an schlathe  Schreiben Sie einen Gästebucheintrag für schlathe

Beiträge: 9
Registriert: 27.04.2006

erstellt am: 20. Mrz. 2013 11:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo.

Jetzt funktionierts einwandfrei.

Vielen vielen Danke

MfG
HElmut

------------------
mfg schlathe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 20. Mrz. 2013 12:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schlathe 10 Unities + Antwort hilfreich

Hey,
aus "pädagogischen" Gründen  (und um eine halbe Zeile Code zu sparen) ein Hinweis aufs Selektieren.

Damit würde

Code:
...
Range(Rows(1), Rows(i - 1)).Select
Selection.Delete
...
'--->
Range(Rows(1), Rows(i - 1)).Delete

Ungetestet.

------------------
DIN1055.de  |  Lastannahmen für Anwender

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 20. Mrz. 2013 13:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für schlathe 10 Unities + Antwort hilfreich

Ein schöner Link und 100% einverstanden 

Axel

------------------
CAD.DE: Inoffizielle deutsche CATIA Hilfeseite  Netiquette von cad.de
Berufliches Umfeld: comsol.net; comsol.ch; Euromanagers

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz