Zeile bei Excel ausblenden, wenn bestimmte Zeile leer ist

Hallo,

folgende Situation: All meine Post sammel ich unsortiert in Ordnern. Um diese zu finden habe ich sie Nummeriert (3/112 [3-Ordner;112-laufende Nummer in diesem Ordner]). Um bestimmte Briefe wieder finden zu können, habe ich eine Exceltabelle angelegt. Spalten ABC geben die Nummerierung wieder, in Spalte D ist der Absender, E enthält das Datum des Schreibens und in F stehen bestimmte Inhalte des Briefs um diese mit Strg+F finden zu können.

Das klappt soweit auch alles gut. Jetzt möchte ich das aber alles mit Makros automatisch machen. Also dass ich in einem Feld einen Suchbegriff einge, und dann nurnoch die Zeilen angezeigt werden, die diesen enthalten.

Bsp.: Ich Suche nach "Rechnung" - es sollen alle Briefe, bei denen ich diesen Tag in irgendeiner Art in Spalte F eingegeben habe angezeigt werden. Also sowohl "Rechnung" als auch "InternetRECHNUNGsbetrag" sollen stehen bleiben. Alle anderen Zellen sollen ausgeblendet werden.

In VBA habe ich bisher das eingegeben, was auch in einem Testsheet geklappt hat (Also natürlich nur das Zeilenausblenden)

Sub test() Dim x As Integer

Tabelle1.Activate x = 2 Do If Cells(x, 6).Value = "" Then Rows(x).EntireRow.Hidden = True Else Rows(x).EntireRow.Hidden = False End If x = x + 1 If Cells(x, 1).Value = "Gesamt" Then Exit Do Loop

End Sub

Anschließend habe ich in meiner Origionalen Tabelle eine Hilfsspalte eingefügt, die nach den Wörtern in Spalte D und F suchen soll und das Wort oder etwas anderes in der Hilfsspalte wiedergibt, damit der oben ganannte Code alles ausblenden kann. Habe ich so leider nicht hinbekommen.

Kann mir jemand helfen? ich denke der Ansatz ist gut und auch umsetzbar. Ich bin allerdings für andere Lösungsansätze offen. Bedenkt dabei aber bitte, dass ich eine VBA-Bull bin, also eventuell eine kleine Erklärung, was mit welchen Variablen geimt ist, dass ich das anpassen kann.

Vielen Dank schonmal im Voraus

Microsoft Excel, VBA
Email mit vba aus Excel + Text aus Word

Hallo zusammen,

ich bin gerade dabei VBA zu lernen und würde gerne testen, wie man mit Outlook automatisch Emails versenden kann. Hierzu habe ich entsprechende Empfänger (Adresese, Vorname, Nachname und Betreff) in Excel. Einen entsprechenden Email-Text (inkl. Absatz und Textformatierung) habe ich in Word vorliegen. Kann man das irgendwie kombinieren?

Ich habe im Netz bislang nur Lösungen gefunden, wie man Emails versenden kann, bei denen alles in Excel oder dem VBA vorliegt.

z.B. diese hier:

Sub Excel_Serial_Mail()
Dim MyOutApp As Object, MyMessage As Object
Dim i As Long
'Start der Sendeschleife an 10 Empfänger
For i = 1 To 10
    Set MyOutApp = CreateObject("Outlook.Application")
    Set MyMessage = MyOutApp.CreateItem(0)
    With MyMessage
        'Die Empfänger stehen in Spalte A ab Zeile 1
        .To = Cells(i, 1) 'E-Mail Adresse
        'Der Betreff in Spalte B
        .Subject = Cells(i, 2) '"Betreffzeil"
        'Der zu sendende Text in Spalte C
        'Maximal 1024 Zeichen
        'Der Text wird ohne Formatierung übernommen
        .Body = Cells(i, 3)
        'Hier wird die Mail angezeigt
        '.Display
        'Hier wird die Mail gleich in den Postausgang gelegt
        .Send
    End With
    'Objectvariablen leeren
    Set MyOutApp = Nothing 'CreateObject("Outlook.Application")
    Set MyMessage = Nothing 'MyOutApp.CreateItem(0)
    'Sendepause einschalten
    'Outlook kann die Aufträge nicht schnell genug verarbeiten
    Application.Wait (Now + TimeValue("0:00:05"))
Next i
End Sub
Microsoft Word, Microsoft Excel, E-Mail, VBA
Excel VBA: Sverweis Formel - Makro einfügen!

Hi zusammen. Habe mir heute mein erstes Userform gebastelt (Google sei Dank...). Mein UF macht simpel nichts anderes, als Einträge aus der EIngabemaske in eine Tabelle zu füllen.

Dim emptyRow As Long

'Ermitteln der ersten leeren Zeile
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Wohin werden die eingegebenen Datein eingefüllt?
Cells(emptyRow, 1).Value = ComboBox1.Value
Cells(emptyRow, 5).Value = TextBox1.Value
Cells(emptyRow, 2).Value = TextBox2.Value
Cells(emptyRow, 3).Value = TextBox3.Value
Cells(emptyRow, 7).Value = TextBox4.Value

If OptionButton1.Value = True Then
    Cells(emptyRow, 6).Value = "1. Halbjahr"
End If

If OptionButton2.Value = True Then
    Cells(emptyRow, 6).Value = "2. Halbjahr"
End If


Me.Label7 = "Speichern erfolgreich!"

End Sub

Ich muss auch sagen, es funktioniert prächtig. Die Einträge werden alle korrekt erstellt etc. Nur habe ich in Spalte "H" meiner Tabelle, wo die Daten eingefügt werden, eine Spalte für SVerweis. Diese Formel soll jedesmal, wenn ein neuer Eintrag gespeichert wird, angefügt werden. Wenn ich von anfang an alle Formeln runterziehe bis ans Ende der Tabelle braucht Excel 2Minuten zum das Dokument zu öffnen... Formel lautet: =SVERWEIS($A2;'Tabelle1'!$A$1:$C$31;2;FALSCH) Wobei der Bezug A2 natürlich mit jeder Zeile anders ist (A2, A3, A4 etc.) Wenn ich die Formel "aufzeichne", erscheint folgendes, womit ich absolut nix anfangen kann.

Sub SVerweis_HC()
'
' SVerweis_HC Makro
'

'
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC1,'Tabelle1'!R[-1317]C[-7]:R[-1289]C[-6],2,FALSE)"
    Range("H1319").Select
End Sub

Kann hier wer helfen?

Bild zu Frage
Computer, Microsoft Excel, programmieren, Makro, VBA, Script, Tabelle
Excel ZÄHLENWENN mit relativen Bezug auf Zelle oberhalb der aktuellen

Hallo,
Ich habe eine Tabelle, in der ich die erste Spalte auf Duplikate überprüfen möchte.
Dazu sorteiere ich diese Spalte (alles Zahlen) in aufsteigender Reihenfolge und möchte nun die "Zählenwenn"-Funktion verwenden, um die Duplikate zu zählen.
Da die Spalte ja sortiert ist kann ich sicher sein, dass gleiche Zahlen immer übereinander liegen, sodass ich in der "Zählenwenn"-Funktion folgendes haben möchte:

=ZÄHLENWENN(Bereich;Inhalt=Inhalt der Zelle oberhalb)

Die Zählenwennfunktion durchläuft ja alle Zellen im Bereich, weshalb (theoretisch) die Funktion "Adresse()" mit "Zeile()" und "Spalte()" als Parameter die aktuelle Zelle referenzieren/sich darauf beziehen.
Das würde bedeuten, dass ich in der "Zählenwenn"-Funktion als zweiten Parameter eigentlich nur folgendes eingeben müsste:

Adresse(Zeile()-1;Spalte())

Funktioniert nicht.
In einigen Beispielen habe ich gesehen, dass Bezüge auf andere Zellen in der "Zählenwenn"-Funktion mit einem "&" beginnen, also habe ich folgendes versucht:

=ZÄHLENWENN(A2:A3000;&ADRESSE(ZEILE()-1;SPALTE()))

Wieder kein Erfolg.

