online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon sebal vom 07.11.2019, 12:54 Options

Zellen auslesen2

hallo zusammen,

was muss ich an dem nachfolgenden makro ändern, damit es sich seine gewünschten informationen aus dem Tabellenblatt "Tabelle2" holt?
Dass diese werte dann im automatisch entstehenden tabellenblatt "auswertung" stehen ist ok, wo dann der minumum und maximum wert steht ist auch eher nebensächlich.


Makro:
sub zellen()

Dim iRow As Long
Dim jRow As Long
Dim strAktSheet As String
Dim iSheets As Integer
Application.ScreenUpdating = False
strAktSheet = ActiveSheet.Name

For iSheets = Worksheets.Count To 1 Step -1
If Sheets(iSheets).Name = "Auswertung" Then
Application.DisplayAlerts = False
Sheets(iSheets).Delete
Application.DisplayAlerts = False
Exit For
End If
Next
With Worksheets.Add
.Name = "Auswertung"
End With

For iRow = 1 To Sheets(strAktSheet).Range("B65536").End(xlUp).Row
If Sheets(strAktSheet).Cells(iRow, 2) = "%%RES2" Then GoTo Ende

If Sheets(strAktSheet).Cells(iRow, 2) = "%%RES1" Then
For jRow = iRow + 5 To Sheets(strAktSheet).Range("B65536").End(xlUp).Row
If Sheets(strAktSheet).Cells(jRow, 2) = "%*" Then
Sheets(strAktSheet).Range("B" & iRow + 5 & ":B" & jRow - 1).Copy
Sheets("Auswertung").Cells(Sheets("Auswertung").Range("A65536").End(xlUp).Offset(1, 0).Row, 1).PasteSpecial
Exit For
End If
Next jRow
End If
Next iRow
Ende:
Sheets(strAktSheet).Range("AE696") = Application.WorksheetFunction.Max(Sheets("Auswertung").Range("A2:A" & Sheets("Auswertung").Range("A65536").End(xlUp).Row))
Sheets(strAktSheet).Range("AE697") = Application.WorksheetFunction.Min(Sheets("Auswertung").Range("A2:A" & Sheets("Auswertung").Range("A65536").End(xlUp).Row))

End Sub

wäre schön wenn ich hilfe bekäme. oliver? vllt von dir?

gruß sebal


Antwort schreiben

Antwort 1 von coros vom 07.11.2019, 13:22 Options

Hallo sebal,

ändere in der Zeile

[b]strAktSheet = ActiveSheet.Name[/b]


den Namen "ActiveSheet.Name" gegen den Namen "Tabelle2". Das sollte dann folgendermaßen aussehen

[b]strAktSheet = "Tabelle2"[/b]


und sollte funktionieren.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von sebal vom 07.11.2019, 13:41 Options

hallo oliver,

danke, hat funktioniert!

noch etwas anderes:

bei meinem programm gibt es 6 tabellenblätter
Diagramm1
Diagramm2
Diagramm3
Auswertung
Tabelle1
Tabelle3

was muss ich machen damit das Tabellenblatt "Diagramm3" nach ablauf des programms auf dem bildschirm erscheint.

weist du das evtl?

gruß sebal

Antwort 3 von coros vom 07.11.2019, 13:47 Options

Hallo sebal

[b]Sheets("Diagramm3").Activate[/b]


sollte das Tabellenblatt mit dem Namen "Diagramm3" aktivieren und anzeigen.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von sebal vom 07.11.2019, 13:49 Options

hallo oliver,

ich hätte da noch eine frage:

das folgende ist ein kleiner auszug aus meinem programm, in der letzten zeile steht in den klammern der dateiname dessen datei welche mit dem programm geöffnet werden soll. ich möchte mit meinem programm allerdings verschiedene dteien öffnen und dazu nicht immer den dateinamen in die klammer schreiben, kann man das automatisieren?


Range("B1:K8700").Select
Application.CutCopyMode = False
Selection.Copy
Windows("TB-Temperaturen.xls").Activate
Sheets("Tabelle1").Activate
Range("B1").Select
ActiveSheet.Paste
Windows("E3116_case10_mule_01.MUF").Activate

danke, gruß sebal

Antwort 5 von sebal vom 07.11.2019, 13:51 Options

hallo,

und wo genau soll ich

sheets("Diagramm3").Activate

hinschreiben?

am ende des makros, am anfang, einfach irgendwo hin?

gruß sebal

Antwort 6 von Marie vom 07.11.2019, 13:55 Options

Zitat:
was muss ich machen damit das Tabellenblatt "Diagramm3" nach ablauf des programms auf dem bildschirm erscheint.


nach ablauf des programms Sheets("Diagramm3").Activate

hast doch selbst gesagt wo Du es hinhaben willst.

Gruß Marie

Antwort 7 von coros vom 07.11.2019, 13:55 Options

Hallo sebal,

[b]Sheets("Diagramm3").Activate[/b]


schreibst Du ganz am Ende eine Zeile vor dem Eintrag "End Sub".

Mit dem Befehl, den Du da ansprichst, wird kein Progamm geöffnet, sondern ein bereits geöffnetets Programm wieder in den Vordergrund geholt. Daher weiß ich nicht so richtig, was Du möchtest.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 8 von sebal vom 07.11.2019, 13:56 Options

hallo oliver,

das was ich erreichen wollte mit
Sheets("Diagramm3").Activate
hat nicht funktioniert

gibts danoch was anderes?
hast du meine frage auch verstanden?
ich möchte einfach nur dass nach dem ablauf des programms zuerst das Tabellenblatt "Diagramm3" angezeigt wird, und nicht z.B. Tabellenblatt "Tabelle3" (in dem nur lauter werte stehen)

gruß sebal

Antwort 9 von Marie vom 07.11.2019, 14:02 Options

Zitat:
dazu nicht immer den dateinamen in die klammer schreiben, kann man das automatisieren?


Wenn der Dateiname öfter vorkommt, dann schreib ihn als Variable rein

Dim strDatei as String

strDatei = "E3116_case10_mule_01.MUF"

und an der Stelle wo Du sie brauchscht schreibst Du dann:

Windows(strDatei).Activate


Gruß Marie

PS: Oder auch als Konstante definieren siehe Const-Anweisung in der VBA Hilfe

Antwort 10 von sebal vom 07.11.2019, 14:02 Options

hallo,

das hat nun fast funktioniert, d.h. es hat funktioniert, aber jetzt erscheint noch der Visual Basic Editor als erstes, bekommt man den weg so dass wriklich das diagramm als erstes zu sehen ist?

gruß sebal

Antwort 11 von sebal vom 07.11.2019, 14:05 Options

hallo marie,

danke, aber ich meine:

die datei heißt nicht immer E3116_case10_mule_01.MUF
sie kann ebenso "HUR7_123.MUF" heißen oder irdendwie anders. das sind zB 2 Datein die vüllig seperat von dem programm behandelt werden sollen

Antwort 12 von coros vom 07.11.2019, 14:10 Options

Hallo sebal,

auf eines kannst Du Dich verlassen. Wenn ich hier schreibe,

[b]Sheets("Diagramm3").Activate[/b]


aktiviert das Blatt mit dem Namen "Diagramm3", dann ist das auch so. Das hat nichts damit zu tun, dass ich Deine Frage nicht verstanden habe. Das hat auch nichts damit zu tun, dass ich von mir selber so überzeugt bin und mir keine Fehler unterlaufen, denn wenn ich hier etwas hinschriebe, habe ich das vorher auch getestet. Du hast wohl eher einen Fehler irgendwo eingebaut, wenn es nicht funktioniert.


MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 13 von sebal vom 07.11.2019, 14:17 Options

hallo,

sorry es funktioniert doch!

ich hätte noch eine frage:

wie erstelle ich einen button auf den ich klicken kann um dann eine datei auszuwählen auf die sich mein programm beziehen soll, dieser button sollte irgendwo im Tabellenblatt tabelle3 stehen und es soll folgendes drauf stehen:
"Bitte neue MUF-Rechnung einlesen"

wisst ihr da Rat? wie gesagt sorry oliver

gruß sebal

Antwort 14 von coros vom 07.11.2019, 14:38 Options

Hallo sebal,

folgendes Makro öffnet ein Dialogfeld zur Auswahl einer Datei. Der ausgewählte Dateiname wird Dir dann in einer MessageBox ausgegeben. Der Dateiname steht in der Variablen "strDateiname".

Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

[b]Option Explicit

Sub Dateiname()
Dim varDatei As Variant
Dim strDateiname As String
Dim iPostion As Integer
varDatei = Application.GetOpenFilename("alle Dateien, *.*")
If varDatei = False Then Exit Sub
iPostion = 0
Do While InStr(iPostion + 1, varDatei, "\", vbTextCompare) > iPostion
iPostion = InStr(iPostion + 1, varDatei, "\", vbTextCompare)
Loop
strDateiname = Mid(varDatei, iPostion + 1)
MsgBox strDateiname
End Sub[/b]



MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 15 von sebal vom 07.11.2019, 14:42 Options

hallo oliver,

bei deiner Antwort 14 muss ich passen, auf was genau bezieht sich dieses makro? auf meine antwort 4?

danke, gruß sebal

Antwort 16 von coros vom 07.11.2019, 14:45 Options

Hallo sebal,

auf AW13. Den Button dazu und die Buttonbeschriftung musst Du per Hand selber erstellen. Wie das geht, kannst Du auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 4 nachlesen. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 17 von sebal vom 07.11.2019, 14:48 Options

hallo oliver,

ok, da werd ich mal rein schauen, aber ich habe dein makro jetzt getestet und das einzige was passiert ist: ich kann eine datei öffnen und dann wird mir mit einer msg box angezeigt wie diese heist, das wollte ich nicht, aber trotzdem danke. ich wollte einen button oder schaltfläche der in einen meiner tabellenblätter erscheint und auf den ich klicken kann und anschließend eine datei auswählen

danke,
gruß sebal

Antwort 18 von sebal vom 07.11.2019, 14:52 Options

hallo oliver,

deine HP ist echt super, da steht genau das was ich wollte, danke, wie gesagt wenn ich damit probleme habe, meld ich mich, wiest du noch etwas zu antwort 4?

danke
gruß sebal

Antwort 19 von coros vom 07.11.2019, 14:53 Options

Hallo sebal,

was Du schreibst ist schlicht weg falsch. Mit dem Makro wird Dir keine Datei geöffnet. Es wird der Pfad und der Name der ausgewählten Datei in eine Variable (Variablenname: varDatei ) geschrieben. Durch die dahinter geschaltete Schleife wird der Dateiname vom Pfad getrennt und der Name wird in Variable "strDateiname " geschrieben. Das ist dann die Variable, die Du dann benötigst, da in der Variablen der Dateiname steht, den Du ja haben wolltest

Du solltest bevor Du hier immer so Schnellschüsse verteilst, Diuch mit den Makro ausgiebig beschäftigen. Denn ansonsten macht das keinen Spaß mehr.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 20 von coros vom 07.11.2019, 15:06 Options

Hallo,

meine ganzen Antworten nach AW 4 beziehen sich auf Deine AW4.

Wie bereits in AW7 geschrieben, Mit dem Befehl "Windows("E3116_case10_mule_01.MUF").Activate" wird kein Progamm geöffnet, sondern ein bereits geöffnetets Programm wieder in den Vordergrund geholt. Daher weiß ich nicht so richtig, was Du möchtest.

Den variablen Dateinamen erhälst Du ja mit dem Makro aus AW14.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Ähnliche Themen

Zellen formatieren ( Zellen verbinden )
manu661  16.02.2007 - 200 Hits - 3 Antworten

Zellen verbinden in Excel - nicht möglich
canis  06.07.2007 - 291 Hits - 2 Antworten

Zellen mit textinhalt zusammenfassen???
Anlud  30.08.2007 - 103 Hits - 7 Antworten

in excel zellen verbinden, ohne inhalte zu löschen
mafug  21.09.2007 - 272 Hits - 1 Antwort

Zellen nach gleichem Text überprüfen
Prain  04.10.2007 - 127 Hits - 9 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026