Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
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
Inhaltsverzeichnis

vba problem

vba problem
10.02.2024 17:34:58
Andreas Schmitt
hallo zusammen.

ich habe folgendes problem ich möchte diesen vba code der eiwandfrei funktioniert so umschreiben ,dass er in tabelle 3 einer excelmappe
in allen zellen die mit der maus markiert wurden die formel löscht und gegen deren ergebniss ersetzt, und davor eine msgbox mit ja nein cancel bringt. bitte um schnelle antwort.

MfG Andreas

Private Sub Workbook_Open()
If Tabelle7.Range("B2").Value > "" Then
Dim Antwort As Integer
Antwort = MsgBox("Möchtest du das Ergebnis der Formel speichern ?", vbYesNoCancel + vbQuestion + vbDefaultButton2, "Frage")

If Antwort = vbYes Then
GoTo 1:
Else
GoTo 2:
End If
1:
anfang: Dim rngBereich As Range, iCalc As Integer

'Bereich wo sich die Formeln befinden, hier Spalte 1
Set rngBereich = Columns(4)
On Error GoTo KeineFormeln:
'sind keine Formeln vorhanden, kommt es zum Fehler
Set rngBereich = rngBereich.SpecialCells(xlCellTypeFormulas)
On Error GoTo anfang:

With Application
iCalc = .Calculation
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual

' Formel wird durch festen Wert ersetzt,
' wenn diese als Ergebnis nicht leer liefert.
' Dies kann auch umgestellt oder erweitert werden
For Each rngBereich In rngBereich
If rngBereich > "" Then rngBereich.Value = rngBereich.Value
Next rngBereich

.Calculation = iCalc
.ScreenUpdating = True
.EnableEvents = True
End With

KeineFormeln:

End If


2:
End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wie oft willst Du das noch posten?
10.02.2024 17:39:33
JoWE
AW: vba problem
10.02.2024 18:36:21
Piet
Hallo Andreas

bitte nicht zu kompliziert denken, mit Goto hat mich anfangs etwas verwirrt. Wie gefällt dir dieser Code?
Ob du den in Workbook_Open packst, und noch die Zelle in Tabelle7 auswerten willst, musst du entscheiden.
Ich hoffe du kannst damit etwas anfangen. Würde mich freuen. Grüsse aus Izmir.

mfg Piet

Sub Test()

Dim Antwort As Integer, Zahl As Long
If ActiveSheet.Name = "Tabelle3" Then
On Error Resume Next
Set rngBereich = Selection.SpecialCells(xlCellTypeFormulas)
If Err = 0 Then
Antwort = MsgBox("Möchtest du das Ergebnis der Formeln als Werte speichern ?" & _
vbLf & "gewählter Bereich: " & rngBereich.Address(0, 0), vbYesNoCancel + vbQuestion + vbDefaultButton2, "Frage")
If Antwort > vbYes Then Exit Sub
rngBereich.Value = rngBereich.Value
Else
MsgBox "Es gibt keine Formeln in der Selection!", vbInformation
End If
End If
End Sub
Anzeige
AW: Laufzeitfehler in der Beispieldatei
10.02.2024 18:59:17
Piet
Hallo Andreas

ich habe die anderen Threads gelesen und die Beispieldatei heruntergeladen.
Da gibt es bei Workbook_Open einen Laufzeitfehler, weil die Zelle Tabelle7 B2 einen Fehlerwert aufweist.

mfg Piet
AW: vba problem
11.02.2024 14:07:56
Piet
Hallo Andreas

so wie ich sehe willst du offenbar an deinem kuriosen Code festhalten, obwohl es bessere Lösungen gibt.

Setze am Anfang des Code eine Variable s auf 3, für die 1. Columne, und erhöhe s=s+1 bei jeder MsgBox Abfrage.
Ersetze bei Set rngBereich = Columns(3) die Zahl 3 durch s, damit erhöhst du die Columne jeweils um 1.

mfg Piet
Anzeige
AW: Bin ich von einem anderen Stern? Überklug??
10.02.2024 18:44:58
Piet
Höfliche Frage an die Kollegen

Sorry, ich habe garnicht mitbekommen das der Thread mehrfach gepostet wurde.

Was mich etwas nervt ist, das bei solchen Anfragen, wo ein Code vorliegt, noch eine Beispieldatei angefordert wird.
Bin ich von einem anderen Stern, habe ich an der Kölner Volksschule beim schreiben und lesen besser aufgepasst???
Manche Dinge sind doch so einfach zu lösen, das man sie sich nur mal genau anschauen muss.

Sorry, das musste mal gesagt werden. Grüsse aus Izmir an die Heimat.

Piet.
AW: Bin ich von einem anderen Stern? Überklug??
11.02.2024 13:53:38
Oppawinni
Also ich hätte jetzt eher sowas vermutet, aber ich hab das ja jetzt nicht wirklich alles gelesen...
Die Abfrage ob ne Formel als Wert gespeichert werden soll, ohne dass man weiss worum es da geht erscheint mir schon suspekt, wie der ganze Code des TO



Dim wksThis As Worksheet
Dim rngToCheck As Range
Dim rngBereich As Range
Dim rngResult As Range
Dim rngCell As Range
Dim lngI As Long
Dim lngAntwort As Long
Dim iCalc As Integer
Dim blnCancel As Boolean
Dim lngFehler As Long

Set wksThis = ActiveSheet
Set rngToCheck = Tabelle7.Range("B2")

If rngToCheck = "" Then
Exit Sub
End If

With Application
iCalc = .Calculation
.EnableEvents = False
.Calculation = xlCalculationManual
End With

For lngI = 3 To wksThis.Columns.Count
Set rngBereich = wksThis.Columns(lngI)
lngFehler = 0
On Error Resume Next
Set rngResult = rngBereich.SpecialCells(xlCellTypeFormulas)
lngFehler = Err
On Error GoTo 0
If lngFehler = 0 Then
For Each rngCell In rngResult
If rngCell > "" Then
Application.Goto rngCell, True
lngAntwort = MsgBox("Möchtest du das Ergebnis der Formeln auf Übersicht Ausgaben und Diagramm speichern ?", _
vbYesNoCancel + vbQuestion + vbDefaultButton2, "Frage")
If lngAntwort = vbCancel Then
blnCancel = True
Exit For
End If
If lngAntwort = vbYes Then
rngCell = rngCell.Value
End If
End If
Next
If blnCancel Then Exit For
Else
Exit For
End If
Next

With Application
.Calculation = iCalc
.EnableEvents = True
End With
Anzeige
AW: Bin ich von einem anderen Stern? Überklug??
11.02.2024 15:40:47
Oppawinni
Nachdem ich dann doch noch die Beispieldatei
https://www.herber.de/forum/messages/1964606.html
gefunden habe, drängen sich mir noch mehr Fragen auf.
Sofern der TO hier nichts mehr beiträgt, halte ich es für sinnlos sich damit weiter zu beschäftigen.
@Piet: bitte nicht zu kompliziert denken
10.02.2024 20:56:48
Uduuh
Hallo,
du denkst auch zu kompliziert.
Wozu die Prüfung auf Formeln? Werte durch Werte zu ersetzen ist doch nicht schädlich.

Gruß aus'm Pott
Udo
AW: @Udo: Hast du Recht, noch einfacher ... oWt
10.02.2024 21:31:55
Piet
...
AW: wie oft willst Du das noch posten?
10.02.2024 17:50:49
Andreas Schmitt
brauche eine antwort. dringend !
Brauche eine Antwort . Dringend !
10.02.2024 17:53:11
Andreas Schmitt
Antwort erwünscht
AW: Brauche eine Antwort . Dringend !
10.02.2024 18:26:04
JoWE
Andreas,
Du hattest eine doch eine Antwort von Oberschlumpf der Dir offensichtlich gern geholfen hätte. Auf Dessen Bitte um eine Beispiel-Arbeitsmappe willst oder kannst Du nicht reagieren. Onurs Beitrag ging in die gleiche Richtung und blieb leider auch ohne die angefragte Reaktion. Ja, einsilbige und eher genervt wirkende Antworten sind hier natürlich eher nicht förderlich.
So wird das also nichts.
Solltest Du eigentlich inzwischen gemerkt haben.
Und siehe da:
Es hilft es auch nicht die Frage mehrfach zu posten und auch noch mit einem "Dringend mit Ausrufungszeichen" zu versehen.
Bleib jetzt also bitte in diesem Posting, stelle die Frage mit einer Beispielmappe erneut und bitte etwas freundlicher um Unterstützung.

Gruß
Jochen

sorry für den langen Text,
es war mir einfach ein Bedürfnis.
Anzeige
AW: Brauche eine Antwort . Dringend !
11.02.2024 11:38:09
Oppawinni
Ich wäre mir nicht sicher, dass eine Beispieldatei allein da weiter bringt.
Eine genaue Beschreibung dessen, was der Code tun soll, fände ich mindestens so wichtig.
Das würde dann vielleicht auch dazu führen, dass der TO sich über die notwendige Programmstruktur klar wird.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige