Microsoft Excel

Herbers Excel/VBA-Archiv

VBA - Zellen auswählen und zentrieren

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.

  

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


  

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.


  

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


  

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?


  

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?


  

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.


  

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

:-?


  

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

:(


  

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 …


  

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?


  

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 :-?


  

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

Danke sehr!


  

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

:-?


 

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