Deshalb die Frage: Wie kann ich in der "Zählenwenn"-Funktion in Excel mich auf eine Zelle, relativ zur aktuellen beziehen? Das hier genannte Beispiel wird sicher auch anders zu lösen gehen, aber den genannten relativen Bezug (also relativ zur Aktuellen Zelle) könnte man in der Zählenwenn schon öfters brauchen. Danke und lg, Springrbua

Microsoft Excel, Funktion, VBA, Anzahl, Tabelle, zaehlenwenn
VBA: Zwei Spalten mit Wert multiplizieren und dann addieren mit Hilfe von Makros

Hallöchen,

ich habe folgendes Problem Ich habe zwei Spalten die ich jeweils miteinander addieren möchte. Doch bevor ich diese addiere, möchte ich Spalte B mit dem Wert aus der TextBox1 multiplizieren und Spalte C mit dem Wert aus Textbox2. Danach sollen beide Spalten miteinander addiert und dann sortiert werden. Spalte D ist in diesem Fall die Ergebnisspalte. Das Programm hat auch schon funktioniert, jedoch habe ich vorher nur die spalten addiert und sortiert.

HIer mein bereits geschriebener Code:

Private Sub CommandButton1_Click()



' Prüfen ob Lastspitzen eingetragen wurden, ansonsten Fehlermeldung

        If TextBox1.Value = "" Or TextBox2.Value = "" Then
        MsgBox "Bitte geben Sie eine Lastspitze ein!"
     
Else
        
Dim wks As Excel.Worksheet
Dim lngLetzteZeile As Long
Dim Last1 As Integer
Dim Last2 As Integer
Last1 = TextBox1.Value
Last2 = TextBox2.Value  

Set wks = ActiveWorkbook.Worksheets("Vergleich")


With wks
 
lngLetzteZeile = .Cells(.Rows.Count, "B").End(xlUp).Row
If lngLetzteZeile < 15 Then Exit Sub

 With .Range("D15:D" & lngLetzteZeile)
 'berechne: D := B + C
 .FormulaR1C1 = "=RC[-2]*Last1+RC[-1]*Last2"
 'Formeln durch deren Ergebnis ersetzen
 .Value = .Value
 End With
 
With .Range("B15:D" & lngLetzteZeile)
 .Sort Key1:=.Cells(2), Order1:=xlDescending, _
 DataOption1:=xlSortTextAsNumbers, _
 SortMethod:=xlPinYin
End With

End With
End If


End Sub
Microsoft Excel, Makro, VBA
Excel Suchfunktion für Spalte

Hallo an alle,

ich arbeite zur Zeit an einer Excel-Tabelle und benötige etwas Hilfe bei einer integrierten Suchfunktion.

Die Tabelle ist recht groß - das einzige, das mich allerdings interessiert ist Spalte B, in der inzwischen mehrere hundert Wortkürzel stehen (z.B. ABS, TPP, KVP).

Um es benutzerfreundlicher zu machen möchte ich ein Suchfeld integrieren, mit dem ich die Spalte B nach Wörtern durchsuchen kann. Hier mal kurz die Eckdaten, wie ich mir das ganze Vorstelle:

  • Einzelnes Suchfeld, in das ein Wort eingegeben werden kann

  • Programm springt nach Eingabe zur Position des Kürzels

  • Suche soll genau das eingegebene Wort suchen und nicht alle Wörter, in denen diese Textkombination enthalten ist. Wenn ich nach PA suchen würde, würde er mir sonst wahrscheinlich 300 Wörter markieren!

Wunschanforderung wäre, dass Excel mir einfach alle Wörter markiert (z.B. rot umrandet), da manche Kürzel auch mehrfach in der Tabelle stehen.

Ich habe zwar schon eine Formel aber die benötigt 2 Felder und das findet mein AG nicht genial genug :D

Bestens wäre natürlich ein VBA-Code, die kann ich aber leider nicht selbst programmieren und finde kein Tutorial dafür, noch einen geeigneten Code im Internet.

Falls jemand bereit wäre mir dabei zu helfen, schreibe ich natürlich gerne mehr Informationen zur Tabelle. Ansonsten Danke für alle (Verbesserungs-)Vorschläge und konstruktiven Kommentare ;)

LG

Microsoft Excel, VBA, Suchfunktion

Meistgelesene Fragen zum Thema VBA