Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1872to1876
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA Formel ändern
10.03.2022 20:02:28
Albert
Hallo liebes Forum,
ich habe zwei Probleme welche ich nicht hinbekomme.
Frage 1:
kann man die Formel siehe unten so ändern, das "Cells(ActiveCell.Row, 60).Select"
an Stelle ".Row, 60" auf den Spaltenbereich (Name lt. Namensmanager ist Änderungsdatum mit Bezug =Kunden!$BJ$5:$BJ$10004) zugreift und
dann das Datum einfügt und dann wieder zur Ausgagszelle zurückspringt?

With ActiveCell
Cells(ActiveCell.Row, 60).Select
ActiveCell.Value = CDate(Format(Now, "dd.mm.yyyy hh:mm"))
With ActiveCell
Cells(ActiveCell.Row, -60).Select
End With
End With
Frage 2:
Das ist ein Makro siehe unten welches Herbert_Grom für mich gemacht hat. Er hat mir eh schon so viel geholfen, deshalb wende ich mich allgemein an das Forum ausser Helmut will mir nochmals helfen.
Auch hier möchte ich keinen absoluten Bezug haben, weil wenn ich später einmal eine Spalte einfügen muss, dann soll das Makro auch noch funktionieren.
Bitte wenn möglich auch hier den Name lt. Namensmanager verwenden
bei "Chr(Range("1:10")" falls es da überhaupt notwendig ist und
bei "CountIf(Range("J1:J10004")"
Der Name lt. Namensmanager ist Land_Fi mit Bezug =Kunden!$J$1:$J$10004 zu verwenden.

Private Sub CommandButton1_Click()
Dim lRowIn&, sCol$
sCol = Chr(Range("1:10").Find(What:="Land (Fi)").Column + 64)
lRowIn = Application.WorksheetFunction.CountIf(Range("J1:J10004"), ">A") + 2
Range(sCol & lRowIn).Select
UF_ListeFilternBuchstabenweise.Show
End Sub
Bitte, danke!
FG
Bert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Formel ändern
10.03.2022 20:46:16
Daniel
Hi
Frage 1:

Cells(ActiveCell.row, Range("Änderungsdatum").Column).Value = CDate(...)
Frage 2:
Auch hier kannst in Range ("...") anstelle der Adresse den Namen eintragen.
Gruß Daniel
AW: VBA Formel ändern
11.03.2022 10:48:53
Albert
Hallo Daniel,
danke für deine Hilfe. Es funktioniert alles wunderbar.
Zwei Verständnisfragen hätte ich noch dazu.
Frage 1:
Durch welche Funktion springt der Courser von Range("Änderungsdatum") = "BJ" nach dem Datum einfügen wieder
auf die Ausgangszelle zurück, obwohl es in der Formel dafür keinen Befehl gibt?

ActiveCell.Offset(0, 2).Select
With ActiveCell
Cells(ActiveCell.Row, Range("Änderungsdatum").Column).Value = CDate(Format(Now, "dd.mm.yyyy hh:mm"))
End With
Frage 2:
Zu später einmal eine Spalte einfügen was ich getestet habe.
Da danach alles funktioniert hat, ist mir nicht klar wofür "sCol = Chr(Range("1:10")" steht.
Die Spalte "Land (Fi)" war vor der Spalte einfügen die 10. Spalte und danach die 11.
Sollte dann hier nicht auch 11 stehen? Aber es funktioniert ja alles.

sCol = Chr(Range("1:10").Find(What:="Land (Fi)").Column + 64)
Bitte um eine einfache Erklärung zu meinem Verständnis.
Danke Daniel!
Anzeige
AW: VBA Formel ändern
14.03.2022 11:02:51
Albert
Hallo Daniel,
ich habe das Häckchen für "Frage noch offen" nicht gesetzt.
Sorry!
AW: na dann: Zu!
14.03.2022 14:28:16
JoWE
AW: na dann: Zu!
14.03.2022 20:59:20
Albert
Hallo Daniel und JoWE,
ich habe gemeint, das meine zwei Fragen noch nicht beantwortet ist.
Es würde mich freuen, wenn mir diese noch wer beantworten würde.
Danke!
FG
Bert
AW: na dann: Zu!
17.03.2022 19:15:09
Albert
Hallo Daniel,
es würde mich freuen, wenn du mir das noch kurz erklären würdest, damit ich dazulernen kann.
Bitte, Danke!
Zwei Verständnisfragen hätte ich noch dazu.
Frage 1:
Durch welche Funktion springt der Courser von Range("Änderungsdatum") = "BJ" nach dem Datum einfügen wieder
auf die Ausgangszelle zurück, obwohl es in der Formel dafür keinen Befehl gibt?

ActiveCell.Offset(0, 2).Select
With ActiveCell
Cells(ActiveCell.Row, Range("Änderungsdatum").Column).Value = CDate(Format(Now, "dd.mm.yyyy hh:mm"))
End With
Frage 2:
Zu später einmal eine Spalte einfügen was ich getestet habe.
Da danach alles funktioniert hat, ist mir nicht klar wofür "sCol = Chr(Range("1:10")" steht.
Die Spalte "Land (Fi)" war vor der Spalte einfügen die 10. Spalte und danach die 11.
Sollte dann hier nicht auch 11 stehen? Aber es funktioniert ja alles.

sCol = Chr(Range("1:10").Find(What:="Land (Fi)").Column + 64)

Anzeige

242 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige