Zellen vba markieren lschen

1 Antworten zur Frage

~ soll ein Suchwort gesucht werden, der nutzer gibt an, wie viel zellen gelöscht werden sollen. Beispiel: Sub test() Dim i, stopcounter, ~ich bin gerade dabei ein kleines Lagerverwaltungssystem per Excel zu schreiben und.
Bewertung: 5 von 10 mit 54 Stimmen

Videos zum Thema
Video

Zellen per VBA markieren und löschen?

ich bin gerade dabei ein kleines Lagerverwaltungssystem per Excel zu schreiben und ich hänge an einer Stelle. Ich will, dass wenn ich in meiner Eingabemaske einen bestimmten Button drücke, sich nochmal ein Fenster öffnet in dem ich eine Zahl eingebe. Darauf sollen dann 4 Zellen in der Spalte A markiert und gelöscht werden, die einen bestimmten Inhalt haben.
Kann mir jemand weiterhelfen?
Also, ich verstehe deine Ausführungen so: Es soll ein Suchwort gesucht werden, der nutzer gibt an, wie viel zellen gelöscht werden sollen.
Beispiel:
Sub test()
Dim i, stopcounter, stopit As Integer
Dim findme As Variant
Dim gefunden As Range
'findme dem inhalt der inputbox zu weisen
'stopit der eingabe zuweisen wann gestoppt werden soll
If findme = "" Then Exit Sub
For i = ActiveSheet.Cells.End.Row To 1 Step -1
Set gefunden = Rows.Find
If Not gefunden Is Nothing Then
Cells.ClearContents
stopcounter = stopcounter + 1
End If
If stopcounter = stopit Then Exit Sub
Next i
End Sub Hier wird jetzt von der letzten Zeile aus gesucht. Sobald die Anzahl die der Nutzer eingegeben hat gelöscht wurde, wird das Programm gestoppt.
Sollen einfach alle Inhalte mit dem Suchwort gelöscht werden, lösch alle Zeilen raus, wo stopit und/oder stopcounter steht.

Excel - Bedingte Formatierung - "leere" Zellen farblich markieren

ich habe in meinem Tabellenblatt eine Zeile mit Kalenderwochen, also 52 Spalten. In jeder dieser Zelle steht eine Formel die prüft ob an anderer Stelle diese Kalenderwoche genannt wird und markiert im positiven Fall die Zelle farblich und schreibt einen Buchstaben hinein.
Auf diesem Weg markiere ich den Start und Endzeitpunkt eines Projekts.
Nun möchte ich aber gerne den Zwischenraum, also alle Zellen die sich zwischen den beiden befüllten befinden, ebenfalls farblich markieren um den gesamten Projektzeitraum zu visualisieren. Dazu habe ich bisher keine Möglichkeit gefunden.
Hat jemand einen Tipp für mich?.

Excel VBA /wie kann ich die Zellen in format Zahl und Währung benutzen?

