Visual Basic Wenn die aktive Zelle Text „A“ enthält und eine 1 nach rechts in die Zelle einfügt

StackOverflow https://stackoverflow.com/questions/4856617

Frage

Die Aufgabe ist, ob die aktuell ausgewählte Zelle ein "a" enthält, dann ein 1 in die Zelle nach rechts einfügen und (wegen Daten unten) eine neue Zeile unten einfügen und die Zelle unter der 1 mit einem 0 füllen.

Also, wenn die Zelle ein "A" enthält, wenn das Makro ausführt, verlässt sie; a 1 0

Wobei die 1 in der Zelle rechts von A und 1 in einer neuen Reihe in der Zelle direkt unter dem 1 befindet.

Der Code, den ich derzeit habe, ist;

Sub ChangeAToCells()
Dim text As String
text = "a"
Dim text0 As String
text = "b"
Dim text1 As String
text = "0"
Dim text2 As String
text = "1"


If ActiveCell = text Then
ActiveCell.Formula = text1
ActiveCell.Offset(1).EntireRow.Insert
ActiveCell.Offset(1, 0).Select
ActiveCell.Formula = text2
End If



End Sub

Die Probleme sind klar, die Auswahl der Zellen funktioniert nicht und ich kann den Schleifenausgang nicht richtig machen.

War es hilfreich?

Lösung

Sub ChangeAToCells()
If ActiveCell = "a" Then
   ActiveCell.Offset(0, 1) = 1
   ActiveCell.Offset(1).EntireRow.Insert
   ActiveCell.Offset(1, 1) = 0
End If
End Sub

Andere Tipps

Was erwarten Sie diesen Code? Sie weisen zunächst 4 verschiedene Werte derselben Zeichenfolge zu, vergleichen dann eine Zelle mit einer Zeichenfolge. Wenn sie gleich sind, setzen Sie den Wert von zwei Zellen auf die Werte von zwei Zeichenfolgen, die Sie nicht initialisiert haben.

Ich denke, Sie wollten initialisieren text0, text1 und text2 auch statt initialisieren text vier Mal.

Ich verstehe nicht, was Sie unter "Schleifen bearbeiten" meinen. In Ihrem Code enthält keine Schleife.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top