VBA - Zellen auswählen und zentrieren

Bild

Betrifft: VBA - Zellen auswählen und zentrieren
von: Anika
Geschrieben am: 23.04.2015 18:26:01

Hallo,
ich bin absoluter VBA Anfänger und suche eine Möglichkeit, Zellen nach einem bestimmten Inhalt zu durchsuchen, dann diese Zelle und die daneben zu markieren und über die Auswahl zu zentrieren.
Am besten schon während der Eingabe.
Bsp:
Zelle A1 und A2 sind leer. In Zelle A1 wird Eingabe "**" vorgenommen.
Der Code soll folgendes tun:
Text "**" finden, die entsprechende Zelle und die Zelle rechts daneben (also A1 und A2) markieren und den Inhalt über die Auswahl zentrieren, so dass "**" über A1 und A2 zentriert wird.

Bild

Betrifft: AW: VBA - Zellen auswählen und zentrieren
von: Matthias L
Geschrieben am: 23.04.2015 18:49:49
Hallo
Wenn A1 und A2 leer sind und in A1 eine Eingabe gemacht wird, warum willst Du dann nochmal danach suchen?
Machs doch gleich nach der Eingabe.
Ich vermute hier mal das soll für alle EingabeZellen so sein.
Ein Bsp.
Code gehört ins Tabellenblatt

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Union(ActiveCell, ActiveCell.Offset(, 1))
 .HorizontalAlignment = xlCenterAcrossSelection
End With
End Sub
Gruß Matthias

Bild

Betrifft: AW: VBA - Zellen auswählen und zentrieren
von: Anika
Geschrieben am: 23.04.2015 19:09:19
Nein. Die Zellen sollen nicht bei jeder beliebigen Eingabe ausgewählt und zentriert werden sondern nur wenn bestimmte Werte eingetragen werden.

Bild

Betrifft: AW: VBA - Zellen auswählen und zentrieren
von: Matthias L
Geschrieben am: 23.04.2015 19:53:59
Hallo
Nein. Die Zellen sollen nicht bei jeder beliebigen Eingabe ausgewählt und zentriert werden sondern nur wenn bestimmte Werte eingetragen werden.

Dann bau doch ein If drumherum
Gruß Matthias

Bild

Betrifft: AW: VBA - Zellen auswählen und zentrieren
von: Anika
Geschrieben am: 23.04.2015 19:57:53
Leider beherrsche ich kein vba, wie würde das Aussehen?

Bild

Betrifft: AW: VBA - Zellen auswählen und zentrieren
von: Anika
Geschrieben am: 23.04.2015 20:10:47


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If ActiveCell = "FR"
  Then
  With Union(ActiveCell, ActiveCell.Offset(, 1))
   .HorizontalAlignment = xlCenterAcrossSelection
  End With
  End If
  End Sub
Das funktionert leider nicht. Nehme an, dass man Then und With nicht einfach hintereinander setzen kann?

Bild

Betrifft: AW: VBA - Zellen auswählen und zentrieren
von: Anika
Geschrieben am: 23.04.2015 20:26:39


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If ActiveCell = "FR" Then Range("ActiveCell, ActiveCell.Offset(, 1)").Select
  Selection.HorizontalAlignment = xlCenterAcrossSelection
  End Sub
Funktioniert leider auch nicht.

Bild

Betrifft: If ActiveCell = "FR" Then => sonst OK! Gruß owT
von: Luc:-?
Geschrieben am: 23.04.2015 20:26:42
:-?

Bild

Betrifft: AW: If ActiveCell = "FR" Then => funktioniert nic
von: Anika
Geschrieben am: 23.04.2015 20:34:01
:(

Bild

Betrifft: Außerdem ist hier 'ActiveCell' das 'Target', ...
von: Luc:-?
Geschrieben am: 23.04.2015 20:42:27
…also eher so, Anika:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Rows.Count > 1 Then Exit Sub
    If Target.Cells(1) = "FR" Then 
        Target.Resize(1, 2).HorizontalAlignment = xlCenterAcrossSelection
    End If
End Sub
Gruß, Luc :-?

Besser informiert mit …

Bild

Betrifft: AW: Funktioniert, nur eine Kleinigkeit :)
von: Anika
Geschrieben am: 23.04.2015 20:46:00
Nachdem ich FR eingetragen habe, muss ich noch einmal die Zelle auswählen, damit die Formatierung angewendet wird. Geht es auch, dass direkt nach der Eingabe formatiert wird?

Bild

Betrifft: Ja, dazu benötigst du nur ein anderes Ereignis,...
von: Luc:-?
Geschrieben am: 23.04.2015 20:58:03
…Anika,
nämlich Worksheet_Change! Also nur das Selection aus dem ProzedurNamen löschen, sonst sieht sie genauso aus und sollte auch fktionieren, wenn du "FR" einkopierst. Das dürfen dann aber nur ein oder mehrere Werte einer Zeile sein und der 1. muss ggf das "FR" enthalten. Anderenfalls passiert nichts. Das Ereignis wird erst nach Beenden der Eingabe ausgelöst!
Falls mehrere Zeilen einkopiert wdn sollen, muss die PgmZeile mit dem Exit Sub auskommentiert oder entfernt wdn. Dann muss allerdings auch die 1.Zelle "FR" enthalten, wenn etwas passieren soll.
Luc :-?

Bild

Betrifft: SUPER! Problem gelöst.
von: Anika
Geschrieben am: 23.04.2015 21:13:29
Danke sehr!

Bild

Betrifft: Na, prima! Bitte sehr! owT
von: Luc:-?
Geschrieben am: 24.04.2015 02:48:25
:-?

 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA - Zellen auswählen und zentrieren"