hier meinen Formatbereich: Dim intErsteLeereZeile As Long With ActiveSheet intErsteLeerZeile =.Cells.End.Row + 1.Cells.Value = CDate.Cells.Value = CDate.Cells.Value = Me.cboAusführungsland.Value.Cells.Value = Me.cboBearbeiter.Value.Cells.Value = Me.cboBereich.Value.Cells.Value = Me.TxtBestllNr_Kommentare.Value.Cells.Value = Me.txtKunde.Value.Cells.Value = Me.txtKundenanfragenr.Value.Cells.Value = Me.txtKurzbeschreibung.Value.Cells.Value = Me.txtPreis.Value intErsteLeerZeile, 11intErsteLeerZeile, 15intErsteLeerZeile, 2intErsteLeerZeile, 10intErsteLeerZeile, 1DIE ZELLE HIER SOLL IM FORMAT ZAHL UMGEWANDELT9
End With
End Sub
PS: Cells müsste sich sowieso immer auf die Zellen des aktiven Sheets beziehen. "With ActiveSheet" müsste also überflüssig sein.
Und für nen normalen Zahl wie soll das lauten?.Cells.Value = ->hier sollte das Angebotsnummer als Zahl in der form 001 gezeigt werden.
Suche mal nach den Konvertierungsfunktionen. Fangen alle mit C an. Für Ganze Zahlen kannst du CInt verwenden.
Nur wenn du ein benutzerdefiniertes Format verwenden willst, kommst du mit den Konvertierungsfunktionen nicht weit. Dann musst du das Format über eine Eigenschaft der Zelle definieren. War ich aber zu faul, jetzt nachzuschauen, weil für deine Zwecke die Konvertierungsfunktionen reichen.
Excel VBA- Summenfunktion mit 2 variablen Zellen
Hallo liebe ,
ich muss für die Arbeit ein Makro schreiben in denen ich monatliche Berichte umwandle und komplettiere.
Ich brauche dafür eine Summenformel mit 2 jeweils variablen Zellen, ich habs bisher mit einem Suchen-Befehl die jeweilige Zellen Nummer raus bekommen, die zu summierende Zahl ist also Dn n und o sind die variablen für die Zellenzahl; "D" & l ist die Zelle, in die ich die Formel schreiben möchte, diese wurde zuvor definiert"C13"Selection, Selection.EndWhat:="M10", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False"C" & kSelection, Selection.EndWhat:="TNPW0402", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False"D" & l).Select und beste , Samy
Hallo Samy, mit deinem Codeschnipsel habe ich so meine Probleme:n = ActiveCell.Row Du schreibst die Zeilennummer in n rein. n verwendest du weiter nicht. Range("C" & k"D" & l).Select Selben Fragen wie oben. Über was willst du summerieren?
Wo soll das Ergebnis hineingeschrieben werden?
Servus Suboptimierer,
n ist die Zellenzahl, in der mein erster "Suchen"-Befehl angeschlagen hat.
"C" & k ist die Zelle, in der die Einträge beginnen, in denen ich meinen Suchen-Befehl anwende, dieser wurde schon vorher definiert.
o ist das Ergebnis des zweiten Suchen-Befehls in "D" & l soll meine Formel eingetragen werden.
und in der Zelle "D" & l soll "D" & n und "D" & summiert werden.
Ich hoffe, dass es jetzt verständlicher ist.
du bist mein Retter! Hat sofort geklappt. Also vielen lieben Dank nochmal
So gut wie das geklappt hat, hat mir mein Chef gleich noch eine Aufgabe gegeben.
Wenn ich jetzt wieder etwas suche, sagen wir den Zelleninhalt "M50" (statt "M10" wie vorhin) und dieser ist nicht vorhanden, funktioniert mein Makro dann noch, und falls nicht, wie kann ich es wieder zum Laufen bringen?
Du musst dir die Hilfe zur Find-Methode anschauen: Range.Find-Methode Diese Methode gibt Nothing zurück , wenn keine Übereinstimmung gefunden wird. Also Set Found1 = Selection.Find"D"&l"D"&l"D"&l"D"&n"D"&l"D"&l"D"&0).value Kommentar von , 25.06.2014 Super, für die
So es hat alles gut geklappt bis bei einer Suche 2 Ergebnisse auftraten, da kommt bei mir immer die Meldung: Laufzeitfehler 13: Typen unverträglich.
Kann ich meinen Suchen-Befehl weiter beschränken? Weil in der Tabelle ist "M25" und "M25SI" vorhanden.
Hier die Suchen-Funktion: Set Found1 = Selection.Find(What:="M25", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate  Antwort von , 26.06.2014 ersetze in der Suchfunktion mal LookAt:=xlPart durch LookAt:=xlWhole
Microsoft Excel + VBA: Zellen färben wenn Formel "So" ergibt
Joho!
Bin immer noch mit meinem Kalender zugange. Diesmal möchte ich dass Sonntage sich automatisch rot mit grauem Hintergrund färben. Und das möglichst automatisch.
Gleichzeitig möchte ich, dass sich diverse andere Zellen anders färben, aber das funktioniert bereits. Nur der "So" hakt noch.
Zur Umgebung: Die Monate sind nebeneinander angeordnet. Jeder Monat besteht dabei aus vier Spalten:
  • Monatstag
  • Wochentag
  • Kalenderfeld
  • Kalenderwoche
  • Interessant ist nun Spalte 2: Wochentag. Spalte 1 (z.B. "A3"'Jahr anpassen'!$B$21;SPALTEz.B. "B3"Mo, Di,.) ausgegeben wird: =A3 Ich hätte jetzt gern in VBA eine Lösung, die die Zelle B3 rot und grau färbt, wenn A3 ein Sonntag ist, bzw. wenn B3 "So" anzeigt. Und wenn möglich, hätte ich das gern in meine wunderbare IF-Funktion integriert. Die jetzige funktioniert, bis auf den "So"-Block.
    Hier mal den gesamten Code, so wie er momentan noch steht: Private Sub Worksheet_Change Dim rngCell As Range Dim bytColor As Byte ' Bereich der überwacht wird Set Target = Intersect"A3:BD33").UCase, "BEST.-I.") > 0 Then bytColor = 35 rngCell.Offset.Interior.ColorIndex = 35 rngCell.Offset.Interior.ColorIndex = 35 rngCell.Offset.Interior.ColorIndex = 35 ElseIf rngCell.Value = "So" Then bytColor = 15 rngCell.Offset.Interior.ColorIndex = 15 rngCell.Offset.Interior.ColorIndex = 15 rngCell.Offset.Interior.ColorIndex = 15 rngCell.Font.ColorIndex = 3 rngCell.Offset.Font.ColorIndex = 3 rngCell.Offset.Font.ColorIndex = 3 rngCell.Offset.Font.ColorIndex = 3 Else bytColor = 0 rngCell.Offset.Interior.ColorIndex = 0 rngCell.Offset.Interior.ColorIndex = 0 rngCell.Offset.Interior.ColorIndex = 0 rngCell.Font.ColorIndex = 1 rngCell.Offset.Font.ColorIndex = 1 rngCell.Offset.Font.ColorIndex = 1 rngCell.Offset.Font.ColorIndex = 1 End If rngCell.Interior.ColorIndex = bytColor Next rngCell End Sub!
    , Rot-Fuxs
    Was ich an deinem Kalender nicht ganz verstehe ist, warum du den Wochentag da unbedingt als Text drinne haben willst und nicht als Datumsformatierung. Das würde so vieles einfacher machen.
    Was stört sich so sehr an der Bedingten Formatierung das es unbedingt VBA sein muss? 3 Bedingungen kannst du abfragen. mit einer Grundformatierung hast du also 4 Möglichkeiten die Zelle zu gestalten.
    Du hast hoffentlich nicht die eingebaute Formel zur Berechnung der KW benutzt. diese entspricht nicht der DIN-Norm.
    =KÜRZENA1-2;7 ergibt die DIN-KW
    Hey!
    Jo, hab die "=KÜRZEN(."-Formel benutzt. Die eingebaute Funktion ist ja echt fies. Bis ich mal dahinter gestiegen bin, warum es verflucht noch mal nicht funktioniert. xD
    Ich kann nur schwer ausdrücken, was ich an der bedingten Formatierung nicht mag. Ich mag sie nur einfach nicht. An sich bietet sie natürlich schöne Möglichkeiten. Aber insofern man VBA beherrscht hat man einfach viel mehr und viel präzisere Möglichkeiten. Außerdem kann man die bedingte Formatierung auch schnell mal "verliehren". Weiß nicht, wie ich's besser ausdrücken soll.
    Wie auch immer, im VBA-Editor hat man alles schwarz auf weiß und alles in einem Blick. Außerdem wirkt dann alles sofort global.
    Ich mag VBA einfach lieber, beherrsche es aber leider nur amateurhaft, wenn überhaupt. Aaaaalso. Hab's jetzt doch erstmal mit den bedingten Formatierungen gemacht, auch wenn ich's von der Bearbeiung her unschön finde. Sollte dennoch jemand einen verwendbaren Code mit mir teilen wollen, bitte ich ihn freudig, dies auch zu tun! , Rot-Fuxs
    PS: Wegen der Datumsformatierung: Vorgaben, Vorgaben, Vorgaben. und selbst wenn ich die nicht hätte, es sieht so einfach am besten aus! ^.^ 01 So 02 Mo 05 03 Di Termin XY 04 Mi Kommentar von , 13.09.2012 Aussehen ist eine Darstellungsfrage des Datums. Benutzerdefiniertes Format "TTT" liefert aus der Datumszahl So, "TTTT" hingegen das ganze Wort Sonntag.
    Und Rest=1 ist auch Sonntag. Deine Abneigung gegen die bedingte Formatierung teile ich, seit mir aufgrund eines anscheinend xl-2007-Fehlers eine Datei immer mehr aufgebläht wurde, bis nichts mehr ging und ich dadurch ein komplizierteres Konstrukt völlig neu anlegen musste. Scheint erhebliche Tücken zu haben.
    Hab übrigens heute meine AW auf Deine Frage von vor einer Woche nochmals ergänzt, praktisch gleichzeitig mit Deiner neuen Frage!
    Schau Dir vielleicht auch meine AW auf
    Kalender in Office
    von PeeKS an. Zu Kalendern gibts auch jede Menge im Netz
    Jo, das benutzerdefinierte Datumsformat nutze ich auch! Irgendwie müssen wir da wohl aneinander vorbei geredet haben.
    Iamiam, für deine ganzen Antworten. ^,^
    Ich denke, ich hab's jetzt so wie ich das will. Der Sonntag hakt weiterhin im VB, aber mit den doofen bedingten Formatierungen funzt es trotzdem.
    Also quasi alles jut. allen! , Rot-Fuxs
    Welche Excel-Version?
    Bei neueren Excel-Versionen lässt sich das ganze ohne VBA bewerkstelligen. Und zwar über bedingte Formatierung
    Excel 2003. Allerdings möchte ich es ganz bewusst nicht über beingte Formatierungen laufen lassen, da diese ganz erhebliche Grenzen haben. Wenn es irgendwie geht, dann hätt ich's ganz gern' mit VBA umgesetzt. Und ich bin fest davon überzeugt, dass es geht!
    , Rot-Fuxs
    Bedingte Formatierung gibt es bei Excel seit Urzeiten.
    In den Urzeiten konnte man pro Zelle aber nur 3 Bedingungen angeben. Das hat sich zum Glück nun geändert
    Das ist wohl wahr. Ja manchmal denken die bei Kleinweich auch mit.
    da merk ich wieder mal, wie alt ich schon bin!
    Für mich ist die Einführung der bedingten Formatierung in xl2000 was relativ Neues! oder wars 98?.
    ich mach so den Samstag hellgrau und den Sonntag dunkelgrau: Z = ActiveCell.Row S = ActiveCell.Column For Month = 1 To 12 Cells = CDate(1 & "." & Month & "." & YearZ + Day, SDay & "." & Month & "." & YearZ + Day, S + MonthDay & "." & Month & "." & YearCellsZ + Day, S + Month196, 196, 196CellsZ + Day, S + Month224, 224, 224) End If End If Next Next und das klapp vorzüglich.
    Distel
    anstatt weekday kannst Du auch das kürzere Rest=1 nehmen!
    (aber CDate kannte ich noch nicht
    Makro automatisch ausführen bei Zellenänderung VBA
    ich habe ein Makro, dass mir automatisch die Zeilenhöhe mit Zeilenumbruch anpasst, wenn der Text zu lang ist (es wirkt auf das ganze Tabellenblatt aber mir geht es hauptsächlich um die verbundenen Zellen "D31:M31"). Dies passt auch soweit wenn ich das Makro nach Eingabe des geänderten Textes ausführe.
    Nun benötige ich noch, dass das Makro automatisch ausgeführt wird, sobald sich der Text in der Zelle ändert. "Nehmen wir an da steht "hallo" und ich schreibe nun "hallo hans" hinein.
    Leider funktioniert es nicht mittels VBA, wenn ich den Text ändere. Weiß jemand rat was ich falsch mache?
    für jeden Hinweis!
    VBA in Tabelle1:
    Private Sub Worksheet_Change If Not Intersect"$D$31:$M$31")11CurrentRowHeight > PossNewRowHeight, _ CurrentRowHeight, PossNewRowHeight) End If End With End If End Sub
    VG fireless91
    P.S.: Meine VBA Kenntnisse sind eher mau. von daher nicht böse sein face-wink
    Hi, natürlich und sorry für das schlechte Format. Hier das Makro:Sub Zellenanpassen(11CurrentRowHeight > PossNewRowHeight, _ CurrentRowHeight, PossNewRowHeightByVal Target As RangeTarget, Range("$D$31:$M$31")) Is Nothing Then Zellenanpassen End Sub Wie gesagt sind meine VBA-Kenntnisse eher sehr mau. Ich hab mir diese aus einer bekannten Suchmaschine zusammengewürfelt und bin gerade echt schon am verzweifeln. " im worksheet_change haltepunkt setzen und dann step by step. activecell = selected cell?"
    Was ist damit gemeint? für die Hilfe
    Da hast Du aber gut geguglt, ausgewertet und kombiniert, Respekt
    also als erstens lernst du einen code im gutefrage-editor richtig abzusetzen: den text mit der maus markieren und dann ctrl+K 5. auf der symbolleiste über dem editorkontrollieren in der vorschau)
    wird Zellenanpassen angesteuert? im worksheet_change haltepunkt setzen und dann step by step.
    activecell = selected cell?
    ich würde dem zellenanpassen gleich den range als parameter mitgeben.
    , max.
    Excel vba in definierte Zellen springen mit commandbutton
    Hallo, ich habe mir zur Vereinfachung auf Arbeit ein Excel File erstellt, wo ich mit commandbuttons Einträge in Zellen machen kann, ohne jedes Mal die Tastatur benutzen zu müssen. Jetzt möchte ich einen Button erstellen, der mit jeder Betätigung in eine bestimmte Zelle springt. Z.B.: ich mache eine Eingabe in A2 und möchte die nächste Eingabe in B7 machen und wieder eine Eingabe Später in F11 gehen. wie realisiere ich solch eine "Springen" Funktion mit nur einem Button? Bei Google habe ich dazu seit 2 Stunden keine Lösung finden können und hoffe hier fündig zu werden.
    Wenn ich Dich richtig verstehe, könnte das so aussehen:
    Private Sub CommandButton1_Click() Dim Adresse As String Adresse = ActiveCell.Address Select Case Adresse Case Is = "$A$2" Range("B7").Select Case Is = "$B$7" Range("F11").Select Case Is = "$F$11" Range("H13").Select Case Else: ActiveCell.Select End Select End Sub Allerdings ließe sich das sinnvoller über ein Change-Ereignis lösen oder sogar einfach über den Blattschutz.
    Aber ich will Dich nicht durcheinander bringen.
    Wenn Du das über einen Button lösen willst könnte es SO klappen.
    Oder?
    Ich Check das gleich mal aus- ich dir schonmal für deine Mühe
    Hey hab das mal in einem leeren excel Dokument nur mit dem Button angetestet- funktioniert leider nicht kommt keine Fehlermeldung
    Ah doch jetzt geht's und wenn ich das unabhängig von der Zelle A2 machen will? Das heißt den Button aus jeder Position heraus in die definierten Zellen fahren will?
    Du willst aber schon mit A2 anfangen und dann in einer bestimmten Reihenfolge weiter machen?
    Dann vlt.:Private Sub CommandButton1_Click() Dim Adresse As String Adresse = ActiveCell.Address Select Case Adresse Case Is = "$A$2" Range("B7").Select Case Is = "$B$7" Range("F11").Select Case Is = "$F$11" Range("H13""A2""A2").Select
    Den Button platzierst du übrigens am besten im linken oberen Fensterkreuz, wenn Du mindestens eine Zeile und eine Spalte "einfrierst" Zelle B2 oder rechts davon und/oder unterhalb davon auswählen, dann
    Menü Ansicht, Fenster einfrieren, Fenster einfrieren.
    Aber es ist gesünder, sich ab und zu mal aufrecht vor die Tastatur zu setzen und was einzutippen
    Es sollte so sein das ich von jeder x-beliebigen Zelle in die definierten Zellen kommen kann A2 war nur ein Beispiel. Der Button soll ja einfach nur definierte Schritte gehen egal von welcher Position gesehen. Sorry wenn das missverständlich ausgedrückt war
    DAS macht er doch mit dem geänderten Makro. ODER?
    Oder woher sonst, soll der Button wissen, in welcher der Zelle er gerade springen soll?
    Ich fürchte, Du musst das doch etwas genauer beschreiben.
    Ah super - jetzt klappts wunderbar mit der Änderung
    Freut mich, dass Du es doch noch hinbekommen hast ☼



    excel
    Wie kann ich in einer Excel Tabelle alle Zellen in denen "0" steht in leere Zellen …

    - nicht mit 0 füllen! Nur ich denke, dass du diesen Vorgang automatisch erfolgen lassen möchtest! Ich meine, es geht nicht. Es -Wie kann ich in eine Excel Tabelle alle Zellen in denen "0" steht in leere Zellen verwandeln? -


    office
    Microsoft Office fürs MacBook Air?

    - drauf und aufs macbook air kopieren FUNKTIONIERT 100% office klappt nur auf windows für mac hat apple was eigenes entwickelt -


    programmierung
    Ich muss bei Openoffice eine Datei über Textimport öffnen, aber er verändert die daten …

    - öffnet er die datei. nur leider wandelt er einzelne daten automatisch in ein DATUM oder sowas um. Laut dem Support soll ich dann -- datei und es öffnet sich das dialogfeld TEXTIMPORT von openoffice. Bis dahin ist alles auch richtig. Ich treffe meine Einstellungen -